From de0b4781603cb2b43d32e8f814c10d587233fad8 Mon Sep 17 00:00:00 2001 From: tterrag1098 Date: Sat, 10 Jan 2015 17:21:16 -0500 Subject: [PATCH] Move all block registration to preinit to prevent creative tab issues --- .../java/com/cricketcraft/chisel/Chisel.java | 2 +- .../cricketcraft/chisel/init/ChiselTabs.java | 11 +++++---- .../cricketcraft/chisel/init/Features.java | 23 ++++++------------- 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/Chisel.java b/src/main/java/com/cricketcraft/chisel/Chisel.java index 1150f741..46f6ea07 100644 --- a/src/main/java/com/cricketcraft/chisel/Chisel.java +++ b/src/main/java/com/cricketcraft/chisel/Chisel.java @@ -54,7 +54,7 @@ import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = Chisel.VERSION, guiFactory = "com.cricketcraft.chisel.client.gui.GuiFactory", dependencies = "after:ForgeMultipart;after:Thaumcraft") +@Mod(modid = Chisel.MOD_ID, name = Chisel.MOD_NAME, version = Chisel.VERSION, guiFactory = "com.cricketcraft.chisel.client.gui.GuiFactory", dependencies = "after:ForgeMultipart;after:Thaumcraft;after:appliedenergistics2;after:Railcraft") public class Chisel { public static final List modsSupported = new ArrayList(); diff --git a/src/main/java/com/cricketcraft/chisel/init/ChiselTabs.java b/src/main/java/com/cricketcraft/chisel/init/ChiselTabs.java index bfebf89d..26089813 100644 --- a/src/main/java/com/cricketcraft/chisel/init/ChiselTabs.java +++ b/src/main/java/com/cricketcraft/chisel/init/ChiselTabs.java @@ -52,12 +52,13 @@ public class ChiselTabs { tabOtherChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.jackolantern[0])); if (atLeastOneModIsLoaded) { - //This seems to be crashing due to Arcane blocks still being null when the tab is added - //if (Features.ARCANE.enabled()) { - // tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.arcane, 1, 1)); - //} else { + if (Features.ARCANE.enabled()) { + tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.arcane)); + } else if (Features.BLOOD_RUNE.enabled()) { + tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.bloodRune)); + } else { tabModdedChiselBlocks.setTabIconItemStack(new ItemStack(ChiselBlocks.voidstone)); - //} + } } } } diff --git a/src/main/java/com/cricketcraft/chisel/init/Features.java b/src/main/java/com/cricketcraft/chisel/init/Features.java index a834608e..d52f7e8e 100644 --- a/src/main/java/com/cricketcraft/chisel/init/Features.java +++ b/src/main/java/com/cricketcraft/chisel/init/Features.java @@ -2331,26 +2331,21 @@ public enum Features { ; public static void init() { - loadBlocks(true); - loadItems(true); loadRecipes(); } - private static void loadBlocks(boolean init) { + private static void loadBlocks() { for (Features f : values()) { - if (f.enabled() && f.shouldLoad(init)) { + if (f.enabled()) { f.addBlocks(); } } - - if (!init) { - Chisel.proxy.registerTileEntities(); - } + Chisel.proxy.registerTileEntities(); } - private static void loadItems(boolean init) { + private static void loadItems() { for (Features f : values()) { - if (f.enabled() && f.shouldLoad(init)) { + if (f.enabled()) { f.addItems(); } } @@ -2373,8 +2368,8 @@ public enum Features { } public static void preInit() { - loadBlocks(false); - loadItems(false); + loadBlocks(); + loadItems(); } private Features parent; @@ -2424,10 +2419,6 @@ public enum Features { return requiredMod; } - private boolean shouldLoad(boolean init) { - return requiredMod == null ? !init : init && Loader.isModLoaded(requiredMod); - } - public static boolean oneModdedFeatureLoaded() { for (Features f : values()) { if (f.getRequiredMod() != null && Loader.isModLoaded(f.getRequiredMod())) {