diff options
author | Jason Mitchell <mitchej@gmail.com> | 2024-08-11 12:51:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-11 15:51:41 -0400 |
commit | 5cd813a5405777a6c92b1af03f7439a97e9523f8 (patch) | |
tree | 0d81c74463e8401e893862758a411f5d90e45788 /src | |
parent | 7e153794ad1f79afa0014b82593060ffedc54a61 (diff) | |
download | GT5-Unofficial-5cd813a5405777a6c92b1af03f7439a97e9523f8.tar.gz GT5-Unofficial-5cd813a5405777a6c92b1af03f7439a97e9523f8.tar.bz2 GT5-Unofficial-5cd813a5405777a6c92b1af03f7439a97e9523f8.zip |
Faster dev boot times (120s --> 80s while profiling) (#2866)
* Faster dev boot times (120s --> 80s while profiling)
* Clean up sloppy hard deps and properly gate them behind isModLoaded() checks.
* Include CoreTweaks as runtime only non publishable for faster boot as well
Diffstat (limited to 'src')
25 files changed, 275 insertions, 227 deletions
diff --git a/src/main/java/bloodasp/galacticgreg/GalacticGreg.java b/src/main/java/bloodasp/galacticgreg/GalacticGreg.java index d48a65c79d..7afda35483 100644 --- a/src/main/java/bloodasp/galacticgreg/GalacticGreg.java +++ b/src/main/java/bloodasp/galacticgreg/GalacticGreg.java @@ -28,7 +28,7 @@ import gregtech.api.world.GT_Worldgen; modid = GalacticGreg.MODID, name = GalacticGreg.MODNAME, version = GalacticGreg.VERSION, - dependencies = "required-after:GalacticraftCore; required-after:gregtech@5.09.32.30;", + dependencies = "after:GalacticraftCore; required-after:gregtech@5.09.32.30;", acceptableRemoteVersions = "*") public class GalacticGreg { diff --git a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java index 3889a8ffad..19c258d429 100644 --- a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java +++ b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java @@ -3666,13 +3666,9 @@ public class RecipeLoader { if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - if ((OreDictionary.getOreName(oreDictID) - .startsWith("ore") - || OreDictionary.getOreName(oreDictID) - .startsWith("rawOre") - || OreDictionary.getOreName(oreDictID) - .startsWith("crushed"))) { - GT_Log.out.print(OreDictionary.getOreName(oreDictID)); + final String oreName = OreDictionary.getOreName(oreDictID); + if ((oreName.startsWith("ore") || oreName.startsWith("rawOre") || oreName.startsWith("crushed"))) { + GT_Log.out.print(oreName); GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { @@ -3814,17 +3810,15 @@ public class RecipeLoader { if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - if (OreDictionary.getOreName(oreDictID) - .startsWith("dust") - && (!OreDictionary.getOreName(oreDictID) - .contains( - "Dephosphated")) /* - * OreDictionary.getOreName(oreDictID).startsWith("dustPureCerium") - * || OreDictionary.getOreName(oreDictID).startsWith( - * "dustImpureCerium") || - * OreDictionary.getOreName(oreDictID).startsWith("dustSpace") || - * OreDictionary.getOreName(oreDictID).startsWith("dustCerium") - */) { + final String oreName = OreDictionary.getOreName(oreDictID); + if (oreName.startsWith("dust") + && (!oreName.contains("Dephosphated")) /* + * oreName.startsWith("dustPureCerium") + * || oreName.startsWith( + * "dustImpureCerium") || + * oreName.startsWith("dustSpace") || + * oreName.startsWith("dustCerium") + */) { GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { @@ -3899,10 +3893,8 @@ public class RecipeLoader { if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - if (OreDictionary.getOreName(oreDictID) - .startsWith("dust") - && (!OreDictionary.getOreName(oreDictID) - .contains("Dephosphated"))) { + final String oreName = OreDictionary.getOreName(oreDictID); + if (oreName.startsWith("dust") && (!oreName.contains("Dephosphated"))) { GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { @@ -3967,8 +3959,8 @@ public class RecipeLoader { if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - if (OreDictionary.getOreName(oreDictID) - .startsWith("crushed") /* && OreDictionary.getOreName(oreDictID).contains("Cerium") */) { + final String oreName = OreDictionary.getOreName(oreDictID); + if (oreName.startsWith("crushed") /* && oreName.contains("Cerium") */) { GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { @@ -4014,13 +4006,14 @@ public class RecipeLoader { GT_Log.out.print(input.getDisplayName() + "\n"); int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - String oreName = OreDictionary.getOreName(oreDictID); - if (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe") - || oreName.equals("dustZirconolite") - || oreName.equals("dustYttrocerite") - || oreName.equals("dustXenotime") - || oreName.equals("dustBastnasite") - || oreName.equals("dustFlorencite")) { + final String oreName = OreDictionary.getOreName(oreDictID); + if (oreName.startsWith("dust") + && (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe") + || oreName.equals("dustZirconolite") + || oreName.equals("dustYttrocerite") + || oreName.equals("dustXenotime") + || oreName.equals("dustBastnasite") + || oreName.equals("dustFlorencite"))) { GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { @@ -4068,13 +4061,14 @@ public class RecipeLoader { GT_Log.out.print(input.getDisplayName() + "\n"); int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - String oreName = OreDictionary.getOreName(oreDictID); - if (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe") - || oreName.equals("dustZirconolite") - || oreName.equals("dustYttrocerite") - || oreName.equals("dustXenotime") - || oreName.equals("dustBastnasite") - || oreName.equals("dustFlorencite")) { + final String oreName = OreDictionary.getOreName(oreDictID); + if (oreName.startsWith("dust") + && (oreName.equals("dustHibonite") || oreName.equals("dustLanthaniteCe") + || oreName.equals("dustZirconolite") + || oreName.equals("dustYttrocerite") + || oreName.equals("dustXenotime") + || oreName.equals("dustBastnasite") + || oreName.equals("dustFlorencite"))) { GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { @@ -4121,14 +4115,10 @@ public class RecipeLoader { if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - if (OreDictionary.getOreName(oreDictID) - .startsWith("dustImpureCerium") - || OreDictionary.getOreName(oreDictID) - .startsWith("dustImpureSamarium") - || OreDictionary.getOreName(oreDictID) - .startsWith("dustPureSamarium") - || OreDictionary.getOreName(oreDictID) - .startsWith("dustPureCerium")) { + final String oreName = OreDictionary.getOreName(oreDictID); + if (oreName.startsWith("dustImpureCerium") || oreName.startsWith("dustImpureSamarium") + || oreName.startsWith("dustPureSamarium") + || oreName.startsWith("dustPureCerium")) { GT_Recipe tRecipe = recipe.copy(); for (int i = 0; i < tRecipe.mOutputs.length; i++) { if (!GT_Utility.isStackValid(tRecipe.mOutputs[i])) continue; @@ -4174,13 +4164,14 @@ public class RecipeLoader { if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); for (int oreDictID : oreDict) { - String oreName = OreDictionary.getOreName(oreDictID); - if (oreName.equals("dustCerite") || oreName.equals("dustFluorcaphite") - || oreName.equals("dustZirkelite") - || oreName.equals("dustGadoliniteCe") - || oreName.equals("dustGadoliniteY") - || oreName.equals("dustPolycrase") - || oreName.equals("dustBastnasite")) { + final String oreName = OreDictionary.getOreName(oreDictID); + if (oreName.startsWith("dust") + && (oreName.equals("dustCerite") || oreName.equals("dustFluorcaphite") + || oreName.equals("dustZirkelite") + || oreName.equals("dustGadoliniteCe") + || oreName.equals("dustGadoliniteY") + || oreName.equals("dustPolycrase") + || oreName.equals("dustBastnasite"))) { GT_Recipe tRecipe = recipe.copy(); for (int i = 0; i < tRecipe.mOutputs.length; i++) { if (!GT_Utility.isStackValid(tRecipe.mOutputs[i])) continue; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java index bf57b641e4..841066a893 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java @@ -71,6 +71,7 @@ import fox.spiteful.avaritia.blocks.LudicrousBlocks; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; +import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; import ic2.api.item.IKineticRotor; @@ -274,9 +275,11 @@ public class ItemRegistry { bitmask = GregTech_API.sMachineIDs.getOrDefault(GregTech_API.sBlockMetal9, 0) | 1 << 3 | 1 << 4 | 1 << 8; GregTech_API.registerMachineBlock(GregTech_API.sBlockMetal9, bitmask); - // Also infinity - bitmask = GregTech_API.sMachineIDs.getOrDefault(LudicrousBlocks.resource_block, 0) | 1 << 1; - GregTech_API.registerMachineBlock(LudicrousBlocks.resource_block, bitmask); + if (Mods.Avaritia.isModLoaded()) { + // Also infinity + bitmask = GregTech_API.sMachineIDs.getOrDefault(LudicrousBlocks.resource_block, 0) | 1 << 1; + GregTech_API.registerMachineBlock(LudicrousBlocks.resource_block, bitmask); + } ItemRegistry.THTR = new GT_TileEntity_THTR( ConfigHandler.IDOffset + GT_Values.VN.length * 8 + 5, diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java index fd88673208..14b6b5e172 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java @@ -74,6 +74,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import fox.spiteful.avaritia.blocks.LudicrousBlocks; import gregtech.api.GregTech_API; +import gregtech.api.enums.Mods; import gregtech.api.enums.SoundResource; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -206,7 +207,9 @@ public class GT_TileEntity_ElectricImplosionCompressor { this.add(Pair.of(GregTech_API.sBlockMetal5, 2)); - this.add(Pair.of(LudicrousBlocks.resource_block, 1)); + if (Mods.Avaritia.isModLoaded()) { + this.add(Pair.of(LudicrousBlocks.resource_block, 1)); + } this.add(Pair.of(GregTech_API.sBlockMetal9, 4)); this.add(Pair.of(GregTech_API.sBlockMetal9, 3)); this.add(Pair.of(GregTech_API.sBlockMetal9, 8)); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java index 50a38869b8..d7937dbfcb 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java @@ -49,6 +49,7 @@ import cpw.mods.fml.common.Loader; import gregtech.api.GregTech_API; import gregtech.api.enums.FluidState; import gregtech.api.enums.Materials; +import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; import gregtech.api.enums.TC_Aspects; @@ -733,10 +734,12 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer { Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rawOre, 0b1000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell, 0b10000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsule, 0b10000); + if (Mods.Forestry.isModLoaded()) { + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsule, 0b10000); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsuleMolten, 0b1000000); + } // Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.bottle,0b10000); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.capsuleMolten, 0b1000000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cellMolten, 0b1000000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate, 0b10000000); diff --git a/src/main/java/common/Blocks.java b/src/main/java/common/Blocks.java index 4003e8e9e4..ffab6a0716 100644 --- a/src/main/java/common/Blocks.java +++ b/src/main/java/common/Blocks.java @@ -10,6 +10,7 @@ import common.blocks.Block_TFFTStorageField; import common.blocks.Block_ThaumiumReinforcedJar; import common.blocks.Block_YSZUnit; +import gregtech.api.enums.Mods; import kekztech.KekzCore; public class Blocks { @@ -28,7 +29,9 @@ public class Blocks { registerBlocks_SOFC(); registerBlocks_TFFT(); - registerBlocks_Jars(); + if (Mods.Thaumcraft.isModLoaded()) { + registerBlocks_Jars(); + } registerBlocks_LSC(); registerBlocks_Cosmetics(); diff --git a/src/main/java/common/CommonProxy.java b/src/main/java/common/CommonProxy.java index 777a8af268..0687f109be 100644 --- a/src/main/java/common/CommonProxy.java +++ b/src/main/java/common/CommonProxy.java @@ -7,6 +7,7 @@ import common.tileentities.GTMTE_TFFTHatch; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import gregtech.api.enums.Mods; import kekztech.Items; public class CommonProxy { @@ -22,8 +23,10 @@ public class CommonProxy { Blocks.preInit(); // TileEntities TileEntities.preInit(); - // TC Research - Researches.preInit(); + if (Mods.Thaumcraft.isModLoaded() && Mods.ThaumicTinkerer.isModLoaded()) { + // TC Research + Researches.preInit(); + } } public void init(final FMLInitializationEvent e) { @@ -34,8 +37,10 @@ public class CommonProxy { public void postInit(final FMLPostInitializationEvent e) { // Recipes Recipes.postInit(); - // Research - Researches.postInit(); + if (Mods.Thaumcraft.isModLoaded() && Mods.ThaumicTinkerer.isModLoaded()) { + // Research + Researches.postInit(); + } GTMTE_TFFTHatch.registerAEIntegration(); } diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java index 2560e8dc37..ba8876ff2e 100644 --- a/src/main/java/common/Recipes.java +++ b/src/main/java/common/Recipes.java @@ -18,6 +18,7 @@ import common.recipeLoaders.Unpackager; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.enums.Materials; +import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -45,7 +46,9 @@ public class Recipes { new ResearchableAssemblyLine().run(); new Unpackager().run(); - registerRecipes_Jars(); + if (Mods.Thaumcraft.isModLoaded()) { + registerRecipes_Jars(); + } KekzCore.LOGGER.info("Finished registering recipes"); } diff --git a/src/main/java/common/TileEntities.java b/src/main/java/common/TileEntities.java index 3a7026d429..8d1b288c7c 100644 --- a/src/main/java/common/TileEntities.java +++ b/src/main/java/common/TileEntities.java @@ -12,6 +12,7 @@ import common.tileentities.TE_ThaumiumReinforcedVoidJar; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.enums.MetaTileEntityIDs; +import gregtech.api.enums.Mods; public class TileEntities { @@ -25,10 +26,12 @@ public class TileEntities { public static GTMTE_TFFTHatch tfftHatch; public static void preInit() { - GameRegistry.registerTileEntity(TE_ThaumiumReinforcedJar.class, "kekztech_thaumiumreinforcedjar"); - GameRegistry.registerTileEntity(TE_ThaumiumReinforcedVoidJar.class, "kekztech_thaumiumreinforcedvoidjar"); - GameRegistry.registerTileEntity(TE_IchorJar.class, "kekztech_ichorjar"); - GameRegistry.registerTileEntity(TE_IchorVoidJar.class, "kekztech_ichorvoidjar"); + if (Mods.Thaumcraft.isModLoaded()) { + GameRegistry.registerTileEntity(TE_ThaumiumReinforcedJar.class, "kekztech_thaumiumreinforcedjar"); + GameRegistry.registerTileEntity(TE_ThaumiumReinforcedVoidJar.class, "kekztech_thaumiumreinforcedvoidjar"); + GameRegistry.registerTileEntity(TE_IchorJar.class, "kekztech_ichorjar"); + GameRegistry.registerTileEntity(TE_IchorVoidJar.class, "kekztech_ichorvoidjar"); + } } public static void init() { diff --git a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java index 292c972edf..56e2a10df2 100644 --- a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java @@ -73,6 +73,7 @@ import goodgenerator.util.ItemRefer; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; +import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.interfaces.IRecipeMutableAccess; @@ -811,14 +812,14 @@ public class NaquadahReworkRecipeLoader { reAdd.clear(); GT_Log.out.print("Thermal Centrifuge done!\n"); - + final boolean checkCombs = Mods.Forestry.isModLoaded(); // For Centrifuge for (GT_Recipe recipe : RecipeMaps.centrifugeRecipes.getAllRecipes()) { ItemStack input = null; if (recipe.mInputs.length > 0) input = recipe.mInputs[0]; if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); - if (input.isItemEqual(GT_Bees.combs.getStackForType(CombType.DOB))) { + if (checkCombs && input.isItemEqual(GT_Bees.combs.getStackForType(CombType.DOB))) { GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { @@ -922,7 +923,7 @@ public class NaquadahReworkRecipeLoader { if (recipe.mInputs.length > 0) input = recipe.mInputs[0]; if (GT_Utility.isStackValid(input)) { int[] oreDict = OreDictionary.getOreIDs(input); - if (input.isItemEqual(GT_Bees.combs.getStackForType(CombType.DOB))) { + if (checkCombs && input.isItemEqual(GT_Bees.combs.getStackForType(CombType.DOB))) { GT_Recipe tRecipe = recipe.copy(); boolean modified = false; for (int i = 0; i < tRecipe.mOutputs.length; i++) { diff --git a/src/main/java/gregtech/api/enums/Mods.java b/src/main/java/gregtech/api/enums/Mods.java index f0cc3b2541..05d5da27ae 100644 --- a/src/main/java/gregtech/api/enums/Mods.java +++ b/src/main/java/gregtech/api/enums/Mods.java @@ -110,6 +110,7 @@ public enum Mods { MineAndBladeBattleGear2(Names.MINE_AND_BLADE_BATTLE_GEAR2), Minecraft(Names.MINECRAFT), MineTweaker(Names.MINE_TWEAKER), + MobsInfo(Names.MOBS_INFO), NEICustomDiagrams(Names.N_E_I_CUSTOM_DIAGRAMS), NEIOrePlugin(Names.N_E_I_ORE_PLUGIN), Natura(Names.NATURA), @@ -293,6 +294,7 @@ public enum Mods { public static final String MINE_AND_BLADE_BATTLE_GEAR2 = "battlegear2"; public static final String MINECRAFT = "minecraft"; public static final String MINE_TWEAKER = "MineTweaker3"; + public static final String MOBS_INFO = "mobsinfo"; public static final String N_E_I_CUSTOM_DIAGRAMS = "neicustomdiagram"; public static final String N_E_I_ORE_PLUGIN = "gtneioreplugin"; public static final String NATURA = "Natura"; diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java index 9de59e8661..95b19e756c 100644 --- a/src/main/java/gregtech/common/GT_Client.java +++ b/src/main/java/gregtech/common/GT_Client.java @@ -62,6 +62,7 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; +import gregtech.api.enums.Mods; import gregtech.api.enums.SoundResource; import gregtech.api.gui.GT_GUIColorOverride; import gregtech.api.gui.modularui.FallbackableSteamTexture; @@ -624,8 +625,10 @@ public class GT_Client extends GT_Proxy implements Runnable { GT_Renderer_Block.register(); new GT_MultiTile_Renderer(); new GT_RenderDrone(); - new GT_LaserRenderer(); - new GT_WormholeRenderer(); + if (Mods.GalacticraftCore.isModLoaded()) { + new GT_LaserRenderer(); + new GT_WormholeRenderer(); + } metaGeneratedItemRenderer = new GT_MetaGenerated_Item_Renderer(); for (GT_MetaGenerated_Item item : GT_MetaGenerated_Item.sInstances.values()) { metaGeneratedItemRenderer.registerItem(item); diff --git a/src/main/java/gregtech/common/tileentities/render/TileLaser.java b/src/main/java/gregtech/common/tileentities/render/TileLaser.java index 5cc9020cd4..b7457353f4 100644 --- a/src/main/java/gregtech/common/tileentities/render/TileLaser.java +++ b/src/main/java/gregtech/common/tileentities/render/TileLaser.java @@ -11,6 +11,7 @@ import cpw.mods.fml.relauncher.Side; import micdoodle8.mods.galacticraft.core.tile.TileEntityAdvanced; import micdoodle8.mods.galacticraft.core.util.Annotations; +// This should either move to gt5u tiles, or get moved to GTNH-Intergalactic public class TileLaser extends TileEntityAdvanced { @Annotations.NetworkedField(targetSide = Side.CLIENT) diff --git a/src/main/java/gregtech/common/tileentities/render/TileWormhole.java b/src/main/java/gregtech/common/tileentities/render/TileWormhole.java index f219cfe989..1bb012aaf6 100644 --- a/src/main/java/gregtech/common/tileentities/render/TileWormhole.java +++ b/src/main/java/gregtech/common/tileentities/render/TileWormhole.java @@ -14,6 +14,7 @@ import micdoodle8.mods.galacticraft.core.util.Annotations; import pers.gwyog.gtneioreplugin.plugin.block.ModBlocks; import pers.gwyog.gtneioreplugin.util.DimensionHelper; +// This should either move to gt5u tiles, or get moved to GTNH-Intergalactic public class TileWormhole extends TileEntityAdvanced { @Annotations.NetworkedField(targetSide = Side.CLIENT) diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index f4c7139c4f..e93387397f 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -38,6 +38,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsKevlar; import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; import gregtech.api.fluid.GT_FluidFactory; @@ -554,8 +555,13 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { GregTech_API.sDroneRender = new GT_Block_Drone(); GregTech_API.sBlockGlass1 = new GT_Block_Glass1(); GregTech_API.sBlockTintedGlass = new GT_Block_TintedIndustrialGlass(); - GregTech_API.sLaserRender = new GT_Block_Laser(); - GregTech_API.sWormholeRender = new GT_WormholeRenderBlock(); + if (Mods.GalacticraftCore.isModLoaded()) { + GregTech_API.sLaserRender = new GT_Block_Laser(); + GregTech_API.sWormholeRender = new GT_WormholeRenderBlock(); + } else { + GregTech_API.sLaserRender = null; + GregTech_API.sWormholeRender = null; + } // meta ID order, DO NOT CHANGE ORDER GregTech_API.sBlockMetal1 = new GT_Block_Metal( @@ -681,11 +687,14 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { GT_Log.out.println("GT_Mod: Registering the DroneRender."); GameRegistry.registerTileEntity(TileDrone.class, "DroneRender"); - GT_Log.out.println("GT_Mod: Registering the LaserRender."); - GameRegistry.registerTileEntity(TileLaser.class, "LaserRenderer"); - GT_Log.out.println("GT_Mod: Registering the WormholeRender."); - GameRegistry.registerTileEntity(TileWormhole.class, "WormholeRender"); + if (Mods.GalacticraftCore.isModLoaded()) { + GT_Log.out.println("GT_Mod: Registering the LaserRender."); + GameRegistry.registerTileEntity(TileLaser.class, "LaserRenderer"); + + GT_Log.out.println("GT_Mod: Registering the WormholeRender."); + GameRegistry.registerTileEntity(TileWormhole.class, "WormholeRender"); + } GT_Log.out.println("GT_Mod: Registering the BaseMetaPipeEntity."); GameRegistry.registerTileEntity(BaseMetaPipeEntity.class, "BaseMetaPipeEntity"); FMLInterModComms.sendMessage(AppliedEnergistics2.ID, "whitelist-spatial", BaseMetaPipeEntity.class.getName()); diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java index e8222304a9..ed2b679cad 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java @@ -483,6 +483,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid; @@ -1132,16 +1133,18 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC new GT_MetaTileEntity_MultiCanner(MULTI_CANNER_CONTROLLER.ID, "multimachine.canner", "TurboCan Pro") .getStackForm(1)); - ItemList.WormholeGenerator.set( - new GT_MetaTileEntity_WormholeGenerator( - WORMHOLE_GENERATOR_CONTROLLER.ID, - "multimachine.wormhole", - "Miniature Wormhole Generator").getStackForm(1)); - ItemList.Machine_Multi_IndustrialLaserEngraver.set( - new GT_MetaTileEntity_IndustrialLaserEngraver( - INDUSTRIAL_LASER_ENGRAVER_CONTROLLER.ID, - "multimachine.engraver", - "High Energy Laser Emitter").getStackForm(1)); + if (Mods.GalacticraftCore.isModLoaded()) { + ItemList.WormholeGenerator.set( + new GT_MetaTileEntity_WormholeGenerator( + WORMHOLE_GENERATOR_CONTROLLER.ID, + "multimachine.wormhole", + "Miniature Wormhole Generator").getStackForm(1)); + ItemList.Machine_Multi_IndustrialLaserEngraver.set( + new GT_MetaTileEntity_IndustrialLaserEngraver( + INDUSTRIAL_LASER_ENGRAVER_CONTROLLER.ID, + "multimachine.engraver", + "High Energy Laser Emitter").getStackForm(1)); + } ItemList.Machine_Multi_Lathe.set( new GT_MetaTileEntity_MultiLathe( diff --git a/src/main/java/gtPlusPlus/xmod/forestry/ForestryTreeHandler.java b/src/main/java/gtPlusPlus/xmod/forestry/ForestryTreeHandler.java new file mode 100644 index 0000000000..1f64eacb5c --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/forestry/ForestryTreeHandler.java @@ -0,0 +1,94 @@ +package gtPlusPlus.xmod.forestry; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +import binnie.extratrees.genetics.ExtraTreeSpecies; +import forestry.api.arboriculture.EnumGermlingType; +import forestry.api.arboriculture.EnumWoodType; +import forestry.api.arboriculture.ITree; +import forestry.api.arboriculture.TreeManager; +import forestry.arboriculture.genetics.TreeDefinition; +import forestry.plugins.PluginArboriculture; +import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm; + +public class ForestryTreeHandler { + + public static void generateForestryTrees() { + for (TreeDefinition tree : TreeDefinition.values()) { + String speciesUID = tree.getUID(); + + ItemStack sapling = tree.getMemberStack(EnumGermlingType.SAPLING); + + ItemStack log; + EnumWoodType woodType = ReflectionUtils.getField(tree, "woodType"); + if (woodType != null) { + log = TreeManager.woodItemAccess.getLog(woodType, false); + } else { + log = ReflectionUtils.getField(tree, "vanillaWood"); + } + + ItemStack leaves = new ItemStack(PluginArboriculture.blocks.leaves, 1, 0); + if (speciesUID != null) { + NBTTagCompound nbtTagCompound = new NBTTagCompound(); + nbtTagCompound.setString("species", speciesUID); + leaves.setTagCompound(nbtTagCompound); + } + + ItemStack fruit = null; + ITree individual = tree.getIndividual(); + if (individual.canBearFruit()) { + ItemStack[] produceList = individual.getProduceList(); + if (produceList != null && produceList.length > 0) { + fruit = individual.getProduceList()[0]; + } + } + + GregtechMetaTileEntityTreeFarm.registerForestryTree( + speciesUID, + sapling == null ? null : sapling.copy(), + log == null ? null : log.copy(), + leaves == null ? null : leaves.copy(), + fruit == null ? null : fruit.copy()); + } + } + + public static void generateExtraTreesTrees() { + for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { + + String speciesUID = species.getUID(); + + ITree individual = TreeManager.treeRoot.templateAsIndividual(species.getTemplate()); + ItemStack sapling = TreeManager.treeRoot.getMemberStack(individual, 0); + + ItemStack log = null; + if (species.getLog() != null) { + log = species.getLog() + .getItemStack(); + } + + ItemStack leaves = new ItemStack(PluginArboriculture.blocks.leaves, 1, 0); + if (speciesUID != null) { + NBTTagCompound nbtTagCompound = new NBTTagCompound(); + nbtTagCompound.setString("species", speciesUID); + leaves.setTagCompound(nbtTagCompound); + } + + ItemStack fruit = null; + if (individual.canBearFruit()) { + ItemStack[] produceList = individual.getProduceList(); + if (produceList != null && produceList.length > 0) { + fruit = individual.getProduceList()[0]; + } + } + + GregtechMetaTileEntityTreeFarm.registerForestryTree( + speciesUID, + sapling == null ? null : sapling.copy(), + log == null ? null : log.copy(), + leaves == null ? null : leaves.copy(), + fruit == null ? null : fruit.copy()); + } + } +} diff --git a/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java b/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java index a1b96d0f2f..dc2d277283 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java @@ -20,4 +20,5 @@ public class HANDLER_FR { new GTPP_Bees(); } } + } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java index e4071c018d..5789f5be03 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java @@ -28,6 +28,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsKevlar; import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.Mods; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; @@ -334,38 +335,40 @@ public class RecipeLoader_ChemicalSkips { .eut(TierEU.RECIPE_UIV) .metadata(QFT_FOCUS_TIER, 4) .addTo(quantumForceTransformerRecipes); - // Lategame Kevlar using Kevlar bee comb - GT_Values.RA.stdBuilder() - .itemInputs( - GT_Bees.combs.getStackForType(CombType.KEVLAR, 24), - Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0)) - .fluidInputs(Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16)) - .fluidOutputs( - MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32), - MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32), - MaterialsKevlar.Kevlar.getMolten(144 * 64)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_UIV) - .metadata(QFT_FOCUS_TIER, 4) - .addTo(quantumForceTransformerRecipes); - // Platline skip using Platline Combs (Palladium, Osmium, Iridium, Platinum) - GT_Values.RA.stdBuilder() - .itemInputs( - GT_Bees.combs.getStackForType(CombType.PLATINUM, 32), - GT_Bees.combs.getStackForType(CombType.PALLADIUM, 32), - GT_Bees.combs.getStackForType(CombType.OSMIUM, 32), - GT_Bees.combs.getStackForType(CombType.IRIDIUM, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) - .fluidOutputs( - Materials.Osmium.getMolten(144 * 256), - Materials.Palladium.getMolten(144 * 256), - Materials.Iridium.getMolten(144 * 256), - Materials.Platinum.getMolten(144 * 256)) - .duration(20 * SECONDS) - .eut(TierEU.RECIPE_UV) - .metadata(QFT_FOCUS_TIER, 1) - .addTo(quantumForceTransformerRecipes); + if (Mods.Forestry.isModLoaded()) { + // Lategame Kevlar using Kevlar bee comb + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Bees.combs.getStackForType(CombType.KEVLAR, 24), + Materials.Carbon.getDust(64), + ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0)) + .fluidInputs(Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16)) + .fluidOutputs( + MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32), + MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32), + MaterialsKevlar.Kevlar.getMolten(144 * 64)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .metadata(QFT_FOCUS_TIER, 4) + .addTo(quantumForceTransformerRecipes); + // Platline skip using Platline Combs (Palladium, Osmium, Iridium, Platinum) + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Bees.combs.getStackForType(CombType.PLATINUM, 32), + GT_Bees.combs.getStackForType(CombType.PALLADIUM, 32), + GT_Bees.combs.getStackForType(CombType.OSMIUM, 32), + GT_Bees.combs.getStackForType(CombType.IRIDIUM, 32), + ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .fluidOutputs( + Materials.Osmium.getMolten(144 * 256), + Materials.Palladium.getMolten(144 * 256), + Materials.Iridium.getMolten(144 * 256), + Materials.Platinum.getMolten(144 * 256)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); + } // Bio Cells and Mutated Solder GT_Values.RA.stdBuilder() .itemInputs( diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java index c69a26326f..1026f24538 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java @@ -3,18 +3,10 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import binnie.extratrees.genetics.ExtraTreeSpecies; -import forestry.api.arboriculture.EnumGermlingType; -import forestry.api.arboriculture.EnumWoodType; -import forestry.api.arboriculture.ITree; -import forestry.api.arboriculture.TreeManager; -import forestry.arboriculture.genetics.TreeDefinition; -import forestry.plugins.PluginArboriculture; + import gregtech.api.enums.Mods; import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gtPlusPlus.xmod.forestry.ForestryTreeHandler; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm; public class RecipeLoader_TreeFarm { @@ -41,8 +33,11 @@ public class RecipeLoader_TreeFarm { if (Mods.PamsHarvestCraft.isModLoaded()) generatePamsTrees(); if (Mods.PamsHarvestTheNether.isModLoaded()) generatePamsNetherTrees(); - if (Mods.Forestry.isModLoaded()) generateForestryTrees(); - if (Mods.ExtraTrees.isModLoaded()) generateExtraTreesTrees(); + if (Mods.Forestry.isModLoaded()) { + ForestryTreeHandler.generateForestryTrees(); + } + + if (Mods.Forestry.isModLoaded() && Mods.ExtraTrees.isModLoaded()) ForestryTreeHandler.generateExtraTreesTrees(); } private static void generateVanillaTrees() { @@ -632,88 +627,4 @@ public class RecipeLoader_TreeFarm { null); } - /* - * Abdiel Kavash: I do not claim the code in the following two methods to be ideal, or to even completely understand - * all the details. Much of it has been copied from the previous version, available at - * https://github.com/GTNewHorizons/GTplusplus/blob/dca836fee368878cf64ca59e4c7ffc5875a3f489/src/main/java/ - * gtPlusPlus/xmod/forestry/HANDLER_FR.java#L60. If anybody understands Forestry and/or Extra Trees internals better - * than I do, and knows a more straightforward way to retrieve the relevant ItemStacks here, please update this. - */ - - private static void generateForestryTrees() { - for (TreeDefinition tree : TreeDefinition.values()) { - String speciesUID = tree.getUID(); - - ItemStack sapling = tree.getMemberStack(EnumGermlingType.SAPLING); - - ItemStack log; - EnumWoodType woodType = ReflectionUtils.getField(tree, "woodType"); - if (woodType != null) { - log = TreeManager.woodItemAccess.getLog(woodType, false); - } else { - log = ReflectionUtils.getField(tree, "vanillaWood"); - } - - ItemStack leaves = new ItemStack(PluginArboriculture.blocks.leaves, 1, 0); - if (speciesUID != null) { - NBTTagCompound nbtTagCompound = new NBTTagCompound(); - nbtTagCompound.setString("species", speciesUID); - leaves.setTagCompound(nbtTagCompound); - } - - ItemStack fruit = null; - ITree individual = tree.getIndividual(); - if (individual.canBearFruit()) { - ItemStack[] produceList = individual.getProduceList(); - if (produceList != null && produceList.length > 0) { - fruit = individual.getProduceList()[0]; - } - } - - GregtechMetaTileEntityTreeFarm.registerForestryTree( - speciesUID, - sapling == null ? null : sapling.copy(), - log == null ? null : log.copy(), - leaves == null ? null : leaves.copy(), - fruit == null ? null : fruit.copy()); - } - } - - private static void generateExtraTreesTrees() { - for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { - - String speciesUID = species.getUID(); - - ITree individual = TreeManager.treeRoot.templateAsIndividual(species.getTemplate()); - ItemStack sapling = TreeManager.treeRoot.getMemberStack(individual, 0); - - ItemStack log = null; - if (species.getLog() != null) { - log = species.getLog() - .getItemStack(); - } - - ItemStack leaves = new ItemStack(PluginArboriculture.blocks.leaves, 1, 0); - if (speciesUID != null) { - NBTTagCompound nbtTagCompound = new NBTTagCompound(); - nbtTagCompound.setString("species", speciesUID); - leaves.setTagCompound(nbtTagCompound); - } - - ItemStack fruit = null; - if (individual.canBearFruit()) { - ItemStack[] produceList = individual.getProduceList(); - if (produceList != null && produceList.length > 0) { - fruit = individual.getProduceList()[0]; - } - } - - GregtechMetaTileEntityTreeFarm.registerForestryTree( - speciesUID, - sapling == null ? null : sapling.copy(), - log == null ? null : log.copy(), - leaves == null ? null : leaves.copy(), - fruit == null ? null : fruit.copy()); - } - } } diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java index c3d6a2b754..3962faccf2 100644 --- a/src/main/java/kekztech/KekzCore.java +++ b/src/main/java/kekztech/KekzCore.java @@ -29,8 +29,8 @@ import gregtech.api.enums.Mods; version = KekzCore.VERSION, dependencies = "required-after:IC2;" + "required-after:gregtech;" + "required-after:tectech;" - + "required-after:Thaumcraft;" - + "required-after:ThaumicTinkerer;" + + "after:Thaumcraft;" + + "after:ThaumicTinkerer;" + "after:bartworks;" + "after:dreamcraft") public class KekzCore { @@ -41,6 +41,9 @@ public class KekzCore { public static final Logger LOGGER = LogManager.getLogger(NAME); + public static boolean isThaumcraftLoaded = false; + public static boolean isThaumicTiinkererLoaded = false; + @Mod.Instance(Mods.Names.KEKZ_TECH) public static KekzCore instance; diff --git a/src/main/java/kubatech/CommonProxy.java b/src/main/java/kubatech/CommonProxy.java index 20a10b2a52..7a75789271 100644 --- a/src/main/java/kubatech/CommonProxy.java +++ b/src/main/java/kubatech/CommonProxy.java @@ -37,6 +37,7 @@ import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLServerStoppedEvent; import cpw.mods.fml.common.event.FMLServerStoppingEvent; +import gregtech.api.enums.Mods; import kubatech.commands.CommandHandler; import kubatech.config.Config; import kubatech.loaders.EIGBucketLoader; @@ -59,7 +60,9 @@ public class CommonProxy { MinecraftForge.EVENT_BUS.register(new PlayerDataManager()); registerItems(); registerBlocks(); - MobHandlerLoader.init(); + if (Mods.MobsInfo.isModLoaded()) { + MobHandlerLoader.init(); + } } public void init(FMLInitializationEvent event) { diff --git a/src/main/java/kubatech/kubatech.java b/src/main/java/kubatech/kubatech.java index a93a10a970..e847780c61 100644 --- a/src/main/java/kubatech/kubatech.java +++ b/src/main/java/kubatech/kubatech.java @@ -63,7 +63,7 @@ import kubatech.network.LoadConfigPacket; acceptedMinecraftVersions = "[1.7.10]", dependencies = "required-after: gregtech; " + "required-after: gtnhmixins@[2.0.1,); " + "required-after: modularui; " - + "required-after: mobsinfo; " + + "after: mobsinfo; " + "after: EnderIO; " + "after: AWWayofTime; " + "after: ExtraUtilities; " diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java index f80a8b0588..e6d7e28b4d 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java @@ -107,6 +107,7 @@ import cpw.mods.fml.relauncher.SideOnly; import crazypants.enderio.EnderIO; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; +import gregtech.api.enums.Mods; import gregtech.api.enums.Textures; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; @@ -373,7 +374,7 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher @SideOnly(Side.CLIENT) @Override public void HandleCustomPacket(CustomTileEntityPacket message) { - if (message.getDataBoolean()) { + if (message.getDataBoolean() && Mods.MobsInfo.isModLoaded()) { renderEntity = true; String mobType = message.getDataString(); MobHandlerLoader.MobEECRecipe r = MobHandlerLoader.recipeMap.get(mobType); diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 70cad2d501..990af069e2 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -222,9 +222,7 @@ "requiredMods": [ "IC2", "gregtech", - "tectech", - "Thaumcraft", - "ThaumicTinkerer" + "tectech" ], "dependencies": [ "IC2", |