diff options
Diffstat (limited to 'src/main/java/kubatech/loaders/RecipeLoader.java')
-rw-r--r-- | src/main/java/kubatech/loaders/RecipeLoader.java | 150 |
1 files changed, 60 insertions, 90 deletions
diff --git a/src/main/java/kubatech/loaders/RecipeLoader.java b/src/main/java/kubatech/loaders/RecipeLoader.java index 5df6f8aa4f..62f3219c07 100644 --- a/src/main/java/kubatech/loaders/RecipeLoader.java +++ b/src/main/java/kubatech/loaders/RecipeLoader.java @@ -20,12 +20,17 @@ package kubatech.loaders; +import static gregtech.api.enums.ItemList.FluidExtractorUHV; +import static gregtech.api.enums.MetaTileEntityIDs.DraconicEvolutionFusionCrafterController; +import static gregtech.api.enums.MetaTileEntityIDs.ExtremeEntityCrusherController; +import static gregtech.api.enums.MetaTileEntityIDs.ExtremeIndustrialApiaryController; +import static gregtech.api.enums.MetaTileEntityIDs.ExtremeIndustrialGreenhouseController; import static gregtech.api.enums.Mods.Avaritia; import static gregtech.api.enums.Mods.DraconicEvolution; import static gregtech.api.enums.Mods.EnderIO; import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.enums.Mods.GregTech; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.OpenBlocks; import static gregtech.api.enums.Mods.PamsHarvestCraft; import static gregtech.api.recipe.RecipeMaps.benderRecipes; import static gregtech.api.recipe.RecipeMaps.cutterRecipes; @@ -69,8 +74,6 @@ import static kubatech.api.enums.ItemList.WhiteTeaLeaf; import static kubatech.api.enums.ItemList.YellowTea; import static kubatech.api.enums.ItemList.YellowTeaLeaf; -import java.lang.reflect.InvocationTargetException; - import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -81,7 +84,6 @@ import forestry.plugins.PluginCore; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import ic2.core.Ic2Items; @@ -97,29 +99,50 @@ public class RecipeLoader { | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DISMANTLEABLE; - private static int MTEID = 14201; - private static final int MTEIDMax = 14300; + public static void registerMTEs() { + if (EnderIO.isModLoaded()) { + ExtremeEntityCrusher.set( + new GT_MetaTileEntity_ExtremeEntityCrusher( + ExtremeEntityCrusherController.ID, + "multimachine.entitycrusher", + "Extreme Entity Crusher").getStackForm(1)); + } + + if (Forestry.isModLoaded()) { + ExtremeIndustrialApiary.set( + new GT_MetaTileEntity_MegaIndustrialApiary( + ExtremeIndustrialApiaryController.ID, + "multimachine.extremeapiary", + "Industrial Apicultural Acclimatiser and Drone Domestication Station").getStackForm(1)); + } + + ExtremeIndustrialGreenhouse.set( + new GT_MetaTileEntity_ExtremeIndustrialGreenhouse( + ExtremeIndustrialGreenhouseController.ID, + "multimachine.extremegreenhouse", + "Extreme Industrial Greenhouse").getStackForm(1)); + + if (DraconicEvolution.isModLoaded()) { + DraconicEvolutionFusionCrafter.set( + new GT_MetaTileEntity_DEFusionCrafter( + DraconicEvolutionFusionCrafterController.ID, + "multimachine.defusioncrafter", + "Draconic Evolution Fusion Crafter").getStackForm(1)); + } + } public static void addRecipes() { - if (registerMTE( - ExtremeEntityCrusher, - GT_MetaTileEntity_ExtremeEntityCrusher.class, - "multimachine.entitycrusher", - "Extreme Entity Crusher", - EnderIO.isModLoaded())) { + + if (EnderIO.isModLoaded()) { GT_ModHandler.addCraftingRecipe( ItemList.ExtremeEntityCrusher.get(1), bitsd, new Object[] { "RCR", "CHC", "VVV", 'R', gregtech.api.enums.ItemList.Robot_Arm_EV, 'C', OrePrefixes.circuit.get(Materials.EV), 'H', gregtech.api.enums.ItemList.Hull_EV, 'V', - GT_ModHandler.getModItem("OpenBlocks", "vacuumhopper", 1, new ItemStack(Blocks.hopper)) }); + GT_ModHandler.getModItem(OpenBlocks.ID, "vacuumhopper", 1, new ItemStack(Blocks.hopper)) }); } - if (registerMTE( - ExtremeIndustrialApiary, - GT_MetaTileEntity_MegaIndustrialApiary.class, - "multimachine.extremeapiary", - "Industrial Apicultural Acclimatiser and Drone Domestication Station", - Forestry.isModLoaded())) { + + if (Forestry.isModLoaded()) { GT_Values.RA.stdBuilder() .metadata(RESEARCH_ITEM, gregtech.api.enums.ItemList.Machine_IndustrialApiary.get(1)) .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS) @@ -139,81 +162,28 @@ public class RecipeLoader { .eut(2_048_000) .duration(5 * MINUTES) .addTo(AssemblyLine); + + GT_MetaTileEntity_ExtremeIndustrialGreenhouse + .addFertilizerItem(PluginCore.items.fertilizerCompound.getItemStack(1)); } - if (registerMTEUsingID( - 12_792, - ExtremeIndustrialGreenhouse, - GT_MetaTileEntity_ExtremeIndustrialGreenhouse.class, - "multimachine.extremegreenhouse", - "Extreme Industrial Greenhouse", - true /* IC2 is always loaded */)) { - GT_ModHandler.addCraftingRecipe( - ExtremeIndustrialGreenhouse.get(1), - bitsd, - new Object[] { "AZA", "BRB", "AZA", 'B', gregtech.api.enums.ItemList.Casing_CleanStainlessSteel, 'R', - GT_ModHandler.getModItem("EnderIO", "blockFarmStation", 1, new ItemStack(Items.diamond_hoe)), 'A', - NewHorizonsCoreMod.isModLoaded() - ? GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 1, 11104) // IV World Accelerator - : gregtech.api.enums.ItemList.Robot_Arm_IV, - 'Z', OrePrefixes.circuit.get(Materials.ZPM) }); - - // Vanilla should always be loaded - GT_MetaTileEntity_ExtremeIndustrialGreenhouse.addFertilizerItem(new ItemStack(Items.dye, 1, 15)); - // IC2 should always be loaded - GT_MetaTileEntity_ExtremeIndustrialGreenhouse.addFertilizerItem(Ic2Items.fertilizer); - if (Forestry.isModLoaded()) { - GT_MetaTileEntity_ExtremeIndustrialGreenhouse - .addFertilizerItem(PluginCore.items.fertilizerCompound.getItemStack(1)); - } - } - if (registerMTEUsingID( - 5_001, - DraconicEvolutionFusionCrafter, - GT_MetaTileEntity_DEFusionCrafter.class, - "multimachine.defusioncrafter", - "Draconic Evolution Fusion Crafter", - DraconicEvolution.isModLoaded())) { + + GT_ModHandler.addCraftingRecipe( + ExtremeIndustrialGreenhouse.get(1), + bitsd, + new Object[] { "AZA", "BRB", "AZA", 'B', gregtech.api.enums.ItemList.Casing_CleanStainlessSteel, 'R', + GT_ModHandler.getModItem(EnderIO.ID, "blockFarmStation", 1, new ItemStack(Items.diamond_hoe)), 'A', + gregtech.api.enums.ItemList.AcceleratorIV.get(1), 'Z', OrePrefixes.circuit.get(Materials.ZPM) }); + + // Vanilla should always be loaded + GT_MetaTileEntity_ExtremeIndustrialGreenhouse.addFertilizerItem(new ItemStack(Items.dye, 1, 15)); + // IC2 should always be loaded + GT_MetaTileEntity_ExtremeIndustrialGreenhouse.addFertilizerItem(Ic2Items.fertilizer); + + if (DraconicEvolution.isModLoaded()) { // Controller recipe added in TecTech DEFCRecipes.addRecipes(); } RegisterTeaLine(); - if (MTEID > MTEIDMax + 1) throw new RuntimeException("MTE ID's"); - } - - private static boolean registerMTE(ItemList item, Class<? extends MetaTileEntity> mte, String aName, - String aNameRegional, boolean... deps) { - if (MTEID > MTEIDMax) throw new RuntimeException("MTE ID's"); - boolean dep = registerMTEUsingID(MTEID, item, mte, aName, aNameRegional, deps); - MTEID++; - return dep; - } - - private static boolean registerMTEUsingID(int ID, ItemList item, Class<? extends MetaTileEntity> mte, String aName, - String aNameRegional, boolean... deps) { - boolean dep = true; - for (boolean b : deps) { - if (!b) { - dep = false; - break; - } - } - if (dep) { - try { - item.set( - mte.getConstructor(int.class, String.class, String.class) - .newInstance(ID, aName, aNameRegional) - .getStackForm(1)); - } catch (InvocationTargetException ex) { - Throwable original_ex = ex.getCause(); - if (original_ex instanceof RuntimeException) throw (RuntimeException) original_ex; - throw new RuntimeException(original_ex.getMessage()); - } catch (RuntimeException ex) { - throw ex; - } catch (Exception ex) { - throw new RuntimeException(ex.getMessage()); - } - } - return dep; } private static boolean lateRecipesInitialized = false; @@ -369,7 +339,7 @@ public class RecipeLoader { LegendaryUltimateTea.get(0), GameRegistry.findItemStack("Avaritia", "Neutronium_Compressor", 1), gregtech.api.enums.ItemList.Quantum_Tank_EV.get(1), - GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 10, 11193), // UHV Fluid extractor + FluidExtractorUHV.get(10), new Object[] { OrePrefixes.circuit.get(Materials.UV), 4L }, new Object[] { OrePrefixes.circuit.get(Materials.UV), 4L }, new Object[] { OrePrefixes.circuit.get(Materials.UV), 4L }, |