diff options
Diffstat (limited to 'src/main/java/gregtech/loaders')
10 files changed, 266 insertions, 293 deletions
diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java index 0343362c77..bed97ca010 100644 --- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -3,6 +3,12 @@ package gregtech.loaders.load; import static gregtech.api.enums.Mods.BloodMagic; import static gregtech.api.enums.Mods.EnderIO; import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.extremeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.hugeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.largeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.magicFuels; +import static gregtech.api.recipe.RecipeMaps.smallNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.ultraHugeNaquadahReactorFuels; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; @@ -16,11 +22,9 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.fluid.GT_FluidFactory; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_RecipeConstants; public class GT_FuelLoader implements Runnable { @@ -39,117 +43,79 @@ public class GT_FuelLoader implements Runnable { ItemList.sLeadZincSolution = GT_FluidFactory .of("leadzincsolution", "Lead-Zinc solution", null, FluidState.LIQUID, 295); ItemList.sRocketFuel = GT_FluidFactory.of("rocket_fuel", "Rocket Fuel", null, FluidState.LIQUID, 295); - new GT_Recipe( - new ItemStack(Items.lava_bucket), - new ItemStack(Blocks.obsidian), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L), - 30, - 2); - RecipeMaps.smallNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 50000); - RecipeMaps.largeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 250000); - RecipeMaps.hugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 500000); - RecipeMaps.extremeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 250000); - RecipeMaps.ultraHugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 1000000); - RecipeMaps.fluidNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 1400000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 50_000) + .addTo(smallNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(largeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 500_000) + .addTo(hugeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(extremeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1_000_000) + .addTo(ultraHugeNaquadahReactorFuels); // BloodMagic - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L) }, - null, - null, - null, - 0, - 0, - 400); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, - null, - null, - null, - 0, - 0, - 1000); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, - null, - null, - null, - 0, - 0, - 8000); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, - null, - null, - null, - 0, - 0, - 20000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 400) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1000) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 8000) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 20000) + .addTo(magicFuels); GT_Values.RA.stdBuilder() .itemInputs(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4)) diff --git a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java index 26534f5414..a44b411ba0 100644 --- a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java +++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java @@ -240,10 +240,6 @@ public class GT_ItemIterator implements Runnable { .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_ModHandler.addSawmillRecipe( - new ItemStack(tItem, 1, 0), - new ItemStack(Items.stick, 4), - new ItemStack(Items.stick, 2)); GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(tItem, 1, 1)) .itemOutputs(new ItemStack(Items.stick, 4)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java index 5a6bdfcf13..f7057065eb 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java @@ -1,8 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; @@ -11,7 +14,6 @@ import java.util.ArrayList; import net.minecraft.item.ItemStack; -import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -39,11 +41,16 @@ public class ProcessingCell implements IOreRecipeRegistrator { if (aMaterial == Materials.Empty) { GT_ModHandler.removeRecipeByOutputDelayed(aStack); if (aModName.equalsIgnoreCase("AtomicScience")) { - GT_ModHandler.addExtractionRecipe(ItemList.Cell_Empty.get(1L), aStack); + RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1L)) + .itemOutputs(aStack) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); } } else { if (aMaterial.mFuelPower > 0) { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack)); if (GT_Utility.getFluidForFilledItem(aStack, true) == null && GT_Utility.getContainerItem(aStack, true) != null) { @@ -122,7 +129,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { // Electrolyzer recipe if (GT_Utility.getFluidForFilledItem(aStack, true) == null) { // dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCapsuleCount > 0L) { recipeBuilder.itemInputs( GT_Utility.copyAmount(tItemAmount, aStack), @@ -140,7 +147,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { .addTo(electrolyzerRecipes); } else { long tCellBalance = tCapsuleCount + tItemAmount - 1; - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCellBalance > 0L) { recipeBuilder.itemInputs(aStack, ItemList.Cell_Empty.get(tCellBalance)); } else { @@ -157,7 +164,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { } } if ((aMaterial.mExtraData & 0x2) != 0) { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCapsuleCount > 0L) { recipeBuilder.itemInputs( GT_Utility.copyAmount(tItemAmount, aStack), @@ -180,7 +187,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { if (aMaterial == Materials.Empty) { GT_ModHandler.removeRecipeByOutputDelayed(aStack); } else { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack)); if (GT_Utility.getFluidForFilledItem(aStack, true) == null && GT_Utility.getContainerItem(aStack, true) != null) { @@ -426,7 +433,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { .addTo(GT_RecipeConstants.Fuel); } if (GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L) != null) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.copyAmount(1, aStack)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L)) .duration(((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java index 7cb26f7c36..c8a3af1130 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -290,16 +290,12 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L)); break; case "Oilsands": - centrifugeRecipes.addRecipe( - true, - new ItemStack[] { GT_Utility.copyAmount(1, aStack) }, - null, - null, - null, - new FluidStack[] { Materials.OilHeavy.getFluid(1000) }, - 660, - 8, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack)) + .fluidOutputs(Materials.OilHeavy.getFluid(1000)) + .duration(33 * SECONDS) + .eut(8) + .addTo(centrifugeRecipes); break; case "HydratedCoal": GT_ModHandler.addSmeltingRecipe( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java index f3e82c0b0e..9661033e6a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java @@ -1,8 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import java.util.Locale; @@ -59,21 +62,21 @@ public class ProcessingDye implements IOreRecipeRegistrator { } public void registerAlloySmelter(ItemStack stack, Dyes dye) { - GT_ModHandler.addAlloySmelterRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), - GT_Utility.copyAmount(1, stack), - new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), - 200, - 8, - false); + RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), + GT_Utility.copyAmount(1, stack)) + .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex)) + .duration(10 * SECONDS) + .eut(8) + .addTo(alloySmelterRecipes); - GT_ModHandler.addAlloySmelterRecipe( - new ItemStack(Blocks.glass, 8, 32767), - GT_Utility.copyAmount(1, stack), - new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), - 200, - 8, - false); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.glass, 8, WILDCARD), GT_Utility.copyAmount(1, stack)) + .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex)) + .duration(10 * SECONDS) + .eut(8) + .addTo(alloySmelterRecipes); } public void registerChemicalReactor(ItemStack stack, Dyes dye) { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java index 737ef4682a..5985e24dc7 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java @@ -187,10 +187,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra .duration(10 * SECONDS) .eut(8) .addTo(cutterRecipes); - GT_ModHandler.addSawmillRecipe( - new ItemStack(aStack.getItem(), 1, i), - tPlanks, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)); GT_ModHandler.removeRecipeDelayed(new ItemStack(aStack.getItem(), 1, i)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( @@ -260,10 +256,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra .duration(10 * SECONDS) .eut(8) .addTo(cutterRecipes); - GT_ModHandler.addSawmillRecipe( - GT_Utility.copyAmount(1, aStack), - tPlanks, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)); GT_ModHandler.removeRecipeDelayed(GT_Utility.copyAmount(1, aStack)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java index be8322f30c..801eaa8354 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java @@ -2,6 +2,7 @@ package gregtech.loaders.oreprocessing; import static gregtech.api.enums.GT_Values.L; import static gregtech.api.enums.GT_Values.NI; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.GT_Values.W; import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; @@ -15,6 +16,7 @@ import static gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLIS import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_Utility.calculateRecipeEU; @@ -552,20 +554,18 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist .addTo(alloySmelterRecipes); } case "plateAlloyAdvanced" -> { - GT_ModHandler.addAlloySmelterRecipe( - GT_Utility.copyAmount(1, aStack), - new ItemStack(Blocks.glass, 3, W), - GT_ModHandler.getIC2Item("reinforcedGlass", 4L), - 400, - 4, - false); - GT_ModHandler.addAlloySmelterRecipe( - GT_Utility.copyAmount(1, aStack), - Materials.Glass.getDust(3), - GT_ModHandler.getIC2Item("reinforcedGlass", 4L), - 400, - 4, - false); + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack), new ItemStack(Blocks.glass, 3, WILDCARD)) + .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L)) + .duration(20 * SECONDS) + .eut(4) + .addTo(alloySmelterRecipes); + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack), Materials.Glass.getDust(3)) + .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L)) + .duration(20 * SECONDS) + .eut(4) + .addTo(alloySmelterRecipes); } case "plateAlloyIridium" -> diff --git a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java index 92221025bd..d4e653dba2 100644 --- a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java @@ -1,18 +1,23 @@ package gregtech.loaders.postload; import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; public class GT_FakeRecipeLoader implements Runnable { @Override public void run() { - GT_Values.RA.addIC2ReactorBreederCell( - GT_ModHandler.getIC2Item("reactorLithiumCell", 1), - GT_ModHandler.getIC2Item("TritiumCell", 1), - true, - 3000, - 1, - 10000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorLithiumCell", 1)) + .itemOutputs(GT_ModHandler.getIC2Item("TritiumCell", 1)) + .setNEIDesc( + "Neutron reflecting Breeder", + String.format("Every %d reactor hull heat", 3_000), + String.format("increase speed by %d00%%", 1), + String.format("Required pulses: %d", 10_000)) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); } } 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 dabcd93a8d..1765d9693a 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java @@ -4,11 +4,13 @@ import static gregtech.api.enums.Mods.BartWorks; 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.recipe.RecipeMaps.nanoForgeRecipes; 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.NANO_FORGE_TIER; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; @@ -23,9 +25,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_RecipeBuilder; public class GT_NaniteChain { @@ -86,135 +86,143 @@ public class GT_NaniteChain { */ // Carbon Nanites - Used to make more Nano Forge Controllers - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUVTierLens, getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776), - ItemList.Circuit_Chip_SoC.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(200_000) }, - new ItemStack[] { Materials.Carbon.getNanite(64), }, - null, - null, - 500 * 20, - 10_000_000, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + aUVTierLens, + getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776), + ItemList.Circuit_Chip_SoC.get(64)) + .itemOutputs(Materials.Carbon.getNanite(64)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 1) + .duration(8 * MINUTES + 20 * SECONDS) + .eut(10_000_000) + .addTo(nanoForgeRecipes); // Silver Nanites - Used in Tier 2 PCB Factory to improve board production - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(200000) }, - new ItemStack[] { Materials.Silver.getNanite(1) }, - null, - null, - 750 * 20, - 10_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)) + .itemOutputs(Materials.Silver.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(37 * MINUTES + 30 * SECONDS) + .eut(10_000_000) + .addTo(nanoForgeRecipes); // Neutronium Nanites - Used to upgrade the Nano Forge to Tier 2 - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUHVTierLens, Materials.Neutronium.getBlocks(8), ItemList.Circuit_Chip_SoC2.get(64), - ItemList.Circuit_Chip_SoC2.get(32) }, - new FluidStack[] { Materials.UUMatter.getFluid(200000) }, - new ItemStack[] { Materials.Neutronium.getNanite(1) }, - null, - null, - 100 * 20, - 100_000_000, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + aUHVTierLens, + Materials.Neutronium.getBlocks(8), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(32)) + .itemOutputs(Materials.Neutronium.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 1) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(100_000_000) + .addTo(nanoForgeRecipes); // Glowstone Nanites - Used in the optical circuit line - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUEVTierLens, getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double - // compressed - // glowstone - // blocks - // (yes, it's - // not - // obsidian) - ItemList.Circuit_Chip_SoC2.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(50000) }, - new ItemStack[] { Materials.Glowstone.getNanite(64) }, - null, - null, - 200 * 20, - 50_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + aUEVTierLens, + getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double compressed glowstone blocks (yes, + // it's not obsidian) + ItemList.Circuit_Chip_SoC2.get(64)) + .itemOutputs(Materials.Glowstone.getNanite(64)) + .fluidInputs(Materials.UUMatter.getFluid(50_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(50_000_000) + .addTo(nanoForgeRecipes); // Gold Nanites - Used in Tier 3 PCB Factory to improve board production - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(300000) }, - new ItemStack[] { Materials.Gold.getNanite(1) }, - null, - null, - 1_000 * 20, - 100_000_000, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)) + .itemOutputs(Materials.Gold.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(300_000)) + .metadata(NANO_FORGE_TIER, 3) + .duration(16 * MINUTES + 40 * SECONDS) + .eut(100_000_000) + .addTo(nanoForgeRecipes); // Transcendent Metal Nanites - Used to upgrade the Nano Forge to Tier 3 - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUIVTierLens, MaterialsUEVplus.TranscendentMetal.getBlocks(8), - ItemList.Circuit_Chip_SoC2.get(64), ItemList.Circuit_Chip_SoC2.get(64), - ItemList.Circuit_Chip_SoC2.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(2000000) }, - new ItemStack[] { MaterialsUEVplus.TranscendentMetal.getNanite(1) }, - null, - null, - 750 * 20, - 1_000_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + aUIVTierLens, + MaterialsUEVplus.TranscendentMetal.getBlocks(8), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64)) + .itemOutputs(MaterialsUEVplus.TranscendentMetal.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(2_000_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(1_000_000_000) + .addTo(nanoForgeRecipes); // White Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto - // lens - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any - // better naming - MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, + getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better + // naming + MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8), + getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000), - MaterialsUEVplus.Space.getMolten(720), }, - new ItemStack[] { MaterialsUEVplus.WhiteDwarfMatter.getNanite(4) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.WhiteDwarfMatter.getNanite(4)) + .fluidInputs( + Materials.UUMatter.getFluid(500_000), + MaterialsUEVplus.RawStarMatter.getFluid(50_000), + MaterialsUEVplus.Space.getMolten(720)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Black Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto - // lens - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any - // better naming - MaterialsUEVplus.BlackDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, + getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better + // naming + MaterialsUEVplus.BlackDwarfMatter.getBlocks(8), + getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000), - MaterialsUEVplus.Time.getMolten(720), }, - new ItemStack[] { MaterialsUEVplus.BlackDwarfMatter.getNanite(4) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.BlackDwarfMatter.getNanite(4)) + .fluidInputs( + Materials.UUMatter.getFluid(500_000), + MaterialsUEVplus.RawStarMatter.getFluid(50_000), + MaterialsUEVplus.Time.getMolten(720)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Universium nanites. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, // Quantum Anomaly, couldn't find any better naming. - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), MaterialsUEVplus.Universium.getBlocks(8), - - ItemList.Optically_Perfected_CPU.get(16), ItemList.Optically_Compatible_Memory.get(16), + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), + MaterialsUEVplus.Universium.getBlocks(8), + ItemList.Optically_Perfected_CPU.get(16), + ItemList.Optically_Compatible_Memory.get(16), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { MaterialsUEVplus.SpaceTime.getMolten(144), Materials.Infinity.getMolten(576), - MaterialsUEVplus.PrimordialMatter.getFluid(64_000), }, - new ItemStack[] { MaterialsUEVplus.Universium.getNanite(2) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.Universium.getNanite(2)) + .fluidInputs( + MaterialsUEVplus.SpaceTime.getMolten(144), + Materials.Infinity.getMolten(576), + MaterialsUEVplus.PrimordialMatter.getFluid(64_000)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Eternity nanites GT_Values.RA.stdBuilder() @@ -229,12 +237,12 @@ public class GT_NaniteChain { .itemOutputs(MaterialsUEVplus.Eternity.getNanite(4)) .fluidInputs( MaterialsUEVplus.Space.getMolten(1152), - MaterialsUEVplus.ExcitedDTSC.getFluid(50000), + MaterialsUEVplus.ExcitedDTSC.getFluid(50_000), MaterialsUEVplus.PrimordialMatter.getFluid(64_000)) - .duration(750 * GT_RecipeBuilder.SECONDS) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) .eut(TierEU.RECIPE_MAX) - .specialValue(3) - .addTo(RecipeMaps.nanoForgeRecipes); + .addTo(nanoForgeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java index e8a52dd1f8..e700ee0730 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java @@ -28,7 +28,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(ItemList.Paper_Punch_Card_Empty.get(1L)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data")) .itemOutputs(ItemList.Paper_Punch_Card_Encoded.get(1L)) .fluidInputs(getFluidStack("squidink", 36)) .duration(5 * SECONDS) @@ -37,7 +37,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3L)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data")) .itemOutputs(ItemList.Paper_Printed_Pages.get(1L)) .fluidInputs(getFluidStack("squidink", 144)) .duration(20 * SECONDS) @@ -46,7 +46,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.map, 1, 32767)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data")) .itemOutputs(new ItemStack(Items.filled_map, 1, 0)) .fluidInputs(getFluidStack("squidink", 144)) .duration(20 * SECONDS) |