diff options
| author | Cow <cow@volloeko.de> | 2020-09-24 18:50:48 +0200 |
|---|---|---|
| committer | Cow <cow@volloeko.de> | 2020-09-24 18:50:48 +0200 |
| commit | 574247ab30050f2b3cf6b32c7057b4106996bc12 (patch) | |
| tree | ff04b5c90e3c97e4c60558493b5ab38eff7e75b9 /src/main/java/de/cowtipper/cowlection/search | |
| parent | f6d584431f878b931bf9f745a02b43dd8035cb44 (diff) | |
| download | Cowlection-574247ab30050f2b3cf6b32c7057b4106996bc12.tar.gz Cowlection-574247ab30050f2b3cf6b32c7057b4106996bc12.tar.bz2 Cowlection-574247ab30050f2b3cf6b32c7057b4106996bc12.zip | |
Fix crash caused by another, outdated and buggy mod which sadly too many people still use
- Switch to using reflections instead the vanilla's GuiContainer#getSlotUnderMouse method because a still frequently used but outdated version of another mod somehow deletes that method
- also switched to Forge's ReflectionHelper
Diffstat (limited to 'src/main/java/de/cowtipper/cowlection/search')
| -rw-r--r-- | src/main/java/de/cowtipper/cowlection/search/GuiSearch.java | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/main/java/de/cowtipper/cowlection/search/GuiSearch.java b/src/main/java/de/cowtipper/cowlection/search/GuiSearch.java index f9b68a1..1dc48c3 100644 --- a/src/main/java/de/cowtipper/cowlection/search/GuiSearch.java +++ b/src/main/java/de/cowtipper/cowlection/search/GuiSearch.java @@ -21,9 +21,9 @@ import net.minecraftforge.fml.client.config.GuiButtonExt; import net.minecraftforge.fml.client.config.GuiCheckBox; import net.minecraftforge.fml.client.config.GuiConfig; import net.minecraftforge.fml.client.config.IConfigElement; +import net.minecraftforge.fml.relauncher.ReflectionHelper; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; -import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.commons.lang3.tuple.ImmutableTriple; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; @@ -33,7 +33,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; -import java.lang.reflect.Field; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.time.LocalDate; @@ -471,14 +470,9 @@ public class GuiSearch extends GuiScreen { } private float getScrollDistance() { - Field scrollDistanceField = FieldUtils.getField(GuiScrollingList.class, "scrollDistance", true); - if (scrollDistanceField == null) { - // scrollDistance field not found in class GuiScrollingList - return Float.MIN_VALUE; - } try { - return (float) scrollDistanceField.get(this); - } catch (IllegalAccessException e) { + return ReflectionHelper.getPrivateValue(GuiScrollingList.class, this, "scrollDistance"); + } catch (ReflectionHelper.UnableToAccessFieldException e) { e.printStackTrace(); return Float.MIN_VALUE; } |
