diff --git a/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java b/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java index 89b84733..cbcb9ebb 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java +++ b/src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java @@ -226,6 +226,11 @@ public class ClientProxy extends CommonProxy { MinecraftForge.EVENT_BUS.register(new ForgeEventHandler()); } + static void markTextureUsed(IIcon icon) { + if (StructureLib.COMPAT instanceof IStructureCompat) + ((IStructureCompat) StructureLib.COMPAT).markTextureUsed(icon); + } + private static class HintGroup { private final List hints = new LinkedList<>(); private int creationTime = -1; @@ -310,6 +315,8 @@ public class ClientProxy extends CommonProxy { for (int i = 0; i < 6; i++) { if (icons[i] == null) continue; + markTextureUsed(icons[i]); + double u = icons[i].getMinU(); double U = icons[i].getMaxU(); double v = icons[i].getMinV(); diff --git a/src/main/java/com/gtnewhorizon/structurelib/IStructureCompat.java b/src/main/java/com/gtnewhorizon/structurelib/IStructureCompat.java new file mode 100644 index 00000000..1ec15bbb --- /dev/null +++ b/src/main/java/com/gtnewhorizon/structurelib/IStructureCompat.java @@ -0,0 +1,7 @@ +package com.gtnewhorizon.structurelib; + +import net.minecraft.util.IIcon; + +public interface IStructureCompat { + void markTextureUsed(IIcon o); +} diff --git a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java index b28bcb56..a0b0100e 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java +++ b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java @@ -10,6 +10,7 @@ import com.gtnewhorizon.structurelib.net.ErrorHintParticleMessage; import com.gtnewhorizon.structurelib.net.SetChannelDataMessage; import com.gtnewhorizon.structurelib.net.UpdateHintParticleMessage; import com.gtnewhorizon.structurelib.util.XSTR; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @@ -38,6 +39,7 @@ import org.apache.logging.log4j.Logger; acceptableRemoteVersions = "*", guiFactory = "com.gtnewhorizon.structurelib.GuiFactory") public class StructureLib { + private static final String STRUCTURECOMPAT_MODID = "structurecompat"; public static boolean DEBUG_MODE; public static boolean PANIC_MODE = Boolean.getBoolean("structurelib.panic"); public static Logger LOGGER = LogManager.getLogger("StructureLib"); @@ -71,6 +73,8 @@ public class StructureLib { @Mod.Instance static StructureLib INSTANCE; + static Object COMPAT; + static Block blockHint; static Item itemBlockHint; static Item itemFrontRotationTool; @@ -95,6 +99,13 @@ public class StructureLib { itemConstructableTrigger.getUnlocalizedName()); proxy.preInit(e); NetworkRegistry.INSTANCE.registerGuiHandler(instance(), new GuiHandler()); + + if (Loader.isModLoaded(STRUCTURECOMPAT_MODID)) { + COMPAT = Loader.instance() + .getIndexedModList() + .get(STRUCTURECOMPAT_MODID) + .getMod(); + } } @Mod.EventHandler