diff options
Diffstat (limited to 'src/main/java/gregtech/loaders/postload')
7 files changed, 155 insertions, 92 deletions
diff --git a/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java index 1339e17f44..80975a85f7 100644 --- a/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java @@ -11,9 +11,6 @@ import java.util.stream.Collectors; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import gregtech.GT_Mod; import gregtech.api.GregTech_API; @@ -2095,17 +2092,6 @@ public class GT_CraftingRecipeLoader implements Runnable { Materials.Fireclay.getDust(2), new Object[] { Materials.Brick.getDust(1), Materials.Clay.getDust(1) }); - ItemStack flask = ItemList.VOLUMETRIC_FLASK.get(1); - NBTTagCompound nbtFlask = new NBTTagCompound(); - nbtFlask.setInteger("Capacity", 1000); - flask.setTagCompound(nbtFlask); - GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ball.get(0), - new FluidStack(FluidRegistry.getFluid("molten.borosilicateglass"), 144), - flask, - 44, - 24); - if (BartWorks.isModLoaded()) { GT_ModHandler.addCraftingRecipe( ItemList.Casing_Advanced_Rhodium_Palladium.get(1L), diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java index be8130aa7e..0dd3bf1705 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java @@ -5,6 +5,12 @@ import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GoodGenerator; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; @@ -31,31 +37,43 @@ public class GT_NaniteChain { ? FluidRegistry.getFluid("molten.indalloy140") : FluidRegistry.getFluid("molten.solderingalloy"); - GT_Values.RA.addAssemblylineRecipe( - Materials.Carbon.getNanite(1), - 3600 * 20, - new Object[] { ItemList.Hull_UV.get(16), Materials.Carbon.getNanite(16), - ItemList.Field_Generator_ZPM.get(16), ItemList.Conveyor_Module_UV.get(16), - ItemList.Electric_Motor_UV.get(32), new Object[] { OrePrefixes.circuit.get(Materials.Master), 16 }, - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 32) }, - new FluidStack[] { new FluidStack(solderIndalloy, 144 * 32), Materials.HSSS.getMolten(144L * 32), - Materials.Osmiridium.getMolten(144L * 16) }, - ItemList.NanoForge.get(1), - 2400 * 20, - (int) GT_Values.VP[7]); - - GT_Values.RA.addAssemblylineRecipe( - ItemList.Circuit_Crystalmainframe.get(1), - 144000, - new Object[] { new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 16 }, - ItemList.Robot_Arm_UV.get(16), ItemList.Circuit_Chip_Stemcell.get(32), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, Materials.Carbon.getNanite(1)) + .metadata(RESEARCH_TIME, 1 * HOURS) + .itemInputs( + ItemList.Hull_UV.get(16), + Materials.Carbon.getNanite(16), + ItemList.Field_Generator_ZPM.get(16), + ItemList.Conveyor_Module_UV.get(16), + ItemList.Electric_Motor_UV.get(32), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 16 }, + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 32)) + .fluidInputs( + new FluidStack(solderIndalloy, 144 * 32), + Materials.HSSS.getMolten(144L * 32), + Materials.Osmiridium.getMolten(144L * 16)) + .noFluidOutputs() + .itemOutputs(ItemList.NanoForge.get(1)) + .eut(TierEU.RECIPE_ZPM) + .duration(40 * MINUTES) + .addTo(AssemblyLine); + + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Circuit_Crystalmainframe.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 16 }, + ItemList.Robot_Arm_UV.get(16), + ItemList.Circuit_Chip_Stemcell.get(32), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NaquadahAlloy, 32), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahAlloy, 16), - Materials.Carbon.getDust(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(10000), new FluidStack(solderIndalloy, 144 * 32) }, - Materials.Carbon.getNanite(2), - 50 * 20, - (int) GT_Values.VP[8]); + Materials.Carbon.getDust(64)) + .fluidInputs(Materials.UUMatter.getFluid(10000), new FluidStack(solderIndalloy, 144 * 32)) + .noFluidOutputs() + .itemOutputs(Materials.Carbon.getNanite(2)) + .eut(TierEU.RECIPE_UV) + .duration(50 * SECONDS) + .addTo(AssemblyLine); /* * General Rules for making nanite recipes: 1. Never make a nanite that takes a long time to make and only gives diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java index 7a1d74466a..6cd402b050 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java @@ -2,6 +2,13 @@ package gregtech.loaders.postload.chains; import static gregtech.api.enums.Mods.BartWorks; import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import java.util.ArrayList; import java.util.List; @@ -11,7 +18,11 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import gregtech.api.enums.*; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_PCBFactoryManager; @@ -31,46 +42,66 @@ public class GT_PCBFactoryRecipes { : FluidRegistry.getFluid("molten.solderingalloy"); // Load Multi Recipes - GT_Values.RA.addAssemblylineRecipe( - ItemList.Circuit_Board_Wetware.get(1), - 3600, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 32), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Circuit_Board_Wetware.get(1)) + .metadata(RESEARCH_TIME, 3 * MINUTES) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 32), ItemList.Machine_ZPM_CircuitAssembler.get(4), - new Object[] { OrePrefixes.circuit.get(Materials.Master), 16 }, ItemList.Robot_Arm_ZPM.get(8) }, - new FluidStack[] { new FluidStack(solderLuV, 144 * 36), Materials.Naquadah.getMolten(144 * 18) }, - ItemList.PCBFactory.get(1), - 6000 * 20, - (int) GT_Values.VP[8]); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), - Materials.get("Artherium-Sn") - .getPlates(6) }, - null, - ItemList.BasicPhotolithographicFrameworkCasing.get(1), - 30 * 20, - (int) GT_Values.VP[7]); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1), - Materials.EnrichedHolmium.getPlates(6) }, - null, - ItemList.ReinforcedPhotolithographicFrameworkCasing.get(1), - 30 * 20, - (int) GT_Values.VP[9]); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_ModHandler.getModItem(GTPlusPlus.ID, "blockFrameGtCelestialTungsten", 1), - Materials.get("Quantum") - .getPlates(6) }, - null, - ItemList.RadiationProofPhotolithographicFrameworkCasing.get(1), - 30 * 20, - (int) GT_Values.VP[11]); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_ModHandler.getModItem(GTPlusPlus.ID, "blockFrameGtHypogen", 1), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 2), Materials.Thulium.getPlates(6) }, - MaterialsUEVplus.SpaceTime.getMolten(144 * 8), - ItemList.InfinityCooledCasing.get(1), - 10 * 20, - (int) GT_Values.VP[12]); + new Object[] { OrePrefixes.circuit.get(Materials.Master), 16 }, + ItemList.Robot_Arm_ZPM.get(8)) + .fluidInputs(new FluidStack(solderLuV, 144 * 36), Materials.Naquadah.getMolten(144 * 18)) + .noFluidOutputs() + .itemOutputs(ItemList.PCBFactory.get(1)) + .eut(TierEU.RECIPE_UV) + .duration(1 * HOURS + 40 * MINUTES) + .addTo(AssemblyLine); + + if (GTPlusPlus.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), + Materials.get("Artherium-Sn") + .getPlates(6)) + .itemOutputs(ItemList.BasicPhotolithographicFrameworkCasing.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(sAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1), + Materials.EnrichedHolmium.getPlates(6)) + .itemOutputs(ItemList.ReinforcedPhotolithographicFrameworkCasing.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(sAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getModItem(GTPlusPlus.ID, "blockFrameGtCelestialTungsten", 1), + Materials.get("Quantum") + .getPlates(6)) + .itemOutputs(ItemList.RadiationProofPhotolithographicFrameworkCasing.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(sAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getModItem(GTPlusPlus.ID, "blockFrameGtHypogen", 1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 2), + Materials.Thulium.getPlates(6)) + .itemOutputs(ItemList.InfinityCooledCasing.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(sAssemblerRecipes); + } // Load CircuitBoard Recipes diff --git a/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java index 662f9725d0..79b87a5e64 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java @@ -1,7 +1,11 @@ package gregtech.loaders.postload.recipes; -import static gregtech.api.enums.GT_Values.NI; -import static gregtech.api.enums.Mods.*; +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.ExtraUtilities; +import static gregtech.api.enums.Mods.GregTech; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.enums.Mods.ThaumicTinkerer; +import static gregtech.api.enums.Mods.TwilightForest; import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; @@ -13,7 +17,12 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import gregtech.api.enums.*; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsOreAlum; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -951,8 +960,7 @@ public class CentrifugeRecipes implements Runnable { getModItem(ExtraUtilities.ID, "greenscreen", 1L, 5), getModItem(ExtraUtilities.ID, "greenscreen", 1L, 4), getModItem(ExtraUtilities.ID, "greenscreen", 1L, 8), - getModItem(ExtraUtilities.ID, "greenscreen", 1L, 0), - NI) + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 0)) .noFluidInputs() .noFluidOutputs() .duration(25 * SECONDS + 12 * TICKS) @@ -968,8 +976,7 @@ public class CentrifugeRecipes implements Runnable { getModItem(ExtraUtilities.ID, "greenscreen", 1L, 9), getModItem(ExtraUtilities.ID, "greenscreen", 1L, 11), getModItem(ExtraUtilities.ID, "greenscreen", 1L, 7), - getModItem(ExtraUtilities.ID, "greenscreen", 1L, 15), - NI) + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 15)) .noFluidInputs() .noFluidOutputs() .duration(25 * SECONDS + 12 * TICKS) diff --git a/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java index b367ab6381..dbcabfcd3f 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java @@ -15,6 +15,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeBuilder; import gregtech.api.util.GT_Utility; public class CropProcessingRecipes implements Runnable { @@ -131,14 +132,19 @@ public class CropProcessingRecipes implements Runnable { : aMaterialOut.mOreByProducts.get(0) .getMolten(144); - GT_Values.RA.stdBuilder() + GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + recipeBuilder .itemInputs( GT_Utility.copyAmount(9, tCrop), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4)) - .fluidInputs(Materials.Water.getFluid(1000)) - .fluidOutputs(fluidOutputChemReactor) - .duration(4 * SECONDS + 16 * TICKS) + .fluidInputs(Materials.Water.getFluid(1000)); + if (fluidOutputChemReactor == null) { + recipeBuilder.noFluidOutputs(); + } else { + recipeBuilder.fluidOutputs(fluidOutputChemReactor); + } + recipeBuilder.duration(4 * SECONDS + 16 * TICKS) .eut(24) .addTo(UniversalChemical); diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java index 12133467e4..d3c410ee38 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java @@ -11,6 +11,8 @@ import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import gregtech.api.GregTech_API; @@ -48,6 +50,21 @@ public class FluidSolidifierRecipes implements Runnable { .addTo(sFluidSolidficationRecipes); } + { + ItemStack flask = ItemList.VOLUMETRIC_FLASK.get(1); + NBTTagCompound nbtFlask = new NBTTagCompound(); + nbtFlask.setInteger("Capacity", 1000); + flask.setTagCompound(nbtFlask); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0)) + .itemOutputs(getModItem(Thaumcraft.ID, "ItemResource", 1, 3)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("molten.borosilicateglass"), 144)) + .noFluidOutputs() + .duration(2 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(sFluidSolidficationRecipes); + } + GT_Values.RA.stdBuilder() .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) .itemOutputs(getModItem(Thaumcraft.ID, "ItemResource", 1, 3)) diff --git a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java index 948dea4045..af22cd4933 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java @@ -1,7 +1,5 @@ package gregtech.loaders.postload.recipes; -import static gregtech.api.enums.GT_Values.NF; -import static gregtech.api.enums.GT_Values.NI; import static gregtech.api.enums.Mods.*; import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; @@ -1389,10 +1387,10 @@ public class MixerRecipes implements Runnable { // radiation manufacturing GT_Values.RA.stdBuilder() - .itemInputs(GT_ModHandler.getIC2Item("fuelRod", 1), new ItemStack(Items.glowstone_dust, 9), NI, NI) + .itemInputs(GT_ModHandler.getIC2Item("fuelRod", 1), new ItemStack(Items.glowstone_dust, 9)) .itemOutputs(ItemList.GlowstoneCell.get(1)) .fluidInputs(Materials.Helium.getGas(250)) - .fluidOutputs(NF) + .noFluidOutputs() .duration(1 * SECONDS + 10 * TICKS) .eut(16) .addTo(sMixerRecipes); |
