diff options
Diffstat (limited to 'src/main/java/common/Recipes.java')
-rw-r--r-- | src/main/java/common/Recipes.java | 622 |
1 files changed, 622 insertions, 0 deletions
diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java new file mode 100644 index 0000000000..0e3fdfc41f --- /dev/null +++ b/src/main/java/common/Recipes.java @@ -0,0 +1,622 @@ +package common; + +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import items.ErrorItem; +import items.MetaItem_CraftingComponent; +import kekztech.Items; +import kekztech.KekzCore; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import thaumcraft.api.ItemApi; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.crafting.InfusionRecipe; +import util.Util; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; + +public class Recipes { + + public static final HashMap<String, InfusionRecipe> infusionRecipes = new HashMap<>(); + + public static void postInit() { + KekzCore.LOGGER.info("Registering recipes..."); + + registerRecipes_TFFT(); + registerRecipes_SOFC(); + registerRecipes_Nuclear(); + //registerRecipes_ItemServer(); + registerRecipes_Jars(); + registerRecipes_LSC(); + registerRecipes_SpaceElevator(); + + KekzCore.LOGGER.info("Finished registering recipes"); + } + + private static void lapoCapacitorRecipeAdder(GT_Recipe.GT_Recipe_AssemblyLine baseRecipe, Materials boxMaterial, ItemStack newResearchTrigger, ItemStack result) { + if(baseRecipe != null) { + final ArrayList<ItemStack> baseInputs = new ArrayList<>(Arrays.asList(baseRecipe.mInputs)); + if(baseInputs.size() <= 14){ + baseInputs.add(GT_OreDictUnificator.get(OrePrefixes.frameGt, boxMaterial, 4)); + baseInputs.add(GT_OreDictUnificator.get(OrePrefixes.screw, boxMaterial, 24)); + + GT_Values.RA.addAssemblylineRecipe(newResearchTrigger, baseRecipe.mResearchTime, + Util.toItemStackArray(baseInputs), baseRecipe.mFluidInputs, result, + baseRecipe.mDuration * 2, baseRecipe.mEUt); + KekzCore.LOGGER.info("Successfully extended Lapotronic Battery recipe for Lapotronic Capacitor of tier " + result.getItemDamage()); + } + } else { + KekzCore.LOGGER.info("Base recipe was NULL. Failed to extended Lapotronic Battery recipe for Lapotronic Capacitor of tier " + result.getItemDamage()); + } + } + + private static void registerRecipes_TFFT() { + + // Controller + final Object[] tfft_recipe = { + "HFH", "PVP", "CFC", + 'H', OrePrefixes.pipeMedium.get(Materials.StainlessSteel), + 'F', ItemList.Field_Generator_MV.get(1L), + 'P', ItemList.Electric_Pump_HV.get(1L), + 'V', OrePrefixes.rotor.get(Materials.VibrantAlloy), + 'C', OrePrefixes.circuit.get(Materials.Data) + }; + GT_ModHandler.addCraftingRecipe(KekzCore.fms.getStackForm(1), tfft_recipe); + + // Blocks + final ItemStack[] tfftcasing = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DarkSteel, 3), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnderPearl, 3), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + }; + GT_Values.RA.addAssemblerRecipe( + tfftcasing, + FluidRegistry.getFluidStack("molten.polytetrafluoroethylene", 144), + new ItemStack(Blocks.tfftCasing, 1), + 200, 256); + final ItemStack[] tfftstoragefield1 = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Steel, 1), + ItemList.Electric_Pump_LV.get(1L) + }; + GT_Values.RA.addAssemblerRecipe( + tfftstoragefield1, + FluidRegistry.getFluidStack("molten.glass", 144), + new ItemStack(Blocks.tfftStorageField1, 1), + 200, 256); + final ItemStack[] tfftstoragefield2 = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 4), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.StainlessSteel, 1), + ItemList.Electric_Pump_MV.get(1L) + }; + GT_Values.RA.addAssemblerRecipe( + tfftstoragefield2, + FluidRegistry.getFluidStack("molten.plastic", 576), + new ItemStack(Blocks.tfftStorageField2, 1), + 200, 480); + final ItemStack[] tfftstoragefield3 = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VibrantAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Titanium, 1), + ItemList.Field_Generator_MV.get(1L), + ItemList.Electric_Pump_HV.get(2L) + }; + GT_Values.RA.addAssemblerRecipe( + tfftstoragefield3, + FluidRegistry.getFluidStack("molten.epoxid", 576), + new ItemStack(Blocks.tfftStorageField3, 1), + 300, 1920); + final ItemStack[] tfftstoragefield4 = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 4), + GT_OreDictUnificator.get(OrePrefixes.plateTriple, Materials.NiobiumTitanium, 1), + GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.TungstenSteel, 1), + ItemList.Field_Generator_HV.get(1L), + ItemList.Electric_Pump_EV.get(1L) + }; + GT_Values.RA.addAssemblerRecipe( + tfftstoragefield4, + FluidRegistry.getFluidStack("molten.epoxid", 1152), + new ItemStack(Blocks.tfftStorageField4, 1), + 400, 4098); + final ItemStack[] tfftstoragefield5 = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 4), + GT_OreDictUnificator.get(OrePrefixes.plateTriple, Materials.HSSS, 1), + GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Enderium, 1), + ItemList.Field_Generator_EV.get(1L), + ItemList.Electric_Pump_IV.get(1L) + }; + GT_Values.RA.addAssemblerRecipe( + tfftstoragefield5, + FluidRegistry.getFluidStack("molten.epoxid", 1152), + new ItemStack(Blocks.tfftStorageField5, 1), + 400, 6147); + final Object[] multi_hatch = { + "PRP", "UFU", "PRP", + 'P', GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.NiobiumTitanium, 1), + 'R', GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 1), + 'U', ItemList.Electric_Pump_IV.get(1L), + 'F', ItemList.Field_Generator_HV.get(1L) + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.tfftMultiHatch), multi_hatch); + } + + private static void registerRecipes_SOFC() { + + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // Controller + final Object[] mk1_recipe = { + "CCC", "PHP", "FBL", + 'C', OrePrefixes.circuit.get(Materials.Advanced), + 'P', ItemList.Electric_Pump_HV.get(1L), + 'H', ItemList.Hull_HV.get(1L), + 'F', GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.StainlessSteel, 1), + 'B', GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Gold, 1), + 'L', GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.StainlessSteel, 1) + }; + GT_ModHandler.addCraftingRecipe(KekzCore.sofc1.getStackForm(1), mk1_recipe); + final Object[] mk2_recipe = { + "CCC", "PHP", "FBL", + 'C', OrePrefixes.circuit.get(Materials.Master), + 'P', ItemList.Electric_Pump_IV.get(1L), + 'H', ItemList.Hull_IV.get(1L), + 'F', GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.Ultimate, 1), + 'B', Util.getStackofAmountFromOreDict("wireGt04SuperconductorEV", 1), + 'L', GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Ultimate, 1) + }; + GT_ModHandler.addCraftingRecipe(KekzCore.sofc2.getStackForm(1), mk2_recipe); + + // Blocks + final ItemStack[] yszUnit = { + GT_Utility.getIntegratedCircuit(6), + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 4), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Yttrium, 1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_HV.get(1L), + }; + GT_Values.RA.addAssemblerRecipe( + yszUnit, + Materials.Hydrogen.getGas(4000), + new ItemStack(Blocks.yszUnit, 1), + 1200, 480); + final ItemStack[] gdcUnit = { + GT_Utility.getIntegratedCircuit(6), + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 8), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Gadolinium, new ItemStack(ErrorItem.getInstance(), 1), 1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Desh, new ItemStack(ErrorItem.getInstance(), 1), 1), + ItemList.Electric_Motor_IV.get(1L), + }; + GT_Values.RA.addAssemblerRecipe( + gdcUnit, + Materials.Hydrogen.getGas(16000), + new ItemStack(Blocks.gdcUnit, 1), + 2400, 1920); + + // Items + GT_Values.RA.addAlloySmelterRecipe( + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), Loader.isModLoaded("bartworks") ? 3 : 10), + ItemList.Shape_Mold_Plate.get(0), + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 1), + 400, 480); + GT_Values.RA.addFormingPressRecipe( + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10), + ItemList.Shape_Mold_Plate.get(0), + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 1), + 800, 480); + + if (!Loader.isModLoaded("bartworks")) { + GT_Values.RA.addChemicalRecipe( + Materials.Yttrium.getDust(1), GT_Utility.getIntegratedCircuit(6), Materials.Oxygen.getGas(3000), + null, craftingItem.getStackOfAmountFromDamage(Items.YttriaDust.getMetaID(), 1), null, + 400, 30); + GT_Values.RA.addChemicalRecipe( + Util.getStackofAmountFromOreDict("dustZirconium", 1), GT_Utility.getIntegratedCircuit(6), Materials.Oxygen.getGas(2000), + null, craftingItem.getStackOfAmountFromDamage(Items.ZirconiaDust.getMetaID(), 1), null, + 400, 30); + } + + GT_Values.RA.addChemicalRecipe( + Materials.Cerium.getDust(2), GT_Utility.getIntegratedCircuit(6), Materials.Oxygen.getGas(3000), + null, craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 2), null, + 400, 30); + GT_Values.RA.addMixerRecipe( + Items.YttriaDust.getOreDictedItemStack(1), + Items.ZirconiaDust.getOreDictedItemStack(5), + GT_Utility.getIntegratedCircuit(6), null, null, null, + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), 6), + 400, 96); + GT_Values.RA.addMixerRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gadolinium, new ItemStack(ErrorItem.getInstance(), 1), 1), + craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 9), + GT_Utility.getIntegratedCircuit(6), null, null, null, + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10), + 400, 1920); + } + + private static void registerRecipes_Nuclear() { + + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // Controller + + // Blocks + final ItemStack[] controlrod = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Lead, 1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Steel, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64) + }; + GT_Values.RA.addAssemblerRecipe( + controlrod, + null, + new ItemStack(Blocks.reactorControlRod, 1), + 800, 480); + final ItemStack[] reactorchamber = { + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Lead, 1), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Lead, 9), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 18), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Steel, 2), + }; + GT_Values.RA.addAssemblerRecipe( + reactorchamber, + FluidRegistry.getFluidStack("wet.concrete", 144), + new ItemStack(Blocks.reactorChamberOFF, 1), + 1600, 480); + + // Items + GT_Values.RA.addMixerRecipe(Materials.Boron.getDust(1), Materials.Arsenic.getDust(1), GT_Utility.getIntegratedCircuit(6), null, + null, null, craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideDust.getMetaID(), 2), + 100, 1920); + GT_Values.RA.addChemicalRecipe( + Materials.Ammonia.getCells(2), + Materials.CarbonDioxide.getCells(1), + null, + null, + craftingItem.getStackOfAmountFromDamage(Items.AmineCarbamiteDust.getMetaID(), 1), + Util.getStackofAmountFromOreDict("cellEmpty", 3), + 400, 30); + GT_Values.RA.addChemicalRecipe( + craftingItem.getStackOfAmountFromDamage(Items.AmineCarbamiteDust.getMetaID(), 1), + Materials.Diamond.getDust(16), + Materials.CarbonDioxide.getGas(1000), + null, + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondDust.getMetaID(), 1), + null, 1200, 480); + + GT_Values.RA.addAutoclaveRecipe( + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondDust.getMetaID(), 4), + Materials.CarbonDioxide.getGas(16000), + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondCrystal.getMetaID(), 1), 10000, 2400, 7680); + GT_Values.RA.addAutoclaveRecipe( + craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideDust.getMetaID(), 4), + Materials.Nitrogen.getGas(4000), + craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideCrystal.getMetaID(), 1), 10000, 2400, 1920); + + GT_Values.RA.addLatheRecipe( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.AnnealedCopper, 1), + craftingItem.getStackFromDamage(Items.CopperHeatPipe.getMetaID()), + null, 120, 120); + GT_Values.RA.addLatheRecipe( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Silver, 1), + craftingItem.getStackFromDamage(Items.SilverHeatPipe.getMetaID()), + null, 120, 480); + GT_Values.RA.addLatheRecipe( + craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideCrystal.getMetaID(), 4), + craftingItem.getStackFromDamage(Items.BoronArsenideHeatPipe.getMetaID()), + null, 1200, 1920); + GT_Values.RA.addLatheRecipe( + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondCrystal.getMetaID(), 4), + craftingItem.getStackFromDamage(Items.DiamondHeatPipe.getMetaID()), + null, 1200, 7680); + } + + private static void registerRecipes_ItemServer() { + + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // Controller + final Object[] is_recipe = { + "FRF", "CGC", "PZP", + 'F', GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1), + 'R', GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TungstenSteel, 1), + 'C', ItemList.Conveyor_Module_LuV.get(1L), + 'G', ItemList.Field_Generator_EV.get(1L), + 'P', GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 1), + 'Z', GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1) + }; + GT_ModHandler.addCraftingRecipe(KekzCore.is.getStackForm(1), is_recipe); + + // Blocks + final Object[] is_rack_recipe = { + "BRB", "CFC", "BRB", + 'B', GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlueSteel, 1), + 'R', GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Aluminium, 1), + 'C', GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Platinum, 1), + 'F', GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1), + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.itemServerRackCasing), is_rack_recipe); + final ItemStack[] is_ioport = { + GT_Utility.getIntegratedCircuit(6), + new ItemStack(Blocks.itemServerRackCasing), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Platinum, 16), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Platinum, 2), + ItemList.Field_Generator_HV.get(1L), + ItemList.Robot_Arm_EV.get(4L) + }; + GT_Values.RA.addAssemblerRecipe( + is_ioport, + FluidRegistry.getFluidStack("molten.polytetrafluoroethylene", 144), + new ItemStack(Blocks.itemServerIOPort, 1), + 200, 7680); + final Object[] is_blade = { + "CRC", "CMC", "HPH", + 'C', GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 1), + 'R', GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Aluminium, 1), + 'P', GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.Platinum, 1), + 'M', ItemList.Electric_Motor_EV.get(1L), + 'H', craftingItem.getStackFromDamage(Items.BoronArsenideHeatPipe.getMetaID()), + }; + GT_ModHandler.addCraftingRecipe(craftingItem.getStackOfAmountFromDamage(Items.ItemServerBlade.getMetaID(), 8), is_blade); + final ItemStack[] is_drive = { + GT_Utility.getIntegratedCircuit(6), + craftingItem.getStackOfAmountFromDamage(Items.ItemServerBlade.getMetaID(), 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlueSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Aluminium, 16) + }; + GT_Values.RA.addAssemblerRecipe( + is_drive, + FluidRegistry.getFluidStack("molten.polyethylene", 1152), + new ItemStack(Blocks.itemServerDrive, 1), + 200, 7680); + } + + private static void registerRecipes_Jars() { + + // Thaumium Reinforced Jar + final ItemStack[] recipe_jarthaumiumreinforced = { + GameRegistry.makeItemStack("Thaumcraft:ItemResource", 15, 1, null), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + }; + final AspectList aspects_jarthaumiumreinforced = new AspectList() + .add(Aspect.ARMOR, 64) + .add(Aspect.ORDER, 32) + .add(Aspect.WATER, 32) + .add(Aspect.GREED, 16) + .add(Aspect.VOID, 16) + .add(Aspect.AIR, 8); + infusionRecipes.put("THAUMIUMREINFORCEDJAR", + ThaumcraftApi.addInfusionCraftingRecipe("THAUMIUMREINFORCEDJAR", new ItemStack(Blocks.jarThaumiumReinforced, 1, 0), + 5, aspects_jarthaumiumreinforced, ItemApi.getBlock("blockJar", 0), recipe_jarthaumiumreinforced)); + // Thaumium Reinforced Void Jar + final ItemStack n1 = GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Obsidian, 1); + final ItemStack n2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1); + final ItemStack n3 = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnderEye, 1); + final ItemStack n4 = ItemApi.getItem("itemNugget", 5); + final ItemStack[] recipe_voidjarupgrade = { + n1, + n2, + n3, + n4 + }; + final AspectList aspects_voidjarupgrade = new AspectList() + .add(Aspect.VOID, 14) + .add(Aspect.MAGIC, 14) + .add(Aspect.ENTROPY, 14) + .add(Aspect.WATER, 14); + infusionRecipes.put("THAUMIUMREINFORCEDVOIDJAR", + ThaumcraftApi.addInfusionCraftingRecipe("THAUMIUMREINFORCEDJAR", new ItemStack(Blocks.jarThaumiumReinforced, 1, 3), + 2, aspects_voidjarupgrade, new ItemStack(Blocks.jarThaumiumReinforced, 1, 0), recipe_voidjarupgrade)); + + final ItemStack[] recipe_jarichor = { + GT_ModHandler.getModItem("ThaumicTinkerer", "kamiResource", 1, 0), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Diamond, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), + new ItemStack(net.minecraft.init.Blocks.glass_pane), + }; + final AspectList aspects_jarichor = new AspectList() + .add(Aspect.ARMOR, 256) + .add(Aspect.ELDRITCH, 128) + .add(Aspect.ORDER, 128) + .add(Aspect.WATER, 128) + .add(Aspect.GREED, 64) + .add(Aspect.VOID, 64) + .add(Aspect.AIR, 32); + infusionRecipes.put("ICHORJAR", + ThaumcraftApi.addInfusionCraftingRecipe("ICHORJAR", new ItemStack(Blocks.jarIchor, 1, 0), + 15, aspects_jarichor, ItemApi.getBlock("blockJar", 0), recipe_jarichor)); + // Ichor Void Jar + infusionRecipes.put("ICHORVOIDJAR", + ThaumcraftApi.addInfusionCraftingRecipe("ICHORJAR", new ItemStack(Blocks.jarIchor, 1, 3), + 5, aspects_voidjarupgrade, new ItemStack(Blocks.jarIchor, 1, 0), recipe_voidjarupgrade)); + + } + + private static void registerRecipes_LSC(){ + + // Controller + final Object[] lsc_recipe = { + "LPL", "CBC", "LPL", + 'L', ItemList.IC2_LapotronCrystal.getWithCharge(1L, 10000000), + 'P', ItemList.Circuit_Chip_PIC.get(1L), + 'C', OrePrefixes.circuit.get(Materials.Master), + 'B', new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), + }; + GT_ModHandler.addCraftingRecipe(KekzCore.lsc.getStackForm(1), lsc_recipe); + + // Blocks + final Object[] lcBase_recipe = { + "WBW", "RLR", "WBW", + 'W', OrePrefixes.plate.get(Materials.Tantalum), + 'B', OrePrefixes.frameGt.get(Materials.TungstenSteel), + 'R', OrePrefixes.stickLong.get(Materials.TungstenSteel), + 'L', OrePrefixes.block.get(Materials.Lapis) + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), lcBase_recipe); + final Object[] lcIV_recipe = { + "SLS", "LOL", "SLS", + 'S', OrePrefixes.screw.get(Materials.Lapis), + 'L', OrePrefixes.plate.get(Materials.Lapis), + 'O', ItemList.Energy_LapotronicOrb.get(1L) + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), lcIV_recipe); + + KekzCore.LOGGER.info("Reading Assembly Line recipes from GregTech recipe map"); + GT_Recipe.GT_Recipe_AssemblyLine arLuV = null; + // Next two are hardcoded because my code can't find them + GT_Recipe.GT_Recipe_AssemblyLine arZPM = new GT_Recipe.GT_Recipe_AssemblyLine( + ItemList.Energy_LapotronicOrb2.get(1L), 288000, new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + ItemList.Energy_LapotronicOrb2.get(8L), + ItemList.Field_Generator_LuV.get(2), + ItemList.Circuit_Wafer_SoC2.get(64), + ItemList.Circuit_Wafer_SoC2.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(8), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32) + }, + new FluidStack[] { + Materials.SolderingAlloy.getMolten(2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) + }, + ItemList.Energy_Module.get(1), 2000, 100000 + ); + GT_Recipe.GT_Recipe_AssemblyLine arUV = new GT_Recipe.GT_Recipe_AssemblyLine( + ItemList.Energy_Module.get(1L), 288000, new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 32L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1), + ItemList.Energy_Module.get(8L), + ItemList.Field_Generator_ZPM.get(2), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(16), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 32) + }, + new FluidStack[] { + Materials.SolderingAlloy.getMolten(2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) + }, + ItemList.Energy_Cluster.get(1), 2000, 200000 + ); + GT_Recipe.GT_Recipe_AssemblyLine arU = null; + for(GT_Recipe.GT_Recipe_AssemblyLine ar : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes) { + if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_LapotronicOrb2.get(1L), true)) { + // LuV Lapo Orb + arLuV = ar; + } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_Module.get(1L), true)) { + // ZPM Lapo Orb + KekzCore.LOGGER.info("Found matching recipe for Energy Module?"); + } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_Cluster.get(1L), true)) { + // UV Lapo Orb + KekzCore.LOGGER.info("Found matching recipe for Energy Cluster?"); + } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.ZPM2.get(1L), true)) { + // Ultimate Battery + arU = ar; + } + } + lapoCapacitorRecipeAdder(arLuV, Materials.Osmiridium, + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lapis, 1), + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2)); + lapoCapacitorRecipeAdder(arZPM, Materials.NaquadahAlloy, + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3)); + lapoCapacitorRecipeAdder(arUV, Materials.Neutronium, + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4)); + lapoCapacitorRecipeAdder(arU, Materials.CosmicNeutronium, + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5)); + + // Capacitor recycling + GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), + ItemList.Energy_LapotronicOrb.get(1L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Lapis, 4), + 1200, 32); + GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), + ItemList.Energy_LapotronicOrb2.get(1L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24), + 1200, 32); + GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), + ItemList.Energy_Module.get(1L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), + 1200, 32); + GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), + ItemList.Energy_Cluster.get(1L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24), + 1200, 32); + GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), + ItemList.ZPM2.get(1L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 24), + 1200, 32); + } + + private static void registerRecipes_SpaceElevator() { + // Controller + final Object[] se_recipe = { + "BCB", "CPC", "BCB", + 'B', new ItemStack(Blocks.spaceElevatorStructure, 1, 0), + 'C', OrePrefixes.cableGt16.get(Materials.Aluminium), + 'P', OrePrefixes.circuit.get(Materials.Master) + }; + GT_ModHandler.addCraftingRecipe(KekzCore.se.getStackForm(1), se_recipe); + // Blocks + final Object[] seBase_recipe = { + "DRD", "RCR", "DRD", + 'D', OrePrefixes.plate.get(Materials.DarkSteel), + 'R', OrePrefixes.stick.get(Materials.Steel), + 'C', OrePrefixes.block.get(Materials.Concrete), + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.spaceElevatorStructure, 1, 0), seBase_recipe); + final Object[] seCoilHolder_recipe = { + "DRD", "RCR", "DRD", + 'D', OrePrefixes.plate.get(Materials.DarkSteel), + 'R', OrePrefixes.ring.get(Materials.Steel), + 'C', OrePrefixes.cableGt01.get(Materials.Aluminium) + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.spaceElevatorStructure, 1, 1), seCoilHolder_recipe); + } +} |