aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
committerAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
commit7881c840421c191e8c4249fc303e184fa1cbf9a8 (patch)
tree0e1f8d8d19ca14e14dfb16c1ed49750935612dfa /src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java
parentde40c882cb16535deae1c29b22f1a535747db536 (diff)
parent5316a0ffcbc403e17a06d4c9e28d57e202f0aafe (diff)
downloadGT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.gz
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.bz2
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.zip
Merged in MultiFixes (pull request #11)
MultiFixes
Diffstat (limited to 'src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java')
-rw-r--r--src/Java/gtPlusPlus/core/handler/StopAnnoyingFuckingAchievements.java30
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);
}
}
}