diff --git a/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java b/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java index 89f4a8fb0..323fbfcf9 100644 --- a/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java +++ b/src/main/java/com/dreammaster/gthandler/GT_CraftingRecipeLoader.java @@ -796,6 +796,14 @@ public void run() { new Object[] { "TCT", "PMP", "TCT", 'M', ItemList.Machine_HV_Brewery, 'P', ItemList.Electric_Pump_HV, 'T', OrePrefixes.plate.get(Materials.WoodSealed), 'C', OrePrefixes.circuit.get(Materials.EV) }); + // Solar Factory + GTModHandler.addCraftingRecipe( + ItemList.SolarFactory.get(1), + bits, + new Object[] { "TTT", "PMP", "CTC", 'M', ItemList.Machine_HV_Assembler, 'P', + ItemList.Cover_SolarPanel_8V, 'T', OrePrefixes.plate.get(Materials.StainlessSteel), 'C', + OrePrefixes.circuit.get(Materials.EV) }); + // Reinforced Wooden Casing GTModHandler.addCraftingRecipe( ItemList.Casing_Reinforced_Wood.get(1), diff --git a/src/main/java/com/dreammaster/gthandler/GT_MachineRecipeLoader.java b/src/main/java/com/dreammaster/gthandler/GT_MachineRecipeLoader.java index 5563918c9..b61545d57 100644 --- a/src/main/java/com/dreammaster/gthandler/GT_MachineRecipeLoader.java +++ b/src/main/java/com/dreammaster/gthandler/GT_MachineRecipeLoader.java @@ -36,6 +36,7 @@ import com.dreammaster.gthandler.recipes.PolarizerRecipes; import com.dreammaster.gthandler.recipes.RecipeRemoval; import com.dreammaster.gthandler.recipes.SifterRecipes; +import com.dreammaster.gthandler.recipes.SolarFactoryRecipes; import com.dreammaster.gthandler.recipes.SpaceAssemblerRecipes; import com.dreammaster.gthandler.recipes.VacuumFreezerRecipes; import com.dreammaster.gthandler.recipes.VacuumFurnaceRecipes; @@ -80,6 +81,7 @@ public void run() { new MixerRecipes().run(); new NeutroniumCompressorRecipes().run(); new SifterRecipes().run(); + new SolarFactoryRecipes().run(); new VacuumFreezerRecipes().run(); new WiremillRecipes().run(); new CrackingRecipes().run(); diff --git a/src/main/java/com/dreammaster/gthandler/recipes/SolarFactoryRecipes.java b/src/main/java/com/dreammaster/gthandler/recipes/SolarFactoryRecipes.java new file mode 100644 index 000000000..135847d52 --- /dev/null +++ b/src/main/java/com/dreammaster/gthandler/recipes/SolarFactoryRecipes.java @@ -0,0 +1,397 @@ +package com.dreammaster.gthandler.recipes; + +import static com.dreammaster.scripts.IScriptLoader.missing; +import static gregtech.api.enums.Mods.AdvancedSolarPanel; +import static gregtech.api.enums.Mods.EnderIO; +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.enums.Mods.SuperSolarPanels; +import static gregtech.api.recipe.RecipeMaps.solarFactoryRecipes; +import static gregtech.api.util.GTModHandler.getModItem; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.common.tileentities.machines.multi.MTESolarFactory.validWafers; + +import java.util.ArrayList; +import java.util.Arrays; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import org.apache.commons.lang3.tuple.Pair; + +import com.dreammaster.item.NHItemList; + +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.recipe.metadata.SolarFactoryRecipeDataKey; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTRecipeBuilder; +import gregtech.api.util.recipe.SolarFactoryRecipeData; + +// Recipe metadata values represent the minimum tier and the amount of wafers respectively. + +// If the recipe you are making doesn't use a wafer, just make it without any metadata. +public class SolarFactoryRecipes implements Runnable { + + SolarFactoryRecipeDataKey data = SolarFactoryRecipeDataKey.INSTANCE; + + public GTRecipeBuilder[] SolarFactoryRawRecipes = { + // Irradiant Reinforced Plates + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedAluminiumIronPlate.getIS(1), + getModItem(EnderIO.ID, "itemMaterial", 1, 6, missing), + getModItem(IndustrialCraft2.ID, "itemPartIndustrialDiamond", 1, 0, missing), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedAluminiumPlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 144)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedTitaniumIronPlate.getIS(1), + getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 0, missing), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.MeteoricSteel, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Lapis, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedTitaniumPlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 288)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedTungstenIronPlate.getIS(1), + getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 3, missing), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Steeleaf, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedTungstenPlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 576)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedTungstenSteelIronPlate.getIS(1), + GTOreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Sunnarium, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Plutonium, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Knightmetal, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedTungstenSteelPlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 1152)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_IV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedChromeIronPlate.getIS(1), + getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 1, missing), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.YttriumBariumCuprate, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.FierySteel, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedChromePlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 2304)) + .metadata(data, new SolarFactoryRecipeData(0, 0, 2)).duration(30 * SECONDS).eut(TierEU.RECIPE_LuV), + + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 7, missing), + getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 4, missing), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 8, missing)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 4608)) + .metadata(data, new SolarFactoryRecipeData(0, 0, 2)).duration(30 * SECONDS).eut(TierEU.RECIPE_ZPM), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedNaquadriaIronPlate.getIS(1), + NHItemList.EnrichedNaquadriaSunnariumAlloy.getIS(1), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Quantium, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedNaquadriaPlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 9216)) + .metadata(data, new SolarFactoryRecipeData(0, 0, 2)).duration(30 * SECONDS).eut(TierEU.RECIPE_UV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedNeutroniumIronPlate.getIS(1), + NHItemList.EnrichedNaquadriaNeutroniumSunnariumAlloy.getIS(1), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.MysteriousCrystal, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedNeutroniumPlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 18432)) + .metadata(data, new SolarFactoryRecipeData(0, 0, 3)).duration(30 * SECONDS).eut(TierEU.RECIPE_UHV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.ReinforcedBedrockiumIronPlate.getIS(1), + NHItemList.EnrichedXSunnariumAlloy.getIS(1), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 1L), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.InfinityCatalyst, 2L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) + .itemOutputs(NHItemList.IrradiantReinforcedBedrockiumPlate.getIS(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 36864)) + .metadata(data, new SolarFactoryRecipeData(0, 0, 3)).duration(30 * SECONDS).eut(TierEU.RECIPE_UEV), + + // Recursive recipes + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_8V.get(1), + NHItemList.IrradiantReinforcedAluminiumPlate.getIS(2), + ItemList.Circuit_Silicon_Wafer2.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorMV, 4), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.HV), 2)) + .itemOutputs(ItemList.Cover_SolarPanel_LV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * 144)) + .metadata(data, new SolarFactoryRecipeData(2, 4)).duration(10 * SECONDS).eut(TierEU.RECIPE_HV), + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_LV.get(1), + NHItemList.IrradiantReinforcedTitaniumPlate.getIS(2), + ItemList.Circuit_Silicon_Wafer2.get(4), + ItemList.Circuit_Chip_ULPIC.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 4), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.EV), 2)) + .itemOutputs(ItemList.Cover_SolarPanel_MV.get(1)).fluidInputs(Materials.Epoxid.getMolten(2 * 144)) + .metadata(data, new SolarFactoryRecipeData(2, 4)).duration(10 * SECONDS).eut(TierEU.RECIPE_EV), + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_MV.get(1), + NHItemList.IrradiantReinforcedTungstenPlate.getIS(2), + ItemList.Circuit_Silicon_Wafer2.get(4), + ItemList.Circuit_Chip_LPIC.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 4), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.IV), 4)) + .itemOutputs(ItemList.Cover_SolarPanel_HV.get(1)) + .fluidInputs(Materials.IndiumGalliumPhosphide.getMolten(2 * 144)) + .metadata(data, new SolarFactoryRecipeData(2, 4)).duration(10 * SECONDS).eut(TierEU.RECIPE_IV), + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_HV.get(1), + NHItemList.IrradiantReinforcedTungstenSteelPlate.getIS(2), + ItemList.Circuit_Silicon_Wafer3.get(4), + ItemList.Circuit_Chip_PIC.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 6), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.LuV), 4), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.SiliconSG), 12)) + .itemOutputs(ItemList.Cover_SolarPanel_EV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(2 * 144)) + .metadata(data, new SolarFactoryRecipeData(3, 4)).duration(10 * SECONDS).eut(TierEU.RECIPE_LuV), + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_EV.get(1), + NHItemList.IrradiantReinforcedChromePlate.getIS(2), + ItemList.Circuit_Silicon_Wafer3.get(8), + ItemList.Circuit_Chip_HPIC.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 6), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.ZPM), 4), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.SiliconSG), 16)) + .itemOutputs(ItemList.Cover_SolarPanel_IV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4 * 144)) + .metadata(data, new SolarFactoryRecipeData(3, 8)).duration(10 * SECONDS).eut(TierEU.RECIPE_ZPM), + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_IV.get(1), + getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 2, 8, missing), + // Irradiant Reinforced Iridium Plate + ItemList.Circuit_Silicon_Wafer4.get(8), + ItemList.Circuit_Chip_UHPIC.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 16), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UV), 2), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.ZPM), 4), + getModItem(SuperSolarPanels.ID, "solarsplitter", 2, missing), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.SiliconSG), 20)) + .itemOutputs(ItemList.Cover_SolarPanel_LuV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(6 * 144)) + .metadata(data, new SolarFactoryRecipeData(4, 8)).duration(10 * SECONDS).eut(TierEU.RECIPE_UV), + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_LuV.get(1), + NHItemList.IrradiantReinforcedNaquadriaPlate.getIS(4), + ItemList.Circuit_Silicon_Wafer5.get(8), + ItemList.Circuit_Wafer_QPIC.get(2), + ItemList.Circuit_Chip_NPIC.get(4), + ItemList.Circuit_Wafer_SoC2.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 24), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UHV), 2), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UV), 2)) + .itemOutputs(ItemList.Cover_SolarPanel_ZPM.get(1)) + .fluidInputs(MaterialsKevlar.Kevlar.getMolten(1 * 144)) + .metadata(data, new SolarFactoryRecipeData(5, 8)).duration(10 * SECONDS).eut(TierEU.RECIPE_UHV), + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Cover_SolarPanel_ZPM.get(1), + NHItemList.IrradiantReinforcedNaquadriaPlate.getIS(4), + ItemList.Circuit_Silicon_Wafer5.get(4), + NHItemList.PicoWafer.getIS(6), + ItemList.Circuit_Chip_PPIC.get(4), + ItemList.Circuit_Chip_CrystalSoC2.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 36), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UEV), 2), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UHV), 2)) + .itemOutputs(ItemList.Cover_SolarPanel_UV.get(1)) + .fluidInputs(MaterialsKevlar.Kevlar.getMolten(2 * 144)) + .metadata(data, new SolarFactoryRecipeData(5, 4)).duration(10 * SECONDS).eut(TierEU.RECIPE_UEV), + + // Non-recursive / skipping recipes + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.IrradiantReinforcedTungstenPlate.getIS(4), + ItemList.Circuit_Silicon_Wafer2.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 8), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.IV), 4), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.StainlessSteel), 8)) + .itemOutputs(ItemList.Cover_SolarPanel_LV.get(1)) + .fluidInputs( + Materials.VibrantAlloy.getMolten(4 * 144), + Materials.IndiumGalliumPhosphide.getMolten(4 * 144)) + .metadata(data, new SolarFactoryRecipeData(2, 4, 2)).duration(10 * SECONDS).eut(TierEU.RECIPE_HV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.IrradiantReinforcedTungstenSteelPlate.getIS(4), + ItemList.Circuit_Silicon_Wafer3.get(4), + ItemList.Circuit_Wafer_PIC.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorIV, 8), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.LuV), 4), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.HSSE), 8)) + .itemOutputs(ItemList.Cover_SolarPanel_MV.get(1)) + .fluidInputs(Materials.Barium.getMolten(2 * 144), Materials.MeteoricSteel.getMolten(4 * 144)) + .metadata(data, new SolarFactoryRecipeData(3, 4, 2)).duration(10 * SECONDS).eut(TierEU.RECIPE_EV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.IrradiantReinforcedChromePlate.getIS(4), + ItemList.Circuit_Silicon_Wafer3.get(8), + ItemList.Circuit_Wafer_HPIC.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorLuV, 8), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.ZPM), 4), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.Naquadah), 8)) + .itemOutputs(ItemList.Cover_SolarPanel_HV.get(1)) + .fluidInputs(Materials.Uranium.getMolten(4 * 144), Materials.Sunnarium.getMolten(8 * 144)) + .metadata(data, new SolarFactoryRecipeData(3, 8, 2)).duration(10 * SECONDS).eut(TierEU.RECIPE_IV), + + GTValues.RA.stdBuilder().itemInputs( + getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 2, 8, missing), + // Irradiant Reinforced Iridium Plate + ItemList.Circuit_Silicon_Wafer4.get(8), + ItemList.Circuit_Wafer_UHPIC.get(4), + ItemList.Circuit_Chip_NPIC.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 20), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UV), 4), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.NaquadahAlloy), 16)) + .itemOutputs(ItemList.Cover_SolarPanel_EV.get(1)) + .fluidInputs( + Materials.Plutonium.getMolten(2 * 144), + Materials.Knightmetal.getMolten(4 * 144), + Materials.Ultimet.getMolten(8 * 144)) + .metadata(data, new SolarFactoryRecipeData(4, 8, 2)).duration(10 * SECONDS).eut(TierEU.RECIPE_LuV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.IrradiantReinforcedNaquadriaPlate.getIS(2), + ItemList.Circuit_Silicon_Wafer5.get(8), + ItemList.Circuit_Wafer_QPIC.get(4), + ItemList.Circuit_Chip_NPIC.get(8), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 16), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UHV), 2), + GTOreDictUnificator.get(OrePrefixes.plate.get(Materials.Tritanium), 8)) + .itemOutputs(ItemList.Cover_SolarPanel_IV.get(1)) + .fluidInputs( + Materials.Chrome.getMolten(8 * 144), + Materials.NaquadahAlloy.getMolten(4 * 144), + Materials.FierySteel.getMolten(2 * 144)) + .metadata(data, new SolarFactoryRecipeData(5, 8, 2)).duration(10 * SECONDS).eut(TierEU.RECIPE_ZPM), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.IrradiantReinforcedNeutroniumPlate.getIS(4), + ItemList.Circuit_Silicon_Wafer5.get(8), + ItemList.Circuit_Chip_UHPIC.get(4), + ItemList.Circuit_Chip_PPIC.get(2), + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UEV), 1), + GTOreDictUnificator.get(OrePrefixes.plateSuperdense.get(Materials.SiliconSG), 2), + GTOreDictUnificator.get(OrePrefixes.plateSuperdense.get(Materials.Steeleaf), 1), + getModItem(SuperSolarPanels.ID, "solarsplitter", 4, missing)) + .itemOutputs(ItemList.Cover_SolarPanel_LuV.get(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("molten.indalloy140"), 8 * 144), + Materials.FierySteel.getMolten(4 * 144), + Materials.Knightmetal.getMolten(4 * 144)) + .metadata(data, new SolarFactoryRecipeData(5, 8, 2)).duration(10 * SECONDS).eut(TierEU.RECIPE_UV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.IrradiantReinforcedNeutroniumPlate.getIS(6), + ItemList.Circuit_Silicon_Wafer5.get(8), + ItemList.Circuit_Chip_UHPIC.get(8), + ItemList.Circuit_Chip_PPIC.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 32), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UEV), 4), + GTOreDictUnificator.get(OrePrefixes.plateSuperdense.get(Materials.Samarium), 1), + GTOreDictUnificator.get(OrePrefixes.plateSuperdense.get(Materials.Steeleaf), 1)) + .itemOutputs(ItemList.Cover_SolarPanel_ZPM.get(1)) + .fluidInputs(Materials.Infinity.getMolten(2 * 144), MaterialsKevlar.Kevlar.getMolten(4 * 144)) + .metadata(data, new SolarFactoryRecipeData(5, 8, 3)).duration(10 * SECONDS).eut(TierEU.RECIPE_UHV), + + GTValues.RA.stdBuilder() + .itemInputs( + NHItemList.IrradiantReinforcedNeutroniumPlate.getIS(8), + ItemList.Circuit_Silicon_Wafer5.get(8), + NHItemList.PicoWafer.getIS(12), + ItemList.Circuit_Chip_UHPIC.get(16), + ItemList.Circuit_Chip_PPIC.get(8), + GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 32), + GTOreDictUnificator.get(OrePrefixes.circuit.get(Materials.UEV), 8), + GTOreDictUnificator.get(OrePrefixes.plateSuperdense.get(Materials.ElectrumFlux), 2), + GTOreDictUnificator.get(OrePrefixes.plateSuperdense.get(Materials.Steeleaf), 1)) + .itemOutputs(ItemList.Cover_SolarPanel_UV.get(1)) + .fluidInputs( + Materials.Infinity.getMolten(4 * 144), + MaterialsKevlar.Kevlar.getMolten(8 * 144), + Materials.Knightmetal.getMolten(2 * 144)) + .metadata(data, new SolarFactoryRecipeData(5, 8, 3)).duration(10 * SECONDS) + .eut(TierEU.RECIPE_UEV) }; + + public void run() { + if (AdvancedSolarPanel.isModLoaded() && SuperSolarPanels.isModLoaded()) { + // Fake + for (GTRecipeBuilder recipeBuilder : SolarFactoryRawRecipes) { + GTRecipeBuilder tempRecipe = recipeBuilder.copy(); + tempRecipe.fake().addTo(solarFactoryRecipes); + } + + // Hidden + for (GTRecipeBuilder recipeBuilder : SolarFactoryRawRecipes) { + GTRecipeBuilder tempRecipe = recipeBuilder.copy(); + ItemStack[] tempRecipeInputs = tempRecipe.getItemInputsBasic(); + ArrayList inputs = new ArrayList<>(Arrays.asList(tempRecipeInputs)); + nextRecipe: for (int i = 1; i < tempRecipeInputs.length; i++) { + for (Pair pair : validWafers) { + if (i > inputs.size()) break nextRecipe; + if (inputs.get(i).isItemEqual(pair.getLeft())) { + inputs.remove(i); + break nextRecipe; + } + } + } + tempRecipe.itemInputs(inputs.toArray()).hidden().addTo(solarFactoryRecipes); + } + } + } +} diff --git a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java index c132b2595..69578af34 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java +++ b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java @@ -914,96 +914,6 @@ public void loadRecipes() { .itemOutputs(CustomItemList.LeadNickelPlate.get(2L)) .fluidInputs(FluidRegistry.getFluidStack("ic2coolant", 2000)).duration(30 * SECONDS).eut(1024) .addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedAluminiumIronPlate.get(1L), - getModItem(EnderIO.ID, "itemMaterial", 1, 6, missing), - getModItem(IndustrialCraft2.ID, "itemPartIndustrialDiamond", 1, 0, missing), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedAluminiumPlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 144)).duration(30 * SECONDS).eut(120) - .addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedTitaniumIronPlate.get(1L), - getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 0, missing), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.MeteoricSteel, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Lapis, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedTitaniumPlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 288)).duration(30 * SECONDS).eut(480) - .addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedTungstenIronPlate.get(1L), - getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 3, missing), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Steeleaf, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedTungstenPlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 576)).duration(30 * SECONDS).eut(1920) - .addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedTungstenSteelIronPlate.get(1L), - GTOreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Sunnarium, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Plutonium, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Knightmetal, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedTungstenSteelPlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 1152)).duration(30 * SECONDS) - .eut(7680).addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedChromeIronPlate.get(1L), - getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 1, missing), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.YttriumBariumCuprate, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.FierySteel, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedChromePlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 2304)).duration(30 * SECONDS) - .eut(30720).addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 7, missing), - getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 4, missing), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 8, missing)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 4608)).duration(30 * SECONDS) - .eut(122880).addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedNaquadriaIronPlate.get(1L), - NHItemList.EnrichedNaquadriaSunnariumAlloy.getIS(1), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Quantium, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedNaquadriaPlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 9216)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_UV).addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedNeutroniumIronPlate.get(1L), - NHItemList.EnrichedNaquadriaNeutroniumSunnariumAlloy.getIS(1), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.MysteriousCrystal, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedNeutroniumPlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 18432)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_UHV).addTo(assemblerRecipes); - GTValues.RA.stdBuilder() - .itemInputs( - CustomItemList.ReinforcedBedrockiumIronPlate.get(1L), - NHItemList.EnrichedXSunnariumAlloy.getIS(1), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 1L), - GTOreDictUnificator.get(OrePrefixes.plate, Materials.InfinityCatalyst, 2L), - GTOreDictUnificator.get(OrePrefixes.screw, Materials.RedAlloy, 4L)) - .itemOutputs(CustomItemList.IrradiantReinforcedBedrockiumPlate.get(1L)) - .fluidInputs(FluidRegistry.getFluidStack("molten.solderingalloy", 36864)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_UEV).addTo(assemblerRecipes); GTValues.RA.stdBuilder().itemInputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.MysteriousCrystal, 1L)) .itemOutputs(getModItem(GalaxySpace.ID, "item.UnknowCrystal", 1, 0, missing)).outputChances(10000) .fluidInputs(FluidRegistry.getFluidStack("molten.void", 288)).duration(1 * MINUTES).eut(480) diff --git a/src/main/java/com/dreammaster/scripts/ScriptGregtech.java b/src/main/java/com/dreammaster/scripts/ScriptGregtech.java index 233525a11..71e9ec131 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptGregtech.java +++ b/src/main/java/com/dreammaster/scripts/ScriptGregtech.java @@ -613,241 +613,6 @@ public void loadRecipes() { "dyeBlue", "dyeWhite"); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_LV.get(1L), - "---------", - "---------", - "---aba---", - "---cdc---", - "---efe---", - "---cdc---", - "---aba---", - "---------", - "---------", - 'a', - "wireGt01SuperconductorMV", - 'b', - CustomItemList.IrradiantReinforcedAluminiumPlate.get(1L), - 'c', - ItemList.Circuit_Silicon_Wafer2.get(1L), - 'd', - "platePolytetrafluoroethylene", - 'e', - "circuitAdvanced", - 'f', - ItemList.Cover_SolarPanel_8V.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_MV.get(1L), - "---------", - "----a----", - "---bcb---", - "---ded---", - "---fgf---", - "---ded---", - "---bcb---", - "----a----", - "---------", - 'a', - ItemList.Circuit_Chip_ULPIC.get(1L), - 'b', - "wireGt01SuperconductorHV", - 'c', - CustomItemList.IrradiantReinforcedTitaniumPlate.get(1L), - 'd', - ItemList.Circuit_Silicon_Wafer2.get(1L), - 'e', - "plateEpoxid", - 'f', - "circuitData", - 'g', - ItemList.Cover_SolarPanel_LV.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_HV.get(1L), - "---------", - "----a----", - "---bcb---", - "---ded---", - "--ffgff--", - "---ded---", - "---bcb---", - "----a----", - "---------", - 'a', - ItemList.Circuit_Chip_LPIC.get(1L), - 'b', - "wireGt01SuperconductorEV", - 'c', - CustomItemList.IrradiantReinforcedTungstenPlate.get(1L), - 'd', - ItemList.Circuit_Silicon_Wafer2.get(1L), - 'e', - "plateIndiumGalliumPhosphide", - 'f', - "circuitElite", - 'g', - ItemList.Cover_SolarPanel_MV.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_EV.get(1L), - "---------", - "----a----", - "--bcdcb--", - "---efe---", - "-bgghggb-", - "---efe---", - "--bcdcb--", - "----a----", - "---------", - 'a', - ItemList.Circuit_Chip_PIC.get(1L), - 'b', - "wireGt01SuperconductorIV", - 'c', - "plateTripleSiliconSolarGrade", - 'd', - CustomItemList.IrradiantReinforcedTungstenSteelPlate.get(1L), - 'e', - ItemList.Circuit_Silicon_Wafer3.get(1L), - 'f', - "platePolybenzimidazole", - 'g', - "circuitMaster", - 'h', - ItemList.Cover_SolarPanel_HV.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_IV.get(1L), - "---------", - "----a----", - "--bcdcb--", - "--efgfe--", - "-bhhihhb-", - "--efgfe--", - "--bcdcb--", - "----a----", - "---------", - 'a', - ItemList.Circuit_Chip_HPIC.get(1L), - 'b', - "wireGt01SuperconductorLuV", - 'c', - ItemList.Circuit_Silicon_Wafer2.get(1L), - 'd', - CustomItemList.IrradiantReinforcedChromePlate.get(1L), - 'e', - "plateQuadrupleSiliconSolarGrade", - 'f', - ItemList.Circuit_Silicon_Wafer3.get(1L), - 'g', - "plateDoublePolybenzimidazole", - 'h', - "circuitUltimate", - 'i', - ItemList.Cover_SolarPanel_EV.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_LuV.get(1L), - "----a----", - "---bcb---", - "--bdedb--", - "--fghgf--", - "-icjkjci-", - "--fghgf--", - "--bdedb--", - "---bcb---", - "----a----", - 'a', - ItemList.Circuit_Chip_UHPIC.get(1L), - 'b', - "wireGt02SuperconductorZPM", - 'c', - "circuitUltimate", - 'd', - ItemList.Circuit_Silicon_Wafer3.get(1L), - 'e', - getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1, 8, missing), - 'f', - "plateQuintupleSiliconSolarGrade", - 'g', - ItemList.Circuit_Silicon_Wafer4.get(1L), - 'h', - GTOreDictUnificator.get(OrePrefixes.plateTriple, Materials.Polybenzimidazole, 1L), - 'i', - getModItem(SuperSolarPanels.ID, "solarsplitter", 1, 0, missing), - 'j', - "circuitSuperconductor", - 'k', - ItemList.Cover_SolarPanel_IV.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_ZPM.get(1L), - "---aba---", - "--cadac--", - "--aefea--", - "--ghihg--", - "-fjklkjf-", - "--ghihg--", - "--aefea--", - "--cadac--", - "---aba---", - 'a', - "wireGt02SuperconductorUV", - 'b', - ItemList.Circuit_Wafer_SoC2.get(1L), - 'c', - ItemList.Circuit_Chip_NPIC.get(1L), - 'd', - ItemList.Circuit_Wafer_QPIC.get(1L), - 'e', - ItemList.Circuit_Silicon_Wafer4.get(1L), - 'f', - CustomItemList.IrradiantReinforcedNaquadriaPlate.get(1L), - 'g', - getModItem(IndustrialCraft2.ID, "itemPartCarbonPlate", 1, 0, missing), - 'h', - ItemList.Circuit_Silicon_Wafer5.get(1L), - 'i', - GTOreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Polybenzimidazole, 1L), - 'j', - "circuitSuperconductor", - 'k', - "circuitInfinite", - 'l', - ItemList.Cover_SolarPanel_LuV.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( - ItemList.Cover_SolarPanel_UV.get(1L), - "--abcba--", - "-daefead-", - "-agbhbga-", - "-aibjbia-", - "ahklmlkha", - "-aibjbia-", - "-agbhbga-", - "-daefead-", - "--abcba--", - 'a', - "wireGt02Superconductor", - 'b', - "plateDenseSiliconSolarGrade", - 'c', - ItemList.Circuit_Chip_CrystalSoC2.get(1L), - 'd', - ItemList.Circuit_Chip_PPIC.get(1L), - 'e', - ItemList.Circuit_Silicon_Wafer5.get(1L), - 'f', - CustomItemList.RawPicoWafer.get(1L), - 'g', - CustomItemList.PicoWafer.get(1L), - 'h', - CustomItemList.IrradiantReinforcedNeutroniumPlate.get(1L), - 'i', - getModItem(IndustrialCraft2.ID, "itemPartCarbonPlate", 1, 0, missing), - 'j', - GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Polybenzimidazole, 1L), - 'k', - "circuitInfinite", - 'l', - "circuitBio", - 'm', - ItemList.Cover_SolarPanel_ZPM.get(1L)); - ExtremeCraftingManager.getInstance().addExtremeShapedOreRecipe( ItemList.Spray_Color_Infinite.get(1L), "---RR----",