Skip to content

Commit 7389f34

Browse files
committed
add compat to hodgepodge
turns out we just cannot call render block here since our blocks are not 1x1x1 and I definitely don't want to do one draw call for every hint particle
1 parent 5b6b51f commit 7389f34

3 files changed

Lines changed: 25 additions & 0 deletions

File tree

src/main/java/com/gtnewhorizon/structurelib/ClientProxy.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,11 @@ public void preInit(FMLPreInitializationEvent e) {
226226
MinecraftForge.EVENT_BUS.register(new ForgeEventHandler());
227227
}
228228

229+
static void markTextureUsed(IIcon icon) {
230+
if (StructureLib.COMPAT instanceof IStructureCompat)
231+
((IStructureCompat) StructureLib.COMPAT).markTextureUsed(icon);
232+
}
233+
229234
private static class HintGroup {
230235
private final List<HintParticleInfo> hints = new LinkedList<>();
231236
private int creationTime = -1;
@@ -310,6 +315,8 @@ public void draw(Tessellator tes) {
310315
for (int i = 0; i < 6; i++) {
311316
if (icons[i] == null) continue;
312317

318+
markTextureUsed(icons[i]);
319+
313320
double u = icons[i].getMinU();
314321
double U = icons[i].getMaxU();
315322
double v = icons[i].getMinV();
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.gtnewhorizon.structurelib;
2+
3+
import net.minecraft.util.IIcon;
4+
5+
public interface IStructureCompat {
6+
void markTextureUsed(IIcon o);
7+
}

src/main/java/com/gtnewhorizon/structurelib/StructureLib.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.gtnewhorizon.structurelib.net.SetChannelDataMessage;
1111
import com.gtnewhorizon.structurelib.net.UpdateHintParticleMessage;
1212
import com.gtnewhorizon.structurelib.util.XSTR;
13+
import cpw.mods.fml.common.Loader;
1314
import cpw.mods.fml.common.Mod;
1415
import cpw.mods.fml.common.SidedProxy;
1516
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@@ -38,6 +39,7 @@
3839
acceptableRemoteVersions = "*",
3940
guiFactory = "com.gtnewhorizon.structurelib.GuiFactory")
4041
public class StructureLib {
42+
private static final String STRUCTURECOMPAT_MODID = "structurecompat";
4143
public static boolean DEBUG_MODE;
4244
public static boolean PANIC_MODE = Boolean.getBoolean("structurelib.panic");
4345
public static Logger LOGGER = LogManager.getLogger("StructureLib");
@@ -71,6 +73,8 @@ public class StructureLib {
7173
@Mod.Instance
7274
static StructureLib INSTANCE;
7375

76+
static Object COMPAT;
77+
7478
static Block blockHint;
7579
static Item itemBlockHint;
7680
static Item itemFrontRotationTool;
@@ -95,6 +99,13 @@ public void preInit(FMLPreInitializationEvent e) {
9599
itemConstructableTrigger.getUnlocalizedName());
96100
proxy.preInit(e);
97101
NetworkRegistry.INSTANCE.registerGuiHandler(instance(), new GuiHandler());
102+
103+
if (Loader.isModLoaded(STRUCTURECOMPAT_MODID)) {
104+
COMPAT = Loader.instance()
105+
.getIndexedModList()
106+
.get(STRUCTURECOMPAT_MODID)
107+
.getMod();
108+
}
98109
}
99110

100111
@Mod.EventHandler

0 commit comments

Comments
 (0)