From cc241aab6775a0ff25405fbd445e83a008dc6cd4 Mon Sep 17 00:00:00 2001 From: Sunstrike Date: Sun, 1 Dec 2013 13:49:48 +0000 Subject: [PATCH] Abort cloak render with Optifine. --- src/main/java/tconstruct/client/event/EventCloakRender.java | 3 ++- src/main/java/tconstruct/util/EnvironmentChecks.java | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/tconstruct/client/event/EventCloakRender.java b/src/main/java/tconstruct/client/event/EventCloakRender.java index fe5bce2c..831fd0e9 100644 --- a/src/main/java/tconstruct/client/event/EventCloakRender.java +++ b/src/main/java/tconstruct/client/event/EventCloakRender.java @@ -10,6 +10,7 @@ import javax.swing.ImageIcon; import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraftforge.client.event.RenderPlayerEvent; import net.minecraftforge.event.ForgeSubscribe; +import tconstruct.util.EnvironmentChecks; public class EventCloakRender { @@ -32,7 +33,7 @@ public class EventCloakRender @ForgeSubscribe public void onPreRenderSpecials (RenderPlayerEvent.Specials.Pre event) { - if (Loader.isModLoaded("shadersmod")) + if (Loader.isModLoaded("shadersmod") || EnvironmentChecks.hasOptifine) { return; } diff --git a/src/main/java/tconstruct/util/EnvironmentChecks.java b/src/main/java/tconstruct/util/EnvironmentChecks.java index bce32f86..8d328430 100644 --- a/src/main/java/tconstruct/util/EnvironmentChecks.java +++ b/src/main/java/tconstruct/util/EnvironmentChecks.java @@ -13,6 +13,9 @@ import java.util.List; public class EnvironmentChecks { + // Used for aborting cloak renders with Optifine present (it misbehaves) + public static boolean hasOptifine = false; + private EnvironmentChecks() { } // Singleton @@ -33,8 +36,9 @@ public class EnvironmentChecks if (FMLCommonHandler.instance().getSide() == Side.CLIENT && FMLClientHandler.instance().hasOptifine() || Loader.isModLoaded("optifine")) { - TConstruct.logger.severe("[Environment Checks] Optifine detected. This is a Bad Thing(tm) and can crash Minecraft due to an Optifine bug during TCon armor renders!"); + TConstruct.logger.severe("[Environment Checks] Optifine detected. This is a Bad Thing(tm) and can crash Minecraft due to an Optifine bug during TCon armor renders! Capes also disabled."); modIds.add("optifine"); + hasOptifine = true; } try