aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Mitchell <mitchej@gmail.com>2024-08-11 12:51:41 -0700
committerGitHub <noreply@github.com>2024-08-11 15:51:41 -0400
commit5cd813a5405777a6c92b1af03f7439a97e9523f8 (patch)
tree0d81c74463e8401e893862758a411f5d90e45788 /src
parent7e153794ad1f79afa0014b82593060ffedc54a61 (diff)
downloadGT5-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')
-rw-r--r--src/main/java/bloodasp/galacticgreg/GalacticGreg.java2
-rw-r--r--src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java97
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java9
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java5
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java7
-rw-r--r--src/main/java/common/Blocks.java5
-rw-r--r--src/main/java/common/CommonProxy.java13
-rw-r--r--src/main/java/common/Recipes.java5
-rw-r--r--src/main/java/common/TileEntities.java11
-rw-r--r--src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java7
-rw-r--r--src/main/java/gregtech/api/enums/Mods.java2
-rw-r--r--src/main/java/gregtech/common/GT_Client.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/render/TileLaser.java1
-rw-r--r--src/main/java/gregtech/common/tileentities/render/TileWormhole.java1
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java21
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java23
-rw-r--r--src/main/java/gtPlusPlus/xmod/forestry/ForestryTreeHandler.java94
-rw-r--r--src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java1
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java67
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_TreeFarm.java103
-rw-r--r--src/main/java/kekztech/KekzCore.java7
-rw-r--r--src/main/java/kubatech/CommonProxy.java5
-rw-r--r--src/main/java/kubatech/kubatech.java2
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java3
-rw-r--r--src/main/resources/mcmod.info4
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",