diff options
author | Alkalus <Draknyte1@hotmail.com> | 2020-06-02 14:33:02 +0100 |
---|---|---|
committer | Alkalus <Draknyte1@hotmail.com> | 2020-06-02 14:33:02 +0100 |
commit | d1a813e829fa4393aeb625ce83c64f079e44cdb0 (patch) | |
tree | c4f54e44597a47f69722a361879ab26c534fd6d6 /src/Java/gtPlusPlus/core/handler | |
parent | 96a83ee47f994c922aba625b67645661bc8cb4fe (diff) | |
download | GT5-Unofficial-d1a813e829fa4393aeb625ce83c64f079e44cdb0.tar.gz GT5-Unofficial-d1a813e829fa4393aeb625ce83c64f079e44cdb0.tar.bz2 GT5-Unofficial-d1a813e829fa4393aeb625ce83c64f079e44cdb0.zip |
$ Fixed VFC fluid handling.
Diffstat (limited to 'src/Java/gtPlusPlus/core/handler')
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java b/src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java index 8853acd4b7..b3b720497e 100644 --- a/src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java +++ b/src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java @@ -1,8 +1,13 @@ package gtPlusPlus.core.handler; +import java.lang.reflect.Field; + import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import net.minecraft.client.Minecraft; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.reflect.ReflectionUtils; import net.minecraft.stats.AchievementList; import net.minecraftforge.event.entity.player.AchievementEvent; @@ -14,11 +19,28 @@ public class StopAnnoyingFuckingAchievements { */ @SubscribeEvent(priority=EventPriority.HIGHEST) public void FUCK_OFF(AchievementEvent event) { + if (Utils.isClient()) { + doClientStuff(); + } if (event.achievement.equals(AchievementList.openInventory)) { event.setCanceled(true); - if (Minecraft.getMinecraft() != null) { - if (Minecraft.getMinecraft().gameSettings != null) { - Minecraft.getMinecraft().gameSettings.showInventoryAchievementHint = false; + } + } + + @SideOnly(Side.CLIENT) + private final void doClientStuff() { + Class aMC = ReflectionUtils.getClass("net.minecraft.client.Minecraft"); + if (aMC != null) { + Field aInstanceMC = ReflectionUtils.getField(aMC, "theMinecraft"); + Object aMcObj = ReflectionUtils.getFieldValue(null, aInstanceMC); + Class aClazz2 = aMcObj.getClass(); + if (aClazz2 != null) { + Field aGameSettings = ReflectionUtils.getField(aClazz2, "gameSettings"); + Object aGameSettingsObj = ReflectionUtils.getFieldValue(aInstanceMC, aGameSettings); + Class aClazz3 = aGameSettingsObj.getClass(); + if (aClazz2 != null) { + Field ainvHint = ReflectionUtils.getField(aClazz3, "showInventoryAchievementHint"); + ReflectionUtils.setField(aGameSettingsObj, ainvHint, false); } } } |