diff options
author | boubou19 <miisterunknown@gmail.com> | 2023-04-21 20:29:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-21 20:29:38 +0200 |
commit | de864236f83dc31c53ca77a6939357a0959bca75 (patch) | |
tree | ef739fd9426e7c2525b1560386faaa5bb893e30d /src/main/java/gregtech/loaders | |
parent | 285a75535d07f2037967b1208a5840fb81719514 (diff) | |
download | GT5-Unofficial-de864236f83dc31c53ca77a6939357a0959bca75.tar.gz GT5-Unofficial-de864236f83dc31c53ca77a6939357a0959bca75.tar.bz2 GT5-Unofficial-de864236f83dc31c53ca77a6939357a0959bca75.zip |
Recipes ra2 (#1872)
* Recipes RA2 fixes
* Use \uXXXX for non-ASCII characters
* Misc cleanup (#1888)
* migrate away from addThermalCentrifugeRecipe
* split recipes of GT_Block_Stones_Abstract
* migrate away from addForgeHammerRecipe
* migrate away from addChemicalBathRecipe
* remove "DisableOldChemicalRecipes" and its usage, as it's disabled by default in NH and it increases recipe complexity for nothing
* Remove underground biomes ore classes, as it's not present in NH
* migrate away from addFluidCannerRecipe
* migrate away from addFluidExtractionRecipe
* migrate away from addChemicalRecipe
* migrate away from addMultiblockChemicalRecipe
* deprecate addChemicalRecipeForBasicMachineOnly
* migrate away from addCentrifugeRecipe
* spotlessApply
* fixing wrong merge conflict solving
* Add Tengam materials (#1891)
* Add Tengam materials
* Change new recipes to consume 15/16 Amp
* Remove now redundant `break` statements
* fix comb chances?
* fix centrifuge code not working
---------
Co-authored-by: glowredman <35727266+glowredman@users.noreply.github.com>
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/loaders')
43 files changed, 2840 insertions, 2045 deletions
diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java index 554fecb6f9..7240d9268e 100644 --- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -8,11 +8,12 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import gregtech.GT_Mod; +import gregtech.api.enums.FluidState; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.fluid.GT_FluidFactory; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -23,17 +24,17 @@ public class GT_FuelLoader implements Runnable { @Override public void run() { GT_Log.out.println("GT_Mod: Initializing various Fuels."); - ItemList.sBlueVitriol = GT_Mod.gregtechproxy - .addFluid("solution.bluevitriol", "Blue Vitriol water solution", null, 1, 295); - ItemList.sNickelSulfate = GT_Mod.gregtechproxy - .addFluid("solution.nickelsulfate", "Nickel sulfate water solution", null, 1, 295); - ItemList.sGreenVitriol = GT_Mod.gregtechproxy - .addFluid("solution.greenvitriol", "Green Vitriol water solution", null, 1, 295); - ItemList.sIndiumConcentrate = GT_Mod.gregtechproxy - .addFluid("indiumconcentrate", "Indium Concentrate", null, 1, 295); // TODO CHECK NEW x3 - ItemList.sLeadZincSolution = GT_Mod.gregtechproxy - .addFluid("leadzincsolution", "Lead-Zinc solution", null, 1, 295); - ItemList.sRocketFuel = GT_Mod.gregtechproxy.addFluid("rocket_fuel", "Rocket Fuel", null, 1, 295); + ItemList.sBlueVitriol = GT_FluidFactory + .of("solution.bluevitriol", "Blue Vitriol water solution", null, FluidState.LIQUID, 295); + ItemList.sNickelSulfate = GT_FluidFactory + .of("solution.nickelsulfate", "Nickel sulfate water solution", null, FluidState.LIQUID, 295); + ItemList.sGreenVitriol = GT_FluidFactory + .of("solution.greenvitriol", "Green Vitriol water solution", null, FluidState.LIQUID, 295); + ItemList.sIndiumConcentrate = GT_FluidFactory + .of("indiumconcentrate", "Indium Concentrate", null, FluidState.LIQUID, 295); // TODO CHECK NEW x3 + 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), diff --git a/src/main/java/gregtech/loaders/materialprocessing/ProcessingConfig.java b/src/main/java/gregtech/loaders/materialprocessing/ProcessingConfig.java index 15f1922aab..3ed4b30630 100644 --- a/src/main/java/gregtech/loaders/materialprocessing/ProcessingConfig.java +++ b/src/main/java/gregtech/loaders/materialprocessing/ProcessingConfig.java @@ -13,6 +13,7 @@ public class ProcessingConfig implements gregtech.api.interfaces.IMaterialHandle Materials.add(this); } + @SuppressWarnings("unused") @Override public void onMaterialsInit() { /** This is just left here as an example of how to add new materials. **/ diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java index 0e5a2ae241..44474c65da 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java @@ -1,5 +1,8 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.item.ItemStack; @@ -26,15 +29,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis tOutput, Enchantment.smite, EnchantmentHelper.getEnchantmentLevel(Enchantment.smite.effectId, tOutput) + 3); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.HolyWater.getFluid(25L), - tOutput, - null, - null, - null, - 100, - 2); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(tOutput) + .fluidInputs(Materials.HolyWater.getFluid(25L)) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(2) + .addTo(sChemicalBathRecipes); tOutput = GT_Utility.copyAmount(1L, aStack); GT_Utility.updateItemStack(tOutput); @@ -42,15 +45,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis tOutput, Enchantment.fireAspect, EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, tOutput) + 3); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.FierySteel.getFluid(25L), - tOutput, - null, - null, - null, - 100, - 2); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(tOutput) + .fluidInputs(Materials.FierySteel.getFluid(25L)) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(2) + .addTo(sChemicalBathRecipes); tOutput = GT_Utility.copyAmount(1L, aStack); GT_Utility.updateItemStack(tOutput); @@ -58,15 +61,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis tOutput, Enchantment.fireAspect, EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, tOutput) + 1); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Blaze.getMolten(18L), - tOutput, - null, - null, - null, - 100, - 2); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(tOutput) + .fluidInputs(Materials.Blaze.getMolten(18L)) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(2) + .addTo(sChemicalBathRecipes); tOutput = GT_Utility.copyAmount(1L, aStack); GT_Utility.updateItemStack(tOutput); @@ -74,15 +77,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis tOutput, Enchantment.knockback, EnchantmentHelper.getEnchantmentLevel(Enchantment.knockback.effectId, tOutput) + 1); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Rubber.getMolten(18L), - tOutput, - null, - null, - null, - 100, - 2); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(tOutput) + .fluidInputs(Materials.Rubber.getMolten(18L)) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(2) + .addTo(sChemicalBathRecipes); tOutput = GT_Utility.copyAmount(1L, aStack); GT_Utility.updateItemStack(tOutput); @@ -91,15 +94,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis gregtech.api.enchants.Enchantment_EnderDamage.INSTANCE, EnchantmentHelper .getEnchantmentLevel(gregtech.api.enchants.Enchantment_EnderDamage.INSTANCE.effectId, tOutput) + 1); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Mercury.getFluid(25L), - tOutput, - null, - null, - null, - 100, - 2); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(tOutput) + .fluidInputs(Materials.Mercury.getFluid(25L)) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(2) + .addTo(sChemicalBathRecipes); if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial) && !aMaterial.contains(SubTag.NO_WORKING)) { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java index 5add59e42d..d385c9b0c2 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java @@ -1,5 +1,8 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import net.minecraft.item.ItemStack; @@ -79,7 +82,15 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist if (tStack1 != null) tStack1.stackSize = 9; if (tStack2 != null) tStack2.stackSize = 9; if (tStack3 != null) tStack3.stackSize = 9; - GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24); + + GT_Values.RA.stdBuilder() + .itemInputs(aStack) + .itemOutputs(tStack2) + .noFluidInputs() + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(24) + .addTo(sHammerRecipes); if (GregTech_API.sRecipeFile.get( ConfigCategories.Recipes.storageblockdecrafting, @@ -95,11 +106,15 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist } if (!OrePrefixes.block.isIgnored(aMaterial)) { - GT_ModHandler.addCompressionRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L), - GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L), - 300, - calculateRecipeEU(aMaterial, 2)); + // 9 ingots -> 1 block + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(calculateRecipeEU(aMaterial, 2)) + .addTo(sCompressorRecipes); } switch (aMaterial.mName) { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java index 9d3475bcc8..536d610d61 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java @@ -1,5 +1,8 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes; + import java.util.ArrayList; import net.minecraft.item.ItemStack; @@ -94,48 +97,71 @@ public class ProcessingCell implements IOreRecipeRegistrator { tItemAmount = GT_Utility.ceilDiv(tItemAmount * tDensityMultiplier, aMaterial.getDensity()); if (tList.size() > 0) { if ((aMaterial.mExtraData & 0x1) != 0) { - if (GT_Utility.getFluidForFilledItem(aStack, true) == null) { - // dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide - GT_Values.RA.addElectrolyzerRecipe( - GT_Utility.copyAmount(tItemAmount, aStack), - tCapsuleCount <= 0L ? 0 : (int) tCapsuleCount, - tList.get(0), - tList.size() >= 2 ? tList.get(1) : null, - tList.size() >= 3 ? tList.get(2) : null, - tList.size() >= 4 ? tList.get(3) : null, - tList.size() >= 5 ? tList.get(4) : null, - tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null - : ItemList.Cell_Empty.get(-tCapsuleCount), - (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)), - Math.min(4, tList.size()) * 30); - } else { - long tCellBalance = tCapsuleCount + tItemAmount - 1; - GT_Values.RA.addElectrolyzerRecipe( - aStack, - tCellBalance <= 0L ? 0 : (int) tCellBalance, + // Electrolyzer recipe + { + if (GT_Utility.getFluidForFilledItem(aStack, true) == null) { + int capsuleCount = tCapsuleCount <= 0L ? 0 : (int) tCapsuleCount; + ItemStack cells = capsuleCount <= 0 ? null + : ItemList.Cell_Empty.get(capsuleCount); + // dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(tItemAmount, aStack), cells) + .itemOutputs( + tList.get(0), + tList.size() >= 2 ? tList.get(1) : null, + tList.size() >= 3 ? tList.get(2) : null, + tList.size() >= 4 ? tList.get(3) : null, + tList.size() >= 5 ? tList.get(4) : null, + tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null + : ItemList.Cell_Empty.get(-tCapsuleCount)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount))) + .eut(Math.min(4, tList.size()) * 30) + .addTo(sElectrolyzerRecipes); + } else { + long tCellBalance = tCapsuleCount + tItemAmount - 1; + int capsuleCount = tCellBalance <= 0L ? 0 : (int) tCellBalance; + ItemStack cells = capsuleCount <= 0 ? null + : ItemList.Cell_Empty.get(capsuleCount); + + GT_Values.RA.stdBuilder() + .itemInputs(aStack, cells) + .itemOutputs( + tList.get(0), + tList.size() >= 2 ? tList.get(1) : null, + tList.size() >= 3 ? tList.get(2) : null, + tList.size() >= 4 ? tList.get(3) : null, + tList.size() >= 5 ? tList.get(4) : null, + tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null + : tCellBalance < 0 ? ItemList.Cell_Empty.get(-tCellBalance) : null) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 8L * tItemAmount))) + .eut(Math.min(4, tList.size()) * 30) + .addTo(sElectrolyzerRecipes); + } + } + } + if ((aMaterial.mExtraData & 0x2) != 0) { + ItemStack emptyCells = tCapsuleCount > 0 ? ItemList.Cell_Empty.get(tCapsuleCount) + : null; + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(tItemAmount, aStack), emptyCells) + .itemOutputs( tList.get(0), tList.size() >= 2 ? tList.get(1) : null, tList.size() >= 3 ? tList.get(2) : null, tList.size() >= 4 ? tList.get(3) : null, tList.size() >= 5 ? tList.get(4) : null, tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null - : tCellBalance < 0 ? ItemList.Cell_Empty.get(-tCellBalance) : null, - (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 8L * tItemAmount)), - Math.min(4, tList.size()) * 30); - } - } - if ((aMaterial.mExtraData & 0x2) != 0) { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(tItemAmount, aStack), - tCapsuleCount <= 0L ? 0 : (int) tCapsuleCount, - tList.get(0), - tList.size() >= 2 ? tList.get(1) : null, - tList.size() >= 3 ? tList.get(2) : null, - tList.size() >= 4 ? tList.get(3) : null, - tList.size() >= 5 ? tList.get(4) : null, - tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null - : ItemList.Cell_Empty.get(-tCapsuleCount), - (int) Math.max(1L, Math.abs(aMaterial.getMass() * 2L * tItemAmount))); + : ItemList.Cell_Empty.get(-tCapsuleCount)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(1L, Math.abs(aMaterial.getMass() * 2L * tItemAmount))) + .eut(5) + .addTo(sCentrifugeRecipes); } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java index 97ee4e898f..7fb13aa6a3 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java @@ -3,6 +3,10 @@ package gregtech.loaders.oreprocessing; import static gregtech.api.enums.Mods.AppliedEnergistics2; import static gregtech.api.enums.Mods.BuildCraftSilicon; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes; +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 net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -11,6 +15,7 @@ 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_Utility; @@ -30,363 +35,533 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg GT_Utility.copyAmount(1L, aStack), Materials.Concrete.getMolten(144L), new ItemStack(net.minecraft.init.Items.comparator, 1, 0), - 80, - 20); - case "craftingWireCopper", "craftingWireTin" -> GT_Values.RA.addAssemblerRecipe( - ItemList.Circuit_Basic.get(1L), - GT_Utility.copyAmount(1L, aStack), - GT_ModHandler.getIC2Item("frequencyTransmitter", 1L), - 80, - 20); - case "craftingLensBlue" -> { - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.IC2_LapotronCrystal.getWildcard(1L), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Parts_Crystal_Chip_Master.get(3L), - 900, - 480, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Chip_CrystalCPU.get(1L), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Chip_CrystalSoC.get(1), - 600, - 40000, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer2.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_PIC.get(1), - 1200, - 480, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer3.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_PIC.get(4), + 800, + 1); + case "craftingWireCopper", "craftingWireTin" -> { + GT_Values.RA.addAssemblerRecipe( + ItemList.Circuit_Basic.get(1L), + GT_Utility.copyAmount(1L, aStack), + GT_ModHandler.getIC2Item("frequencyTransmitter", 1L), 800, - 1920, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer5.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_QPIC.get(1), - 2400, - 500000, - true); + 1); + } + case "craftingLensBlue" -> { + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_LapotronCrystal.getWildcard(1L), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Parts_Crystal_Chip_Master.get(3L)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Chip_CrystalCPU.get(1L), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Chip_CrystalSoC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(30 * SECONDS) + .eut(40000) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_PIC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_PIC.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_QPIC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_UV) + .addTo(sLaserEngraverRecipes); + } case "craftingLensYellow" -> { - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_LPIC.get(1), - 800, - 120, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer2.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_LPIC.get(4), - 600, - 480, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer3.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_SoC.get(1), - 900, - 1920, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer4.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_SoC.get(4), - 600, - 7680, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer5.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_SoC.get(8), - 300, - 30720, - true); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_LPIC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_LPIC.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_SoC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_SoC.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_SoC.get(8)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(sLaserEngraverRecipes); } case "craftingLensOrange" -> { - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Simple_SoC.get(1), - 300, - 64, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer2.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Simple_SoC.get(4), - 300, - 256, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer3.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Simple_SoC.get(16), - 300, - 1024, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer4.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Simple_SoC.get(64), - 300, - 4096, - false); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(64) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(4)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(256) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(16)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(1024) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(64)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(4096) + .addTo(sLaserEngraverRecipes); + } case "craftingLensCyan" -> { - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Ram.get(1), - 1200, - 120, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer2.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Ram.get(4), - 900, - 480, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer3.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Ram.get(8), - 600, - 1920, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer4.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Ram.get(16), - 300, - 7680, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer5.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_Ram.get(32), - 150, - 30720, - true); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Ram.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Ram.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Ram.get(8)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Ram.get(16)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_Ram.get(32)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LuV) + .addTo(sLaserEngraverRecipes); + } case "craftingLensRed" -> { - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Redstone, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0), - 50, - 120); - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.RedAlloy, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EtchedLowVoltageWiring", 1L, 0), - 200, - 16); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_ILC.get(1), - 1200, - 120, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer2.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_ILC.get(4), - 900, - 480, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer3.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_ILC.get(8), - 600, - 1920, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer4.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_NPIC.get(1), - 1800, - 30720, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer5.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_NPIC.get(4), - 1500, - 122880, - true); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Redstone, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.RedAlloy, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EtchedLowVoltageWiring", 1L, 0)) + .noFluidInputs() + .noFluidOutputs() + .duration(10 * SECONDS) + .eut(16) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_ILC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_ILC.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_ILC.get(8)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_NPIC.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_NPIC.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(sLaserEngraverRecipes); + } case "craftingLensGreen" -> { - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1L), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Chip_CrystalCPU.get(1), - 600, - 10000, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Chip_CrystalSoC.get(1L), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Chip_CrystalSoC2.get(1), - 1200, - 80000, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_ULPIC.get(2), - 600, - 30, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer2.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_ULPIC.get(8), - 600, - 120, - false); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer3.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_SoC2.get(1), - 1800, - 1920, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer4.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_SoC2.get(2), - 1500, - 7680, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer5.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_SoC2.get(4), - 1200, - 30720, - true); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1L), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Chip_CrystalCPU.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(30 * SECONDS) + .eut(10000) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Chip_CrystalSoC.get(1L), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Chip_CrystalSoC2.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(60 * SECONDS) + .eut(80000) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_ULPIC.get(2)) + .noFluidInputs() + .noFluidOutputs() + .duration(30 * SECONDS) + .eut(30) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_ULPIC.get(8)) + .noFluidInputs() + .noFluidOutputs() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_SoC2.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_SoC2.get(2)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_SoC2.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(sLaserEngraverRecipes); } case "craftingLensWhite" -> { - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19), - 2000, - 1920); - GT_Values.RA.addLaserEngraverRecipe( - new ItemStack(Blocks.sandstone, 1, 2), - GT_Utility.copyAmount(0L, aStack), - new ItemStack(Blocks.sandstone, 1, 1), - 50, - 16); - GT_Values.RA.addLaserEngraverRecipe( - new ItemStack(Blocks.stone, 1, 0), - GT_Utility.copyAmount(0L, aStack), - new ItemStack(Blocks.stonebrick, 1, 3), - 50, - 16); - GT_Values.RA.addLaserEngraverRecipe( - new ItemStack(Blocks.quartz_block, 1, 0), - GT_Utility.copyAmount(0L, aStack), - new ItemStack(Blocks.quartz_block, 1, 1), - 50, - 16); - GT_Values.RA.addLaserEngraverRecipe( - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1L), - GT_Utility.copyAmount(0L, aStack), - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartzChiseled", 1L), - 50, - 16); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_CPU.get(1), - 1200, - 120, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer2.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_CPU.get(4), - 900, - 480, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer3.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_CPU.get(8), - 600, - 1920, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer4.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_CPU.get(16), - 300, - 7680, - true); - GT_Values.RA.addLaserEngraverRecipe( - ItemList.Circuit_Silicon_Wafer5.get(1), - GT_Utility.copyAmount(0L, aStack), - ItemList.Circuit_Wafer_CPU.get(32), - 150, - 30720, - true); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sandstone, 1, 2), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(new ItemStack(Blocks.sandstone, 1, 1)) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stone, 1, 0), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(new ItemStack(Blocks.stonebrick, 1, 3)) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.quartz_block, 1, 0), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(new ItemStack(Blocks.quartz_block, 1, 1)) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1L), + GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartzChiseled", 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_CPU.get(1)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_CPU.get(4)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_CPU.get(8)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_CPU.get(16)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(sLaserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack)) + .itemOutputs(ItemList.Circuit_Wafer_CPU.get(32)) + .noFluidInputs() + .noFluidOutputs() + .requiresCleanRoom() + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LuV) + .addTo(sLaserEngraverRecipes); + } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java index 9fdcb14055..2ab11042e3 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java @@ -1,5 +1,8 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import net.minecraftforge.fluids.FluidRegistry; import gregtech.api.enums.GT_Values; @@ -18,9 +21,18 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, net.minecraft.item.ItemStack aStack) { - GT_ModHandler.addCompressionRecipe( - gregtech.api.util.GT_Utility.copyAmount(8L, aStack), - ItemList.IC2_PlantballCompressed.get(1L)); + // Compressor recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(gregtech.api.util.GT_Utility.copyAmount(8L, aStack)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(2) + .addTo(sCompressorRecipes); + } + switch (aOreDictName) { case "cropTea" -> { GT_Values.RA.addBrewingRecipe(aStack, FluidRegistry.WATER, FluidRegistry.getFluid("potion.tea"), false); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java index a0c9b56b53..bc3895d60e 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java @@ -1,5 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSifterRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; @@ -21,11 +27,15 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR ItemStack aStack) { switch (aPrefix) { case crushedCentrifuged -> { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - 10, - 16); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(10 * TICKS) + .eut(16) + .addTo(sHammerRecipes); + GT_ModHandler.addPulverisationRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), @@ -37,44 +47,62 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR false); } case crushedPurified -> { - GT_ModHandler.addThermalCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - new int[] { 10000, 1111 }, - (int) Math.min(5000L, Math.abs(aMaterial.getMass() * 20L)), - GT_OreDictUnificator.get( - OrePrefixes.crushedCentrifuged, - aMaterial.mMacerateInto, - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - 1L), - GT_OreDictUnificator.get( - OrePrefixes.dust, - GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts), - 1L)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs( + GT_OreDictUnificator.get( + OrePrefixes.crushedCentrifuged, + aMaterial.mMacerateInto, + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), + 1L), + GT_OreDictUnificator.get( + OrePrefixes.dust, + GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts), + 1L)) + .outputChances(10000, 1111) + .noFluidInputs() + .noFluidOutputs() + .duration(25 * SECONDS) + .eut(48) + .addTo(sThermalCentrifugeRecipes); + ItemStack tGem = GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L); if (tGem != null) { switch (aMaterial.mName) { - case "Tanzanite", "Sapphire", "Olivine", "GreenSapphire", "Opal", "Amethyst", "Emerald", "Ruby", "Amber", "Diamond", "FoolsRuby", "BlueTopaz", "GarnetRed", "Topaz", "Jasper", "GarnetYellow" -> GT_Values.RA - .addSifterRecipe( - GT_Utility.copyAmount(1L, aStack), - new ItemStack[] { + case "Tanzanite", "Sapphire", "Olivine", "GreenSapphire", "Opal", "Amethyst", "Emerald", "Ruby", "Amber", "Diamond", "FoolsRuby", "BlueTopaz", "GarnetRed", "Topaz", "Jasper", "GarnetYellow" -> { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), + GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), + tGem, + GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), + GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L)) + .outputChances(300, 1200, 4500, 1400, 2800, 3500) + .noFluidInputs() + .noFluidOutputs() + .duration(40 * SECONDS) + .eut(16) + .addTo(sSifterRecipes); + } + default -> { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs( GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), - GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem, + GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), + tGem, GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L) }, - new int[] { 300, 1200, 4500, 1400, 2800, 3500 }, - 800, - 16); - default -> GT_Values.RA.addSifterRecipe( - GT_Utility.copyAmount(1L, aStack), - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), - GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem, - GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), - GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L) }, - new int[] { 100, 400, 1500, 2000, 4000, 5000 }, - 800, - 16); + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L)) + .outputChances(100, 400, 1500, 2000, 4000, 5000) + .noFluidInputs() + .noFluidOutputs() + .duration(40 * SECONDS) + .eut(16) + .addTo(sSifterRecipes); + } } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java index 3e64f05773..0f4451df53 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java @@ -1,5 +1,8 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; @@ -19,11 +22,16 @@ public class ProcessingCrystallized implements gregtech.api.interfaces.IOreRecip @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - 10, - 16); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(10 * TICKS) + .eut(16) + .addTo(sHammerRecipes); + GT_ModHandler.addPulverisationRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java index 571b3d1a7f..e7cbc80241 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java @@ -1,6 +1,12 @@ package gregtech.loaders.oreprocessing; -import gregtech.GT_Mod; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraft.item.ItemStack; + import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -21,11 +27,15 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, net.minecraft.item.ItemStack aStack) { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L), - 10, - 16); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(10) + .eut(16) + .addTo(sHammerRecipes); + GT_ModHandler.addPulverisationRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get( @@ -52,91 +62,77 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist GT_Utility.selectItemInList(0, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)); - GT_ModHandler.addThermalCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - new int[] { 10000, 1111, 10000 }, - (int) Math.min(5000L, Math.abs(aMaterial.getMass() * 20L)), - GT_OreDictUnificator - .get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedCentrifuged : OrePrefixes.dust, aMaterial, 1L), - GT_OreDictUnificator.get( - OrePrefixes.dust, - GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts), - 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)); - if (aMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Mercury.getFluid(1000L), - GT_OreDictUnificator.get( - aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, - aMaterial, - 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), - new int[] { 10000, 7000, 4000 }, - 800, - 8); - if (aMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Mercury.getFluid(1000L), - GT_OreDictUnificator.get( - aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, - aMaterial, - 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), - new int[] { 10000, 9900, 4000 }, - 800, - 8); - if (aMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mDisableOldChemicalRecipes ? 1000L : 100L), - GT_OreDictUnificator.get( - aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, - aMaterial, - 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), - new int[] { 10000, 7000, 4000 }, - 800, - 8); - for (Materials tMaterial : aMaterial.mOreByProducts) { - if (tMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Mercury.getFluid(1000L), - GT_OreDictUnificator.get( - aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, - aMaterial, - 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), - new int[] { 10000, 7000, 4000 }, - 800, - 8); - if (tMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Mercury.getFluid(1000L), - GT_OreDictUnificator.get( - aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, - aMaterial, - 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), - new int[] { 10000, 9900, 4000 }, - 800, - 8); - if (tMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mDisableOldChemicalRecipes ? 1000L : 100L), + OrePrefixes prefix = aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedCentrifuged : OrePrefixes.dust; + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs( + GT_OreDictUnificator.get(prefix, aMaterial, 1L), GT_OreDictUnificator.get( - aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, - aMaterial, + OrePrefixes.dust, + GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), - new int[] { 10000, 7000, 4000 }, - 800, - 8); + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)) + .outputChances(10000, 1111, 10000) + .noFluidInputs() + .noFluidOutputs() + .duration(25 * SECONDS) + .eut(48) + .addTo(sThermalCentrifugeRecipes); + + addChemicalBathRecipes(aMaterial, aStack, aPrefix); + + for (Materials tMaterial : aMaterial.mOreByProducts) { + addChemicalBathRecipes(tMaterial, aStack, aPrefix); + } + } + + private void addChemicalBathRecipes(Materials material, ItemStack stack, OrePrefixes prefix) { + OrePrefixes chemicalBathPrefix = prefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified + : OrePrefixes.dustPure; + + if (material.contains(SubTag.WASHING_MERCURY)) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack)) + .itemOutputs( + GT_OreDictUnificator.get(chemicalBathPrefix, material, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, material.mMacerateInto, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)) + .outputChances(10000, 7000, 4000) + .fluidInputs(Materials.Mercury.getFluid(1000L)) + .noFluidOutputs() + .duration(40 * SECONDS) + .eut(8) + .addTo(sChemicalBathRecipes); + } + if (material.contains(SubTag.WASHING_MERCURY_99_PERCENT)) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack)) + .itemOutputs( + GT_OreDictUnificator.get(chemicalBathPrefix, material, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, material.mMacerateInto, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)) + .outputChances(10000, 9900, 4000) + .fluidInputs(Materials.Mercury.getFluid(1000L)) + .noFluidOutputs() + .duration(40 * SECONDS) + .eut(8) + .addTo(sChemicalBathRecipes); + } + if (material.contains(SubTag.WASHING_SODIUMPERSULFATE)) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack)) + .itemOutputs( + GT_OreDictUnificator.get(chemicalBathPrefix, material, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, material.mMacerateInto, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)) + .outputChances(10000, 7000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100L)) + .noFluidOutputs() + .duration(40 * SECONDS) + .eut(8) + .addTo(sChemicalBathRecipes); } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java index e7f2f52de0..758ffcd3b9 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -1,5 +1,10 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import java.util.ArrayList; import net.minecraft.item.ItemStack; @@ -9,7 +14,6 @@ import gregtech.api.enums.*; import gregtech.api.objects.MaterialStack; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_RecipeRegistrator; import gregtech.api.util.GT_Utility; @@ -78,9 +82,15 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr } else if (!aMaterial.contains(SubTag.NO_WORKING)) { if ((!OrePrefixes.block.isIgnored(aMaterial)) && (null == GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))) { - GT_ModHandler.addCompressionRecipe( - GT_Utility.copyAmount(9L, aStack), - GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(2) + .addTo(sCompressorRecipes); } // This is so disgustingly bad. if (((OrePrefixes.block.isIgnored(aMaterial)) @@ -95,9 +105,17 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr && (aMaterial != Materials.Paper) && (aMaterial != MaterialsUEVplus.TranscendentMetal) && (aMaterial != Materials.Clay)) { - GT_ModHandler.addCompressionRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)); + // compressor recipe + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(2) + .addTo(sCompressorRecipes); + } } } if ((aMaterial.mMaterialList.size() > 0) && ((aMaterial.mExtraData & 0x3) != 0)) { @@ -152,35 +170,41 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr break; } } - if ((aMaterial.mExtraData & 0x1) != 0) GT_Values.RA.addElectrolyzerRecipe( - GT_Utility.copyAmount(tItemAmount, aStack), - tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null, - null, - tFluid, - tList.size() < 1 ? null : tList.get(0), - tList.size() < 2 ? null : tList.get(1), - tList.size() < 3 ? null : tList.get(2), - tList.size() < 4 ? null : tList.get(3), - tList.size() < 5 ? null : tList.get(4), - tList.size() < 6 ? null : tList.get(5), - null, - (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)), - Math.min(4, tList.size()) * 30); + if ((aMaterial.mExtraData & 0x1) != 0) { + ItemStack cells = tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null; + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(tItemAmount, aStack), cells) + .itemOutputs( + tList.size() < 1 ? null : tList.get(0), + tList.size() < 2 ? null : tList.get(1), + tList.size() < 3 ? null : tList.get(2), + tList.size() < 4 ? null : tList.get(3), + tList.size() < 5 ? null : tList.get(4), + tList.size() < 6 ? null : tList.get(5)) + .noFluidInputs() + .fluidOutputs(tFluid) + .duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount))) + .eut(Math.min(4, tList.size()) * 30) + .addTo(sElectrolyzerRecipes); + } if ((aMaterial.mExtraData & 0x2) != 0) { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(tItemAmount, aStack), - tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null, - null, - tFluid, - tList.size() < 1 ? null : tList.get(0), - tList.size() < 2 ? null : tList.get(1), - tList.size() < 3 ? null : tList.get(2), - tList.size() < 4 ? null : tList.get(3), - tList.size() < 5 ? null : tList.get(4), - tList.size() < 6 ? null : tList.get(5), - null, - (int) Math.max(1L, Math.abs(aMaterial.getMass() * 4L * tItemAmount)), - Math.min(4, tList.size()) * 5); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(tItemAmount, aStack), + tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null) + .itemOutputs( + tList.size() < 1 ? null : tList.get(0), + tList.size() < 2 ? null : tList.get(1), + tList.size() < 3 ? null : tList.get(2), + tList.size() < 4 ? null : tList.get(3), + tList.size() < 5 ? null : tList.get(4), + tList.size() < 6 ? null : tList.get(5)) + .noFluidInputs() + .fluidOutputs(tFluid) + .duration(Math.max(1L, Math.abs(aMaterial.getMass() * 4L * tItemAmount))) + .eut(Math.min(4, tList.size()) * 5) + .addTo(sCentrifugeRecipes); } } } @@ -237,7 +261,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr case "Mercury": break; case "Oilsands": - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe( + sCentrifugeRecipes.addRecipe( true, new ItemStack[] { GT_Utility.copyAmount(1L, aStack) }, null, @@ -374,90 +398,75 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr if (tImpureStack == null) { tImpureStack = GT_OreDictUnificator.get(OrePrefixes.cell, tByProduct, 1L); if (tImpureStack == null) { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - 0, - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), - null, - null, - null, - null, - null, - (int) Math.max(1L, aMaterial.getMass())); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(1L, aMaterial.getMass())) + .eut(5) + .addTo(sCentrifugeRecipes); } else { FluidStack tFluid = GT_Utility.getFluidForFilledItem(tImpureStack, true); if (tFluid == null) { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(9L, aStack), - 1, - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L), - tImpureStack, - null, - null, - null, - null, - (int) Math.max(1L, aMaterial.getMass() * 72L)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, aStack), ItemList.Cell_Empty.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L), + tImpureStack) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(1L, aMaterial.getMass() * 72L)) + .eut(5) + .addTo(sCentrifugeRecipes); } else { tFluid.amount /= 10; - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - null, - null, - tFluid, - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), - null, - null, - null, - null, - null, - null, - (int) Math.max(1L, aMaterial.getMass() * 8L), - 5); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L)) + .noFluidInputs() + .fluidOutputs(tFluid) + .duration(Math.max(1L, aMaterial.getMass() * 8L)) + .eut(5) + .addTo(sCentrifugeRecipes); } } } else { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(9L, aStack), - 0, - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L), - tImpureStack, - null, - null, - null, - null, - (int) Math.max(1L, aMaterial.getMass() * 72L)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L), tImpureStack) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(1L, aMaterial.getMass() * 72L)) + .eut(5) + .addTo(sCentrifugeRecipes); } } else { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(2L, aStack), - 0, - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), - tImpureStack, - null, - null, - null, - null, - (int) Math.max(1L, aMaterial.getMass() * 16L)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), tImpureStack) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(1L, aMaterial.getMass() * 16L)) + .eut(5) + .addTo(sCentrifugeRecipes); } } else { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - null, - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), - GT_OreDictUnificator.get( - OrePrefixes.dust, - tByProduct, - GT_OreDictUnificator.get(OrePrefixes.nugget, tByProduct, 1L), - 1L), - null, - null, - null, - null, - new int[] { 10000, 1111 }, - (int) Math.max(1L, aMaterial.getMass() * 8L), - 5); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), + GT_OreDictUnificator.get( + OrePrefixes.dust, + tByProduct, + GT_OreDictUnificator.get(OrePrefixes.nugget, tByProduct, 1L), + 1L)) + .outputChances(10000, 1111) + .noFluidInputs() + .fluidOutputs() + .duration(Math.max(1L, aMaterial.getMass() * 8L)) + .eut(5) + .addTo(sCentrifugeRecipes); } } case dustSmall -> { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java index 452a8e31fb..40594357dc 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java @@ -1,5 +1,10 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; + import java.util.Locale; import net.minecraft.init.Blocks; @@ -22,61 +27,68 @@ public class ProcessingDye implements IOreRecipeRegistrator { } @Override - public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, - ItemStack aStack) { - Dyes aDye = Dyes.get(aOreDictName); - if ((aDye.mIndex >= 0) && (aDye.mIndex < 16) && (GT_Utility.getContainerItem(aStack, true) == null)) { - GT_ModHandler.addAlloySmelterRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), - GT_Utility.copyAmount(1L, aStack), - new ItemStack(Blocks.stained_glass, 8, 15 - aDye.mIndex), - 200, - 8, - false); - GT_ModHandler.addAlloySmelterRecipe( - new ItemStack(Blocks.glass, 8, 32767), - GT_Utility.copyAmount(1L, aStack), - new ItemStack(Blocks.stained_glass, 8, 15 - aDye.mIndex), - 200, - 8, - false); - GT_Values.RA.addMixerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_Utility.getIntegratedCircuit(1), - null, - null, - Materials.Water.getFluid(216L), - FluidRegistry.getFluidStack( - "dye.watermixed." + aDye.name() - .toLowerCase(Locale.ENGLISH), - 192), - null, - 16, - 4); - GT_Values.RA.addMixerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_Utility.getIntegratedCircuit(1), - null, - null, - GT_ModHandler.getDistilledWater(288L), - FluidRegistry.getFluidStack( - "dye.watermixed." + aDye.name() - .toLowerCase(Locale.ENGLISH), - 216), - null, - 16, - 4); - GT_Values.RA.addChemicalRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 2), - Materials.SulfuricAcid.getFluid(432), - FluidRegistry.getFluidStack( - "dye.chemical." + aDye.name() - .toLowerCase(Locale.ENGLISH), - 288), - GT_Values.NI, - 600, - 48); + public void registerOre(OrePrefixes prefix, Materials material, String oreDictName, String modName, + ItemStack stack) { + Dyes aDye = Dyes.get(oreDictName); + if ((aDye.mIndex >= 0) && (aDye.mIndex < 16) && (GT_Utility.getContainerItem(stack, true) == null)) { + registerAlloySmelter(stack, aDye); + registerMixer(stack, aDye); + registerChemicalReactor(stack, aDye); } } + + public void registerMixer(ItemStack stack, Dyes dye) { + String fluidName = "dye.watermixed." + dye.name() + .toLowerCase(Locale.ENGLISH); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack), GT_Utility.getIntegratedCircuit(1)) + .noItemOutputs() + .fluidInputs(Materials.Water.getFluid(216L)) + .fluidOutputs(FluidRegistry.getFluidStack(fluidName, 192)) + .duration(16 * TICKS) + .eut(4) + .addTo(sMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack), GT_Utility.getIntegratedCircuit(1)) + .noItemOutputs() + .fluidInputs(GT_ModHandler.getDistilledWater(288L)) + .fluidOutputs(FluidRegistry.getFluidStack(fluidName, 216)) + .duration(16 * TICKS) + .eut(4) + .addTo(sMixerRecipes); + } + + public void registerAlloySmelter(ItemStack stack, Dyes dye) { + GT_ModHandler.addAlloySmelterRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), + GT_Utility.copyAmount(1L, stack), + new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), + 200, + 8, + false); + + GT_ModHandler.addAlloySmelterRecipe( + new ItemStack(Blocks.glass, 8, 32767), + GT_Utility.copyAmount(1L, stack), + new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), + 200, + 8, + false); + } + + public void registerChemicalReactor(ItemStack stack, Dyes dye) { + String fluidName = "dye.chemical." + dye.name() + .toLowerCase(Locale.ENGLISH); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 2)) + .noItemOutputs() + .fluidInputs(Materials.SulfuricAcid.getFluid(432)) + .fluidOutputs(FluidRegistry.getFluidStack(fluidName, 288)) + .duration(30 * SECONDS) + .eut(48) + .addTo(UniversalChemical); + } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java index 22eb302aae..abaf8a78bb 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java @@ -1,5 +1,6 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import net.minecraft.item.ItemStack; @@ -20,14 +21,25 @@ public class ProcessingFoil implements IOreRecipeRegistrator { } @Override - public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, - ItemStack aStack) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L)), - GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L), - (int) Math.max(aMaterial.getMass(), 1L), - calculateRecipeEU(aMaterial, 24)); + public void registerOre(OrePrefixes prefix, Materials material, String oreDictName, String modName, + ItemStack stack) { + registerBenderRecipe(material); + registerCover(stack, material); + } + + private void registerBenderRecipe(Materials material) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.plate, material, 4L))) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.foil, material, 4L)) + .noFluidInputs() + .noFluidOutputs() + .duration((int) Math.max(material.getMass(), 1L)) + .eut(calculateRecipeEU(material, 24)) + .addTo(sBenderRecipes); + } + + private void registerCover(ItemStack stack, Materials material) { GregTech_API - .registerCover(aStack, TextureFactory.of(aMaterial.mIconSet.mTextures[70], aMaterial.mRGBa, false), null); + .registerCover(stack, TextureFactory.of(material.mIconSet.mTextures[70], material.mRGBa, false), null); } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java index 097a637f0e..1340ca18a9 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java @@ -1,5 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; @@ -21,67 +27,90 @@ public class ProcessingFood implements gregtech.api.interfaces.IOreRecipeRegistr ItemStack aStack) { switch (aOreDictName) { case "foodCheese" -> { - GT_Values.RA.addSlicerRecipe( - aStack, - ItemList.Shape_Slicer_Flat.get(0L), - ItemList.Food_Sliced_Cheese.get(4L), - 64, - 4); + registerSlicerRecipes(aStack); GT_OreDictUnificator.addItemData(aStack, new gregtech.api.objects.ItemData(Materials.Cheese, 3628800L)); } case "foodDough" -> { GT_ModHandler.removeFurnaceSmelting(aStack); - GT_Values.RA - .addBenderRecipe(GT_Utility.copyAmount(1L, aStack), ItemList.Food_Flat_Dough.get(1L), 16, 4); - GT_Values.RA.addMixerRecipe( - aStack, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L), - null, - null, - null, - null, - ItemList.Food_Dough_Sugar.get(2L), - 32, - 8); - GT_Values.RA.addMixerRecipe( - aStack, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L), - null, - null, - null, - null, - ItemList.Food_Dough_Chocolate.get(2L), - 32, - 8); - GT_Values.RA.addMixerRecipe( - aStack, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chocolate, 1L), - null, - null, - null, - null, - ItemList.Food_Dough_Chocolate.get(2L), - 32, - 8); - GT_Values.RA.addFormingPressRecipe( - GT_Utility.copyAmount(1L, aStack), - ItemList.Shape_Mold_Bun.get(0L), - ItemList.Food_Raw_Bun.get(1L), - 128, - 4); - GT_Values.RA.addFormingPressRecipe( - GT_Utility.copyAmount(2L, aStack), - ItemList.Shape_Mold_Bread.get(0L), - ItemList.Food_Raw_Bread.get(1L), - 256, - 4); - GT_Values.RA.addFormingPressRecipe( - GT_Utility.copyAmount(3L, aStack), - ItemList.Shape_Mold_Baguette.get(0L), - ItemList.Food_Raw_Baguette.get(1L), - 384, - 4); + registerBenderRecipes(aStack); + registerMixerRecipes(aStack); + registerFormingPressRecipes(aStack); } } } + + private void registerSlicerRecipes(ItemStack stack) { + GT_Values.RA + .addSlicerRecipe(stack, ItemList.Shape_Slicer_Flat.get(0L), ItemList.Food_Sliced_Cheese.get(4L), 64, 4); + } + + private void registerBenderRecipes(ItemStack stack) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack)) + .itemOutputs(ItemList.Food_Flat_Dough.get(1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(16 * TICKS) + .eut(4) + .addTo(sBenderRecipes); + } + + private void registerMixerRecipes(ItemStack stack) { + GT_Values.RA.stdBuilder() + .itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .itemOutputs(ItemList.Food_Dough_Sugar.get(2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(sMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L)) + .itemOutputs(ItemList.Food_Dough_Chocolate.get(2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(sMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chocolate, 1L)) + .itemOutputs(ItemList.Food_Dough_Chocolate.get(2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(sMixerRecipes); + } + + private void registerFormingPressRecipes(ItemStack stack) { + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, stack), ItemList.Shape_Mold_Bun.get(0L)) + .itemOutputs(ItemList.Food_Raw_Bun.get(1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(sPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, stack), ItemList.Shape_Mold_Bread.get(0L)) + .itemOutputs(ItemList.Food_Raw_Bread.get(1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(12 * SECONDS + 16 * TICKS) + .eut(4) + .addTo(sPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, stack), ItemList.Shape_Mold_Baguette.get(0L)) + .itemOutputs(ItemList.Food_Raw_Baguette.get(1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(19 * SECONDS + 4 * TICKS) + .eut(4) + .addTo(sPressRecipes); + } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java index 75912ddf85..e5e4822124 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java @@ -1,6 +1,14 @@ package gregtech.loaders.oreprocessing; import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes; +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_Utility.calculateRecipeEU; import net.minecraft.item.ItemStack; @@ -37,6 +45,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra switch (aPrefix) { case gem -> { + // fuel recipes if (aFuelPower) { GT_Values.RA.addFuel( GT_Utility.copyAmount(1L, aStack), @@ -44,97 +53,167 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra aMaterial.mFuelPower * 2, aMaterial.mFuelType); } + if (!OrePrefixes.block.isIgnored(aMaterial)) { - GT_ModHandler.addCompressionRecipe( - GT_Utility.copyAmount(9L, aStack), - GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)); + // Compressor recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(2) + .addTo(sCompressorRecipes); + } } + + // Smelting recipe if (!aNoSmelting) { GT_ModHandler.addSmeltingRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mSmeltInto, 1L)); } + if (aNoSmashing) { - GT_Values.RA.addForgeHammerRecipe( - aStack, - GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L), - 64, - 16); + // Forge hammer recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(aStack) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(sHammerRecipes); + } } else { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 16)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), - (int) Math.max(aMaterialMass * 2L, 1L), - calculateRecipeEU(aMaterial, 24)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(2L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L), - (int) Math.max(aMaterialMass * 2L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(3L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 3L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(4L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 4L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(5L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 5L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(9L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L), - (int) Math.max(aMaterialMass * 9L, 1L), - calculateRecipeEU(aMaterial, 96)); + // Forge hammer recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass, 1L)) + .eut(calculateRecipeEU(aMaterial, 16)) + .addTo(sHammerRecipes); + } + + // Bender recipes + { + // Plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration((int) Math.max(aMaterialMass * 2L, 1L)) + .eut(calculateRecipeEU(aMaterial, 24)) + .addTo(sBenderRecipes); + + // Double plates + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 2L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + // Triple plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 3L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + // Quadruple plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(4L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 4L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + // Quintuple plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(5L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 5L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + // dense plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 9L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + } } if (aNoWorking) { if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GT_Values.RA.addLatheRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 16)); + // Lathe recipes + { + GT_Values.RA.addLatheRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L), + (int) Math.max(aMaterialMass, 1L), + calculateRecipeEU(aMaterial, 16)); + } } } else { if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L), - GT_Proxy.tBits, - new Object[] { "h", "X", 'X', OrePrefixes.gemFlawless.get(aMaterial) }); - GT_Values.RA.addImplosionRecipe( - GT_Utility.copyAmount(3L, aStack), - 8, - GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); - if (aMaterial.contains(SubTag.SMELTING_TO_GEM)) GT_ModHandler.addCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_Proxy.tBits, - new Object[] { "XXX", "XXX", "XXX", 'X', OrePrefixes.nugget.get(aMaterial) }); - if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { "X", "m", 'X', OrePrefixes.gem.get(aMaterial) }); + // Implosion compressor recipes + { + GT_Values.RA.addImplosionRecipe( + GT_Utility.copyAmount(3L, aStack), + 8, + GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); + } + + // Crafting recipes + { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L), + GT_Proxy.tBits, + new Object[] { "h", "X", 'X', OrePrefixes.gemFlawless.get(aMaterial) }); + + if (aMaterial.contains(SubTag.SMELTING_TO_GEM)) { + GT_ModHandler.addCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_Proxy.tBits, + new Object[] { "XXX", "XXX", "XXX", 'X', OrePrefixes.nugget.get(aMaterial) }); + } + + if (aSpecialRecipeReq) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { "X", "m", 'X', OrePrefixes.gem.get(aMaterial) }); + } + } } } - // GT_RecipeRegistrator.registerUsagesForMaterials(OrePrefixes.plate.get(aMaterial).toString(), - // !aNoSmashing, GT_Utility.copyAmount(1L, aStack)); switch (aMaterial.mName) { case "NULL": break; - case "Coal": - case "Charcoal": + case "Coal", "Charcoal": if (GregTech_API.sRecipeFile .get(ConfigCategories.Recipes.disabledrecipes, "torchesFromCoal", false)) { GT_ModHandler.removeRecipeDelayed( @@ -145,166 +224,268 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra } break; case "CertusQuartz": - GT_Values.RA.addElectrolyzerRecipe( - aStack, - 0, - GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 1), - null, - null, - null, - null, - null, - 2000, - 30); + // Electrolyzer recipe + { + GT_Values.RA.stdBuilder() + .itemInputs(aStack) + .itemOutputs( + GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 1)) + .noFluidInputs() + .noFluidOutputs() + .duration(100 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(sElectrolyzerRecipes); + } } + for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver - // Recipe - // adder - is.stackSize = 0; - GT_Values.RA.addLaserEngraverRecipe( - GT_Utility.copyAmount(3L, aStack), - is, - GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1L), - 1200, - 480); + // Laser engraver recipes + { + is.stackSize = 0; + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack), is) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sLaserEngraverRecipes); + + } } } case gemChipped -> { - if (aFuelPower) GT_Values.RA - .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower / 2, aMaterial.mFuelType); - if (!aNoWorking) { - GT_Values.RA.addLatheRecipe( + // Fuel recipes + if (aFuelPower) { + GT_Values.RA.addFuel( GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - 8); + null, + aMaterial.mFuelPower / 2, + aMaterial.mFuelType); + } + + if (!aNoWorking) { + // Lathe recipes + { + GT_Values.RA.addLatheRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1L), + (int) Math.max(aMaterialMass, 1L), + 8); + } + if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) { - GT_Values.RA.addImplosionRecipe( - GT_Utility.copyAmount(3L, aStack), - 8, - GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L), - GT_Proxy.tBits, - new Object[] { "h", "X", 'X', OrePrefixes.gemFlawed.get(aMaterial) }); - if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { "X", "m", 'X', OrePrefixes.gemChipped.get(aMaterial) }); + // Implosion compressor recipes + { + GT_Values.RA.addImplosionRecipe( + GT_Utility.copyAmount(3L, aStack), + 8, + GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); + } + + // Crafting recipes + { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L), + GT_Proxy.tBits, + new Object[] { "h", "X", 'X', OrePrefixes.gemFlawed.get(aMaterial) }); + if (aSpecialRecipeReq) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { "X", "m", 'X', OrePrefixes.gemChipped.get(aMaterial) }); + } + } } } for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver - // Recipe - // adder is.stackSize = 0; - GT_Values.RA.addLaserEngraverRecipe( - GT_Utility.copyAmount(3L, aStack), - is, - GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1L), - 600, - 30); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack), is) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(30 * SECONDS) + .eut(30) + .addTo(sLaserEngraverRecipes); + } } case gemExquisite -> { - if (aFuelPower) GT_Values.RA - .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower * 8, aMaterial.mFuelType); + // Fuel recipes + if (aFuelPower) { + GT_Values.RA.addFuel( + GT_Utility.copyAmount(1L, aStack), + null, + aMaterial.mFuelPower * 8, + aMaterial.mFuelType); + } + if (!aNoWorking) { - if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) - if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 4L), - GT_Proxy.tBits, - new Object[] { "X", "m", 'X', OrePrefixes.gemExquisite.get(aMaterial) }); + if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) { + // Crafting recipes + { + if (aSpecialRecipeReq) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 4L), + GT_Proxy.tBits, + new Object[] { "X", "m", 'X', OrePrefixes.gemExquisite.get(aMaterial) }); + } + } + } + } + + // Forge hammer recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(aStack) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(sHammerRecipes); } - GT_Values.RA.addForgeHammerRecipe( - aStack, - GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L), - 64, - 16); } case gemFlawed -> { - if (aFuelPower) GT_Values.RA - .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType); + // fuel recipes + if (aFuelPower) { + GT_Values.RA + .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType); + } + if (!aNoWorking) { - GT_Values.RA.addLatheRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - 12); + // Lathe recipes + { + GT_Values.RA.addLatheRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 2L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L), + (int) Math.max(aMaterialMass, 1L), + 12); + } + if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) { - GT_Values.RA.addImplosionRecipe( - GT_Utility.copyAmount(3L, aStack), - 8, - GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L), - GT_Proxy.tBits, - new Object[] { "h", "X", 'X', OrePrefixes.gem.get(aMaterial) }); - if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L), - GT_Proxy.tBits, - new Object[] { "X", "m", 'X', OrePrefixes.gemFlawed.get(aMaterial) }); + // Implosion compressor recipes + { + GT_Values.RA.addImplosionRecipe( + GT_Utility.copyAmount(3L, aStack), + 8, + GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); + } + + // Crafting recipes + { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L), + GT_Proxy.tBits, + new Object[] { "h", "X", 'X', OrePrefixes.gem.get(aMaterial) }); + if (aSpecialRecipeReq) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L), + GT_Proxy.tBits, + new Object[] { "X", "m", 'X', OrePrefixes.gemFlawed.get(aMaterial) }); + } + } } } - GT_Values.RA.addForgeHammerRecipe( - aStack, - GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L), - 64, - 16); + GT_Values.RA.stdBuilder() + .itemInputs(aStack) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(sHammerRecipes); + for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver - // Recipe - // adder + is.stackSize = 0; - GT_Values.RA.addLaserEngraverRecipe( - GT_Utility.copyAmount(3L, aStack), - is, - GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L), - 600, - 120); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack), is) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sLaserEngraverRecipes); + } } case gemFlawless -> { - if (aFuelPower) GT_Values.RA - .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower * 4, aMaterial.mFuelType); - if (!aNoWorking) { - GT_Values.RA.addLatheRecipe( + + // Fuel recipes + if (aFuelPower) { + GT_Values.RA.addFuel( GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L), - GT_OreDictUnificator - .getDust(aMaterial, aPrefix.mMaterialAmount - OrePrefixes.stickLong.mMaterialAmount), - (int) Math.max(aMaterialMass * 5L, 1L), - 16); + null, + aMaterial.mFuelPower * 4, + aMaterial.mFuelType); + } + + if (!aNoWorking) { + // Lathe recipes + { + GT_Values.RA.addLatheRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L), + GT_OreDictUnificator + .getDust(aMaterial, aPrefix.mMaterialAmount - OrePrefixes.stickLong.mMaterialAmount), + (int) Math.max(aMaterialMass * 5L, 1L), + 16); + } + if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) { - GT_Values.RA.addImplosionRecipe( - GT_Utility.copyAmount(3L, aStack), - 8, - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L), - GT_Proxy.tBits, - new Object[] { "h", "X", 'X', OrePrefixes.gemExquisite.get(aMaterial) }); - if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), - GT_Proxy.tBits, - new Object[] { "X", "m", 'X', OrePrefixes.gemFlawless.get(aMaterial) }); + // Implosion compressor recipes + { + GT_Values.RA.addImplosionRecipe( + GT_Utility.copyAmount(3L, aStack), + 8, + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2)); + } + + // Crafting recipes + { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L), + GT_Proxy.tBits, + new Object[] { "h", "X", 'X', OrePrefixes.gemExquisite.get(aMaterial) }); + if (aSpecialRecipeReq) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), + GT_Proxy.tBits, + new Object[] { "X", "m", 'X', OrePrefixes.gemFlawless.get(aMaterial) }); + } + } } } - GT_Values.RA - .addForgeHammerRecipe(aStack, GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L), 64, 16); + GT_Values.RA.stdBuilder() + .itemInputs(aStack) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(sHammerRecipes); + for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver - // Recipe - // adder + is.stackSize = 0; - GT_Values.RA.addLaserEngraverRecipe( - GT_Utility.copyAmount(3L, aStack), - is, - GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L), - 2400, - 2000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack), is) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * MINUTES) + .eut(2000) + .addTo(sLaserEngraverRecipes); } } default -> {} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java index 0fd5d9e42e..324c21d3aa 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import net.minecraft.item.ItemStack; @@ -34,12 +36,15 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist switch (aPrefix) { case ingot: + // Fuel recipe if (aMaterial.mFuelPower > 0) { GT_Values.RA .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType); } - if (aMaterial.mStandardMoltenFluid != null) { - if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) { + if (aMaterial.mStandardMoltenFluid != null + && !(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) { + // Fluid solidifier recipes + { GT_Values.RA.addFluidSolidifierRecipe( ItemList.Shape_Mold_Ingot.get(0L), aMaterial.getMolten(144L), @@ -47,7 +52,10 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist 32, calculateRecipeEU(aMaterial, 8)); } + } + // Reverse recipes + { GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null); GT_RecipeRegistrator .registerReverseMacerating(aStack, aMaterial, aPrefix.mMaterialAmount, null, null, null, false); @@ -60,167 +68,241 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist null, null); } - ItemStack tStack; - if ((null != (tStack = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L))) - && ((aMaterial.mBlastFurnaceRequired) || aNoSmelting)) { + } + + ItemStack tStack = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L); + if ((tStack != null) && ((aMaterial.mBlastFurnaceRequired) || aNoSmelting)) { GT_ModHandler.removeFurnaceSmelting(tStack); } if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial) - && !aMaterial.contains(SubTag.NO_WORKING)) { - if (!aMaterial.contains(SubTag.SMELTING_TO_GEM)) if ((aMaterial.contains(SubTag.MORTAR_GRINDABLE)) - && (GregTech_API.sRecipeFile.get(ConfigCategories.Tools.mortar, aMaterial.mName, true))) - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { ToolDictNames.craftingToolMortar, OrePrefixes.ingot.get(aMaterial) }); + && !aMaterial.contains(SubTag.NO_WORKING) + && !aMaterial.contains(SubTag.SMELTING_TO_GEM) + && aMaterial.contains(SubTag.MORTAR_GRINDABLE) + && GregTech_API.sRecipeFile.get(ConfigCategories.Tools.mortar, aMaterial.mName, true)) { + GT_ModHandler.addShapelessCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { ToolDictNames.craftingToolMortar, OrePrefixes.ingot.get(aMaterial) }); } if (!aNoSmashing) { + // Forge hammer recipes if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(3L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 16)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass, 1L)) + .eut(calculateRecipeEU(aMaterial, 16)) + .addTo(sHammerRecipes); } - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 24)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(2L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L), - (int) Math.max(aMaterialMass * 2L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(3L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 3L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(4L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 4L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(5L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 5L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(9L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L), - (int) Math.max(aMaterialMass * 9L, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_Utility.getIntegratedCircuit(10), - GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L), - (int) Math.max(aMaterialMass * 2L, 1L), - calculateRecipeEU(aMaterial, 24)); - } + // Bender recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass, 1L)) + .eut(calculateRecipeEU(aMaterial, 24)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 2L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 3L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(4L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 4L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(5L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 5L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 9L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 2L, 1L)) + .eut(calculateRecipeEU(aMaterial, 24)) + .addTo(sBenderRecipes); + } + } break; + case ingotDouble: if (!aNoSmashing) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(2L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 2L, 1L), - calculateRecipeEU(aMaterial, 96)); + // bender recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 2L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + } // Enable crafting with hammer if tier is < IV. - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - if (aSpecialRecipeReq && GregTech_API.sRecipeFile + if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq + && GregTech_API.sRecipeFile .get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { "I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial) }); - } + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { "I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial) }); } } break; + case ingotTriple: if (!aNoSmashing) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 96)); - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(3L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L), - (int) Math.max(aMaterialMass * 3L, 1L), - calculateRecipeEU(aMaterial, 96)); - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - if (aSpecialRecipeReq && GregTech_API.sRecipeFile + // Bender recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 3L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + } + + if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq + && GregTech_API.sRecipeFile .get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotDouble.get(aMaterial), 'B', - OrePrefixes.ingot.get(aMaterial) }); - } + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotDouble.get(aMaterial), 'B', + OrePrefixes.ingot.get(aMaterial) }); } } break; + case ingotQuadruple: if (!aNoSmashing) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 96)); + // Bender recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + } // If tier < IV add manual crafting. - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - if (aSpecialRecipeReq && GregTech_API.sRecipeFile + if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq + && GregTech_API.sRecipeFile .get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotTriple.get(aMaterial), 'B', - OrePrefixes.ingot.get(aMaterial) }); - } + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotTriple.get(aMaterial), 'B', + OrePrefixes.ingot.get(aMaterial) }); } } break; + case ingotQuintuple: if (!aNoSmashing) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L), - (int) Math.max(aMaterialMass, 1L), - calculateRecipeEU(aMaterial, 96)); + // Bender recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); + } - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - if (aSpecialRecipeReq && GregTech_API.sRecipeFile + // Crafting recipes + if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq + && GregTech_API.sRecipeFile .get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotQuadruple.get(aMaterial), 'B', - OrePrefixes.ingot.get(aMaterial) }); - } + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotQuadruple.get(aMaterial), 'B', + OrePrefixes.ingot.get(aMaterial) }); } } break; + case ingotHot: if (aMaterial.mAutoGenerateVacuumFreezerRecipes) { - GT_Values.RA.addVacuumFreezerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), - (int) Math.max(aMaterialMass * 3L, 1L)); - break; + // Vacuum freezer recipes + { + GT_Values.RA.addVacuumFreezerRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), + (int) Math.max(aMaterialMass * 3L, 1L)); + } } + break; + default: break; } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java index 86b3caacbb..3d3b0547d9 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java @@ -1,5 +1,8 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import net.minecraft.item.ItemStack; import gregtech.api.GregTech_API; @@ -7,6 +10,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.Textures; +import gregtech.api.enums.TierEU; import gregtech.api.interfaces.ITexture; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_OreDictUnificator; @@ -35,11 +39,16 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr 2400, 16); } - case "ChromaticGlass" -> GT_Values.RA.addCompressorRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L), - GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L), - 600 * 20, - 1966080); + case "ChromaticGlass" -> { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(600 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(sCompressorRecipes); + } default -> { GT_Values.RA.addLatheRecipe( GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java index 0f592f6711..b971bc819f 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java @@ -1,6 +1,10 @@ package gregtech.loaders.oreprocessing; import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -22,20 +26,20 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { if (aOreDictName.equals("logRubber")) { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_Utility.getIntegratedCircuit(2), - null, - Materials.Methane.getGas(60L), - ItemList.IC2_Resin.get(1L), - GT_ModHandler.getIC2Item("plantBall", 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L), - GT_Values.NI, - GT_Values.NI, - new int[] { 5000, 3750, 2500, 2500 }, - 200, - 20); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs( + ItemList.IC2_Resin.get(1L), + GT_ModHandler.getIC2Item("plantBall", 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) + .outputChances(5000, 3750, 2500, 2500) + .noFluidInputs() + .fluidOutputs(Materials.Methane.getGas(60L)) + .duration(10 * SECONDS) + .eut(20) + .addTo(sCentrifugeRecipes); + GT_ModHandler.addSawmillRecipe( GT_Utility.copyAmount(1L, aStack), ItemList.IC2_Resin.get(1L), @@ -50,20 +54,15 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra 33, false); } else { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_Utility.getIntegratedCircuit(1), - null, - Materials.Methane.getGas(60L), - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - null, - 200, - 20); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(1)) + .noItemOutputs() + .noFluidInputs() + .fluidOutputs(Materials.Methane.getGas(60L)) + .duration(10 * SECONDS) + .eut(20) + .addTo(sCentrifugeRecipes); + GT_ModHandler.addPulverisationRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 6L), @@ -97,15 +96,15 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra ItemList.FR_Casing_Impregnated.get(1L), 64, 16); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.Creosote.getFluid(1000L), - GT_ModHandler.getModItem(Railcraft.ID, "cube", 1L, 8), - null, - null, - null, - 16, - 16); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_ModHandler.getModItem(Railcraft.ID, "cube", 1L, 8)) + .fluidInputs(Materials.Creosote.getFluid(1000L)) + .noFluidOutputs() + .duration(16 * TICKS) + .eut(TierEU.ULV) + .addTo(sChemicalBathRecipes); short aMeta = (short) aStack.getItemDamage(); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java index a74aa229a5..809ce8894f 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java @@ -1,5 +1,9 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import java.util.ArrayList; import net.minecraft.item.ItemStack; @@ -9,6 +13,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -35,20 +40,15 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra || (aPrefix == OrePrefixes.oreDense); if (aMaterial == Materials.Oilsands) { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(1L, aStack), - null, - null, - Materials.OilHeavy.getFluid(tIsRich ? 4000L : 2000L), - new ItemStack(net.minecraft.init.Blocks.sand, 1, 0), - null, - null, - null, - null, - null, - new int[] { tIsRich ? 2000 : 4000 }, - tIsRich ? 600 : 300, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(new ItemStack(net.minecraft.init.Blocks.sand, 1, 0)) + .outputChances(tIsRich ? 2000 : 4000) + .noFluidInputs() + .fluidOutputs(Materials.OilHeavy.getFluid(tIsRich ? 4000L : 2000L)) + .duration(tIsRich ? 30 * SECONDS : 15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(sCentrifugeRecipes); } else { registerStandardOreRecipes( aPrefix, @@ -216,11 +216,15 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra } if (tCrushed != null) { - GT_Values.RA.addForgeHammerRecipe( - aOreStack, - GT_Utility.copy(GT_Utility.copyAmount(tCrushed.stackSize, tGem), tCrushed), - 16, - 10); + GT_Values.RA.stdBuilder() + .itemInputs(aOreStack) + .itemOutputs(GT_Utility.copy(GT_Utility.copyAmount(tCrushed.stackSize, tGem), tCrushed)) + .noFluidInputs() + .noFluidOutputs() + .duration(10) + .eut(16) + .addTo(sHammerRecipes); + GT_ModHandler.addPulverisationRecipe( aOreStack, GT_Utility.mul(2L, tCrushed), diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java index e3b0a34016..3c0e4cb29a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java @@ -1,10 +1,13 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -38,11 +41,15 @@ public class ProcessingOrePoor implements gregtech.api.interfaces.IOreRecipeRegi break; } if (aMaterial != null) { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, aMultiplier), - 16, - 10); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, aMultiplier)) + .noFluidInputs() + .noFluidOutputs() + .duration(10) + .eut(16) + .addTo(sHammerRecipes); + GT_ModHandler.addPulverisationRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 2 * aMultiplier), @@ -52,7 +59,7 @@ public class ProcessingOrePoor implements gregtech.api.interfaces.IOreRecipeRegi GT_OreDictUnificator.getDust(aPrefix.mSecondaryMaterial), 100, true); - if (aMaterial.contains(gregtech.api.enums.SubTag.NO_SMELTING)) GT_ModHandler.addSmeltingRecipe( + if (aMaterial.contains(SubTag.NO_SMELTING)) GT_ModHandler.addSmeltingRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial.mDirectSmelting, aMultiplier)); } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java index f380b4ebdf..e3bb175d29 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java @@ -7,6 +7,7 @@ import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.GT_Values.W; import static gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED; import static gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import static gregtech.common.GT_Proxy.tBits; @@ -162,12 +163,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist GT_ModHandler.removeRecipeByOutputDelayed(aStack); if (!aNoSmashing) { - - RA.addBenderRecipe( - GT_Utility.copyAmount(2L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), - (int) Math.max(aMaterialMass * 2L, 1L), - calculateRecipeEU(aMaterial, 96)); + // 2 double -> 1 quadruple plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 2L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); if (GregTech_API.sRecipeFile.get( gregtech.api.enums.ConfigCategories.Tools.hammerdoubleplate, @@ -184,21 +188,17 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist new Object[] { "I", "B", "h", // craftingToolHardHammer 'I', aPlateStack, 'B', aPlateStack }); } - - // Only added if IC2 Forge Hammer is enabled in Recipes.cfg: B:ic2forgehammer_true=false - // GT_ModHandler.addShapelessCraftingRecipe( - // GT_Utility.copyAmount(1L, aStack), DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, new - // Object[] { - // gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, aPlateStack, - // aPlateStack - // }); } - RA.addBenderRecipe( - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L), - GT_Utility.copyAmount(1L, aStack), - (int) Math.max(aMaterialMass * 2L, 1L), - calculateRecipeEU(aMaterial, 96)); + // 2 plates -> 1 double plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L)) + .itemOutputs(GT_Utility.copyAmount(1L, aStack)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 2L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); } else { @@ -221,11 +221,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist if (!aNoSmashing) { - RA.addBenderRecipe( - GT_Utility.copyAmount(3L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L), - (int) Math.max(aMaterialMass * 3L, 1L), - calculateRecipeEU(aMaterial, 96)); + // 3 triple plates -> 1 dense plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 3L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); if (GregTech_API.sRecipeFile.get( gregtech.api.enums.ConfigCategories.Tools.hammertripleplate, @@ -251,11 +255,14 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist } } - RA.addBenderRecipe( - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 3L), - GT_Utility.copyAmount(1L, aStack), - (int) Math.max(aMaterialMass * 3L, 1L), - calculateRecipeEU(aMaterial, 96)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 3L)) + .itemOutputs(GT_Utility.copyAmount(1L, aStack)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 3L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); } else { @@ -313,11 +320,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist } } - RA.addBenderRecipe( - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L), - GT_Utility.copyAmount(1L, aStack), - (int) Math.max(aMaterialMass * 4L, 1L), - calculateRecipeEU(aMaterial, 96)); + // Quadruple plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L)) + .itemOutputs(GT_Utility.copyAmount(1L, aStack)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 4L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); } else { @@ -363,11 +374,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist } } - RA.addBenderRecipe( - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 5L), - GT_Utility.copyAmount(1L, aStack), - (int) Math.max(aMaterialMass * 5L, 1L), - calculateRecipeEU(aMaterial, 96)); + // quintuple plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 5L)) + .itemOutputs(GT_Utility.copyAmount(1L, aStack)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 5L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); } else { @@ -389,12 +404,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist GT_ModHandler.removeRecipeByOutputDelayed(aStack); if (!aNoSmashing) { - - RA.addBenderRecipe( - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L), - GT_Utility.copyAmount(1L, aStack), - (int) Math.max(aMaterialMass * 9L, 1L), - calculateRecipeEU(aMaterial, 96)); + // Dense plate + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L)) + .itemOutputs(GT_Utility.copyAmount(1L, aStack)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterialMass * 9L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .addTo(sBenderRecipes); } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java index 01addd678c..c59e810e2a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; @@ -20,11 +22,15 @@ public class ProcessingPure implements gregtech.api.interfaces.IOreRecipeRegistr @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L), - 10, - 16); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(10) + .eut(16) + .addTo(sHammerRecipes); + GT_ModHandler.addPulverisationRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java index b138ba6338..b6edaa995c 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java @@ -1,9 +1,13 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import net.minecraft.init.Blocks; 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; import gregtech.api.util.GT_OreDictUnificator; @@ -19,16 +23,16 @@ public class ProcessingSand implements gregtech.api.interfaces.IOreRecipeRegistr public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { if (aOreDictName.equals("sandOil")) { - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.copyAmount(2L, aStack), - 1, - GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oil, 1L), - new ItemStack(Blocks.sand, 1, 0), - null, - null, - null, - null, - 1000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, aStack), ItemList.Cell_Empty.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oil, 1L), + new ItemStack(Blocks.sand, 1, 0)) + .noFluidInputs() + .noFluidOutputs() + .duration(50 * SECONDS) + .eut(5) + .addTo(sCentrifugeRecipes); } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java index dafde0e73d..b98768b69a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java @@ -1,12 +1,14 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + 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; -import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -25,7 +27,16 @@ public class ProcessingSaplings implements gregtech.api.interfaces.IOreRecipeReg new int[] { 10000 }, 100, 2); - GT_ModHandler.addCompressionRecipe(GT_Utility.copyAmount(8L, aStack), ItemList.IC2_Plantball.get(1L)); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(8L, aStack)) + .itemOutputs(ItemList.IC2_Plantball.get(1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(15 * SECONDS) + .eut(2) + .addTo(sCompressorRecipes); + GT_Values.RA.addLatheRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java index 6d4ed4cfe8..6ceaea4612 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java @@ -1,6 +1,8 @@ package gregtech.loaders.oreprocessing; import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import net.minecraft.item.ItemStack; @@ -21,15 +23,14 @@ public class ProcessingSlab implements gregtech.api.interfaces.IOreRecipeRegistr ItemStack aStack) { if (aOreDictName.startsWith("slabWood")) { if (Railcraft.isModLoaded()) { - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(3L, aStack), - Materials.Creosote.getFluid(300L), - ItemList.RC_Tie_Wood.get(3L), - null, - null, - null, - 200, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(3L, aStack)) + .itemOutputs(ItemList.RC_Tie_Wood.get(3L)) + .fluidInputs(Materials.Creosote.getFluid(300L)) + .noFluidOutputs() + .duration(10 * SECONDS) + .eut(4) + .addTo(sChemicalBathRecipes); } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java index a09e0ba0b2..80e7d16ff0 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java @@ -1,5 +1,8 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import net.minecraft.item.ItemStack; @@ -53,16 +56,26 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist } } if (!aMaterial.contains(gregtech.api.enums.SubTag.NO_SMASHING)) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L), - 100, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(2L, aStack), - GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L), - (int) Math.max(aMaterial.getMass(), 1L), - calculateRecipeEU(aMaterial, 16)); + // bender recipe + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(calculateRecipeEU(aMaterial, 8)) + .addTo(sBenderRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(2L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(Math.max(aMaterial.getMass(), 1L)) + .eut(calculateRecipeEU(aMaterial, 16)) + .addTo(sHammerRecipes); } GT_Values.RA.addAssemblerRecipe( GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java index 29a872cc04..8136d988c3 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import net.minecraft.item.ItemStack; @@ -46,11 +48,18 @@ public class ProcessingStickLong implements gregtech.api.interfaces.IOreRecipeRe } } if (!aMaterial.contains(SubTag.NO_SMASHING)) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.spring, aMaterial, 1L), - 200, - calculateRecipeEU(aMaterial, 16)); + // Bender recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.spring, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(10 * SECONDS) + .eut(calculateRecipeEU(aMaterial, 16)) + .addTo(sBenderRecipes); + } + if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { GT_ModHandler.addCraftingRecipe( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java index c65b496649..cb05d1218d 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import net.minecraft.item.ItemStack; @@ -1165,12 +1167,17 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg 'R', OrePrefixes.ring.get(aMaterial), 'S', OrePrefixes.screw.get(aMaterial) }); } - GT_Values.RA.addFormingPressRecipe( - GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 3L), - GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 2L), - GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L), - 200, - calculateRecipeEU(aMaterial, 60)); + // Turbine blades + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 3L), + GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 2L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(10 * SECONDS) + .eut(calculateRecipeEU(aMaterial, 60)) + .addTo(sPressRecipes); } } default -> {} diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java index ddb0bd46c7..3ccccd4561 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java @@ -16,8 +16,13 @@ public class ProcessingToolOther implements gregtech.api.interfaces.IOreRecipeRe @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) { - if (aMaterial != Materials.Rubber) { + if ((aMaterial == Materials.Stone) || (aMaterial == Materials.Flint)) { + return; + } + + if (aMaterial != Materials.Rubber) { + // Crafting recipes + { GT_ModHandler.addCraftingRecipe( GT_MetaGenerated_Tool_01.INSTANCE .getToolWithStats(GT_MetaGenerated_Tool_01.PLUNGER, 1, aMaterial, aMaterial, null), @@ -25,8 +30,12 @@ public class ProcessingToolOther implements gregtech.api.interfaces.IOreRecipeRe new Object[] { "xRR", " SR", "S f", 'S', OrePrefixes.stick.get(aMaterial), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); } - if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) - && (!aMaterial.contains(SubTag.NO_SMASHING))) { + } + + if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) + && (!aMaterial.contains(SubTag.NO_SMASHING))) { + // Crafting recipes + { GT_ModHandler.addCraftingRecipe( GT_MetaGenerated_Tool_01.INSTANCE .getToolWithStats(GT_MetaGenerated_Tool_01.WRENCH, 1, aMaterial, aMaterial, null), diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java index 4c7b10f7cb..c71069661b 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java @@ -1,10 +1,14 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.interfaces.IOreRecipeRegistrator; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -20,103 +24,151 @@ public class ProcessingTransforming implements IOreRecipeRegistrator { @Override public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - if (aPrefix == OrePrefixes.plank) aPrefix = OrePrefixes.plate; + + if (aPrefix == OrePrefixes.plank) { + aPrefix = OrePrefixes.plate; + } + switch (aMaterial.mName) { - case "Wood": - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.SeedOil - .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 120L, true)), - GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L), - GT_Values.NI, - GT_Values.NI, - null, - 100, - 8); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.SeedOilLin - .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true)), - GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L), - GT_Values.NI, - GT_Values.NI, - null, - 100, - 8); - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.SeedOilHemp - .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true)), - GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L), - GT_Values.NI, - GT_Values.NI, - null, - 100, - 8); - break; - case "Iron": - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.FierySteel - .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 250L, true)), - GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L), - GT_Values.NI, - GT_Values.NI, - null, - 100, - 8); - GT_Values.RA.addPolarizerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L), - (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L), - 16); - break; - case "WroughtIron": - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.FierySteel - .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 225L, true)), - GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L), - GT_Values.NI, - GT_Values.NI, - null, - 100, - 8); - GT_Values.RA.addPolarizerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L), - (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L), - 16); - break; - case "Steel": - GT_Values.RA.addChemicalBathRecipe( - GT_Utility.copyAmount(1L, aStack), - Materials.FierySteel - .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 200L, true)), - GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L), - GT_Values.NI, - GT_Values.NI, - null, - 100, - 8); - GT_Values.RA.addPolarizerRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(aPrefix, Materials.SteelMagnetic, 1L), - (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L), - 16); - break; - case "Neodymium": + case "Wood" -> + // Chemical bath recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L)) + .fluidInputs( + Materials.SeedOil + .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 120L, true))) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(TierEU.ULV) + .addTo(sChemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L)) + .fluidInputs( + Materials.SeedOilLin + .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true))) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(TierEU.ULV) + .addTo(sChemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L)) + .fluidInputs( + Materials.SeedOilHemp + .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true))) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(TierEU.ULV) + .addTo(sChemicalBathRecipes); + + } + case "Iron" -> { + // Chemical bath recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L)) + .fluidInputs( + Materials.FierySteel + .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 250L, true))) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(TierEU.ULV) + .addTo(sChemicalBathRecipes); + } + + // Polarizer recipes + { + GT_Values.RA.addPolarizerRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L), + (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M), + (int) TierEU.LV / 2); + } + } + case "WroughtIron" -> { + // Chemical bath recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L)) + .fluidInputs( + Materials.FierySteel + .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 225L, true))) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(TierEU.ULV) + .addTo(sChemicalBathRecipes); + } + + // Polarizer recipes + { + GT_Values.RA.addPolarizerRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L), + (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M), + (int) TierEU.LV / 2); + } + } + case "Steel" -> { + // Chemical Bath recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L)) + .fluidInputs( + Materials.FierySteel + .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 200L, true))) + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(TierEU.ULV) + .addTo(sChemicalBathRecipes); + } + + // polarizer recipes + { + GT_Values.RA.addPolarizerRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(aPrefix, Materials.SteelMagnetic, 1L), + (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M), + (int) TierEU.LV / 2); + } + } + case "Neodymium" -> + // Polarizer recipes + { GT_Values.RA.addPolarizerRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(aPrefix, Materials.NeodymiumMagnetic, 1L), - (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L), - 256); - case "Samarium": + (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M), + (int) TierEU.HV / 2); + } + case "Samarium" -> + // Polarizer recipes + { GT_Values.RA.addPolarizerRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(aPrefix, Materials.SamariumMagnetic, 1L), - (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L), - 4096); + (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M), + (int) TierEU.IV / 2); + } + + case "TengamPurified" -> + // Polarizer recipes + { + GT_Values.RA.addPolarizerRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(aPrefix, Materials.TengamAttuned, 1L), + (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M), + (int) TierEU.RECIPE_UHV); + } + + default -> { /* NO-OP */ } } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java index 8c4ce4953c..e420017b79 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_Utility.calculateRecipeEU; import java.util.ArrayList; @@ -18,9 +20,8 @@ import gregtech.common.GT_Proxy; public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistrator { - private Materials[] dielectrics = { Materials.PolyvinylChloride, Materials.Polydimethylsiloxane }; - private Materials[] rubbers = { Materials.Rubber, Materials.StyreneButadieneRubber, Materials.Silicone }; - private Materials[] syntheticRubbers = { Materials.StyreneButadieneRubber, Materials.Silicone }; + private final Materials[] dielectrics = { Materials.PolyvinylChloride, Materials.Polydimethylsiloxane }; + private final Materials[] syntheticRubbers = { Materials.StyreneButadieneRubber, Materials.Silicone }; private static Object tt; @@ -48,135 +49,167 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr int cableWidth; OrePrefixes correspondingCable; + switch (aPrefix) { case wireGt01 -> { cableWidth = 1; correspondingCable = OrePrefixes.cableGt01; if (!aMaterial.contains(SubTag.NO_SMASHING)) { - GT_Values.RA.addBenderRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L), - 100, + // Bender recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aStack)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L)) + .noFluidInputs() + .noFluidOutputs() + .duration(5 * SECONDS) + .eut(calculateRecipeEU(aMaterial, 8)) + .addTo(sBenderRecipes); + } + + // Wiremill Recipes + { + GT_Values.RA.addWiremillRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L), + 200, + calculateRecipeEU(aMaterial, 8)); + } + } + + // crafting recipe + if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial) + && !aMaterial.contains(SubTag.NO_WORKING) + && (aMaterial.getProcessingMaterialTierEU() < TierEU.IV)) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { "Xx", 'X', OrePrefixes.plate.get(aMaterial) }); + + } + + // Assembler recipes + { + GT_Values.RA.addAssemblerRecipe( + GT_Utility.copyAmount(2L, aStack), + GT_Utility.getIntegratedCircuit(2), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L), + 150, calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addWiremillRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_Utility.getIntegratedCircuit(1), - GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L), + GT_Values.RA.addAssemblerRecipe( + GT_Utility.copyAmount(4L, aStack), + GT_Utility.getIntegratedCircuit(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L), 200, calculateRecipeEU(aMaterial, 8)); + GT_Values.RA.addAssemblerRecipe( + GT_Utility.copyAmount(8L, aStack), + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L), + 300, + calculateRecipeEU(aMaterial, 8)); + GT_Values.RA.addAssemblerRecipe( + GT_Utility.copyAmount(12L, aStack), + GT_Utility.getIntegratedCircuit(12), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L), + 400, + calculateRecipeEU(aMaterial, 8)); + GT_Values.RA.addAssemblerRecipe( + GT_Utility.copyAmount(16L, aStack), + GT_Utility.getIntegratedCircuit(16), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L), + 500, + calculateRecipeEU(aMaterial, 8)); } - if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial) - && !aMaterial.contains(SubTag.NO_WORKING)) { - if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { "Xx", 'X', OrePrefixes.plate.get(aMaterial) }); - } - } - GT_Values.RA.addAssemblerRecipe( - GT_Utility.copyAmount(2L, aStack), - GT_Utility.getIntegratedCircuit(2), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L), - 150, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - GT_Utility.copyAmount(4L, aStack), - GT_Utility.getIntegratedCircuit(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L), - 200, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - GT_Utility.copyAmount(8L, aStack), - GT_Utility.getIntegratedCircuit(8), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L), - 300, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - GT_Utility.copyAmount(12L, aStack), - GT_Utility.getIntegratedCircuit(12), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L), - 400, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - GT_Utility.copyAmount(16L, aStack), - GT_Utility.getIntegratedCircuit(16), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L), - 500, - calculateRecipeEU(aMaterial, 8)); } case wireGt02 -> { cableWidth = 2; correspondingCable = OrePrefixes.cableGt02; if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 2L), - new Object[] { aOreDictName }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) }); + // Shapeless crafting recipes + { + GT_ModHandler.addShapelessCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 2L), + new Object[] { aOreDictName }); + + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) }); + } } } case wireGt04 -> { cableWidth = 4; correspondingCable = OrePrefixes.cableGt04; if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 4L), - new Object[] { aOreDictName }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), - OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt02.get(aMaterial), OrePrefixes.wireGt02.get(aMaterial) }); + // Shapeless crafting recipes + { + GT_ModHandler.addShapelessCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 4L), + new Object[] { aOreDictName }); + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), + OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) }); + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt02.get(aMaterial), OrePrefixes.wireGt02.get(aMaterial) }); + } } } case wireGt08 -> { cableWidth = 8; correspondingCable = OrePrefixes.cableGt08; if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 8L), - new Object[] { aOreDictName }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), - OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), - OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), - OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt04.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) }); + // Shapeless crafting recipes + { + GT_ModHandler.addShapelessCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 8L), + new Object[] { aOreDictName }); + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), + OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), + OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial), + OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) }); + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt04.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) }); + } } } case wireGt12 -> { cableWidth = 12; correspondingCable = OrePrefixes.cableGt12; if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 12L), - new Object[] { aOreDictName }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) }); + // Shapeless crafting recipes + { + GT_ModHandler.addShapelessCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 12L), + new Object[] { aOreDictName }); + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) }); + } } } case wireGt16 -> { cableWidth = 16; correspondingCable = OrePrefixes.cableGt16; if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) { - - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 16L), - new Object[] { aOreDictName }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt08.get(aMaterial) }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_Utility.copyAmount(1L, aStack), - new Object[] { OrePrefixes.wireGt12.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) }); + // Shapeless crafting recipes + { + GT_ModHandler.addShapelessCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 16L), + new Object[] { aOreDictName }); + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt08.get(aMaterial) }); + GT_ModHandler.addShapelessCraftingRecipe( + GT_Utility.copyAmount(1L, aStack), + new Object[] { OrePrefixes.wireGt12.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) }); + } if (GT_Mod.gregtechproxy.mAE2Integration) { AE2addNewAttunement(aStack); @@ -193,26 +226,32 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr int costMultiplier = cableWidth / 4 + 1; switch (aMaterial.mName) { - case "RedAlloy": - case "Cobalt": - case "Lead": - case "Tin": - case "Zinc": - case "SolderingAlloy": + case "RedAlloy", "Cobalt", "Lead", "Tin", "Zinc", "SolderingAlloy": ArrayList<Object> craftingListRubber = new ArrayList<>(); craftingListRubber.add(aOreDictName); for (int i = 0; i < costMultiplier; i++) { craftingListRubber.add(OrePrefixes.plate.get(Materials.Rubber)); } + + // shapeless crafting + { GT_ModHandler.addShapelessCraftingRecipe( GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), craftingListRubber.toArray()); + } + + // Packer recipe + { GT_Values.RA.addBoxingRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate.get(Materials.Rubber), costMultiplier), GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), 100, 8); + } + + // alloy smelter recipes + { GT_Values.RA.addAlloySmelterRecipe( GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 2L), GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L), @@ -231,22 +270,10 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.cableGt04, aMaterial, 1L), 300, 30); - case "Iron": - case "Nickel": - case "Cupronickel": - case "Copper": - case "AnnealedCopper": - case "Kanthal": - case "Gold": - case "Electrum": - case "Silver": - case "Blue Alloy": - case "Nichrome": - case "Steel": - case "BlackSteel": - case "Titanium": - case "Aluminium": - case "BlueAlloy": + } + case "Iron", "Nickel", "Cupronickel", "Copper", "AnnealedCopper", "Kanthal", "Gold", "Electrum", "Silver", "Blue Alloy", "Nichrome", "Steel", "BlackSteel", "Titanium", "Aluminium", "BlueAlloy": + // Assembler recipes + { GT_Values.RA.addAssemblerRecipe( aStack, GT_Utility.getIntegratedCircuit(24), @@ -284,7 +311,11 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr 8); } } + } + case "RedstoneAlloy": + // Assembler recipes + { GT_Values.RA.addAssemblerRecipe( aStack, GT_Utility.getIntegratedCircuit(24), @@ -322,102 +353,64 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr 8); } } + } break; default: - if (GT_Mod.gregtechproxy.mEasierIVPlusCables) { - GT_Values.RA.addAssemblerRecipe( - aStack, - GT_Utility.getIntegratedCircuit(24), - Materials.Rubber.getMolten(144 * costMultiplier), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), - 100, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - aStack, - GT_Utility.getIntegratedCircuit(24), - Materials.StyreneButadieneRubber.getMolten(108 * costMultiplier), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), - 100, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - aStack, - GT_Utility.getIntegratedCircuit(24), - Materials.Silicone.getMolten(72 * costMultiplier), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), - 100, - calculateRecipeEU(aMaterial, 8)); - for (Materials dielectric : dielectrics) { - for (Materials syntheticRubber : syntheticRubbers) { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.copyAmount(4, aStack), - dielectric.getDust(costMultiplier) }, - syntheticRubber.getMolten(costMultiplier * 144), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L), - 400, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier) }, - syntheticRubber.getMolten(costMultiplier * 36), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), - 100, - calculateRecipeEU(aMaterial, 8)); - } - } - } else { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { aStack, GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier), - GT_Utility.getIntegratedCircuit(24) }, - Materials.Silicone.getMolten(costMultiplier * 72), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), - 100, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA - .addAssemblerRecipe( - new ItemStack[] { aStack, + // Assembler recipes + { + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { aStack, GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier), + GT_Utility.getIntegratedCircuit(24) }, + Materials.Silicone.getMolten(costMultiplier * 72), + GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), + 100, + calculateRecipeEU(aMaterial, 8)); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { aStack, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier), + GT_Utility.getIntegratedCircuit(24) }, + Materials.Silicone.getMolten(costMultiplier * 72), + GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), + 100, + calculateRecipeEU(aMaterial, 8)); + for (Materials dielectric : dielectrics) { + for (Materials syntheticRubber : syntheticRubbers) { + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier), + GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier * 4) }, + syntheticRubber.getMolten(costMultiplier * 144), + GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L), + 400, + calculateRecipeEU(aMaterial, 8)); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier), GT_OreDictUnificator - .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier), - GT_Utility.getIntegratedCircuit(24) }, - Materials.Silicone.getMolten(costMultiplier * 72), + .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier * 4) }, + syntheticRubber.getMolten(costMultiplier * 144), + GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L), + 400, + calculateRecipeEU(aMaterial, 8)); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier), + GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier) }, + syntheticRubber.getMolten(costMultiplier * 36), + GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), + 100, + calculateRecipeEU(aMaterial, 8)); + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier), + GT_OreDictUnificator + .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier) }, + syntheticRubber.getMolten(costMultiplier * 36), GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), 100, calculateRecipeEU(aMaterial, 8)); - for (Materials dielectric : dielectrics) { - for (Materials syntheticRubber : syntheticRubbers) { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier), - GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier * 4) }, - syntheticRubber.getMolten(costMultiplier * 144), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L), - 400, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier), - GT_OreDictUnificator - .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier * 4) }, - syntheticRubber.getMolten(costMultiplier * 144), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L), - 400, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier), - GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier) }, - syntheticRubber.getMolten(costMultiplier * 36), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), - 100, - calculateRecipeEU(aMaterial, 8)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier), - GT_OreDictUnificator - .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier) }, - syntheticRubber.getMolten(costMultiplier * 36), - GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), - 100, - calculateRecipeEU(aMaterial, 8)); - } } } + } break; } + // Honestly when can this machine be removed? ); GT_Values.RA.addUnboxingRecipe( GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L), @@ -425,6 +418,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr null, 100, calculateRecipeEU(aMaterial, 8)); + if (GT_Mod.gregtechproxy.mAE2Integration) { AE2AddNetAttunementCable(aStack, correspondingCable, aMaterial); } diff --git a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java index 24229bd852..b0c6392de4 100644 --- a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java +++ b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java @@ -46,6 +46,7 @@ import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_Massfabrica import ic2.api.recipe.IRecipeInput; import ic2.api.recipe.RecipeOutput; +@SuppressWarnings("deprecation") public class GT_PostLoad { public static void activateOreDictHandler() { @@ -426,7 +427,6 @@ public class GT_PostLoad { .collect(Collectors.toSet()) : new HashSet<>(Arrays.asList(Materials.values())); - @SuppressWarnings("deprecation") // stable API for MC 1.7.10 ProgressManager.ProgressBar progressBar = ProgressManager .push("Register materials", replaceVanillaItemsSet.size()); if (GT_Values.cls_enabled) { @@ -442,7 +442,6 @@ public class GT_PostLoad { doActualRegistration(m); }); } - // noinspection deprecation// stable API for MC 1.7.10 ProgressManager.pop(progressBar); // noinspection UnstableApiUsage// stable enough for project GT_Mod.GT_FML_LOGGER.info("Replaced Vanilla Materials (" + stopwatch.stop() + "). Have a Cake."); @@ -472,7 +471,6 @@ public class GT_PostLoad { return ItemList.Circuit_Integrated.getItem(); } - @SuppressWarnings("unchecked") // Overrides legacy method with raw types @Override public void displayAllReleventItems(List<ItemStack> aList) { diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java index ab9162dcd7..b9ccba1cec 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java @@ -1,6 +1,12 @@ package gregtech.loaders.postload.chains; -import net.minecraft.item.ItemStack; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.*; @@ -12,27 +18,31 @@ public class GT_BauxiteRefineChain { public static void run() { - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Bauxite, 32), - Materials.SodiumHydroxide.getDust(9), - Materials.Quicklime.getDust(4), - GT_Utility.getIntegratedCircuit(8), - Materials.Water.getFluid(5000), - MaterialsOreAlum.BauxiteSlurry.getFluid(8000), - GT_Values.NI, - 200, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Bauxite, 32), + Materials.SodiumHydroxide.getDust(9), + Materials.Quicklime.getDust(4), + GT_Utility.getIntegratedCircuit(8)) + .noItemOutputs() + .fluidInputs(Materials.Water.getFluid(5000)) + .fluidOutputs(MaterialsOreAlum.BauxiteSlurry.getFluid(8000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sMixerRecipes); - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Bauxite, 32), - Materials.SodiumHydroxide.getDust(9), - Materials.Quicklime.getDust(4), - GT_Utility.getIntegratedCircuit(8), - Materials.Water.getFluid(5000), - MaterialsOreAlum.BauxiteSlurry.getFluid(8000), - GT_Values.NI, - 200, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Bauxite, 32), + Materials.SodiumHydroxide.getDust(9), + Materials.Quicklime.getDust(4), + GT_Utility.getIntegratedCircuit(8)) + .noItemOutputs() + .fluidInputs(Materials.Water.getFluid(5000)) + .fluidOutputs(MaterialsOreAlum.BauxiteSlurry.getFluid(8000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sMixerRecipes); GT_Values.RA.addCrackingRecipe( 1, @@ -42,240 +52,265 @@ public class GT_BauxiteRefineChain { 160, 400); - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { Materials.Aluminiumhydroxide.getDust(1), }, - new FluidStack[] { Materials.CarbonDioxide.getGas(5000), - MaterialsOreAlum.HeatedBauxiteSlurry.getFluid(8000) }, - new FluidStack[] { MaterialsOreAlum.SluiceJuice.getFluid(5000), }, - new ItemStack[] { Materials.Aluminiumoxide.getDust(64), Materials.Aluminiumoxide.getDust(16), - Materials.SodiumCarbonate.getDust(9), Materials.Calcite.getDust(10), - MaterialsOreAlum.BauxiteSlag.getDust(16) }, - 300, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Aluminiumhydroxide.getDust(1)) + .itemOutputs( + Materials.Aluminiumoxide.getDust(64), + Materials.Aluminiumoxide.getDust(16), + Materials.SodiumCarbonate.getDust(9), + Materials.Calcite.getDust(10), + MaterialsOreAlum.BauxiteSlag.getDust(16)) + .fluidInputs(Materials.CarbonDioxide.getGas(5000), MaterialsOreAlum.HeatedBauxiteSlurry.getFluid(8000)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(5000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sMultiblockChemicalRecipes); - GT_Values.RA.addCentrifugeRecipe( - MaterialsOreAlum.BauxiteSlag.getDust(1), - GT_Values.NI, - GT_Values.NF, - GT_Values.NF, - Materials.Rutile.getDust(1), - Materials.Gallium.getDust(1), - Materials.Quicklime.getDust(1), - Materials.SiliconDioxide.getDust(1), - Materials.Iron.getDust(1), - GT_Values.NI, - new int[] { 8000, 6000, 2000, 9000, 8000 }, - 40, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsOreAlum.BauxiteSlag.getDust(1)) + .itemOutputs( + Materials.Rutile.getDust(1), + Materials.Gallium.getDust(1), + Materials.Quicklime.getDust(1), + Materials.SiliconDioxide.getDust(1), + Materials.Iron.getDust(1)) + .outputChances(8000, 6000, 2000, 9000, 8000) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addChemicalBathRecipe( - GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Ilmenite, 1), - Materials.SulfuricAcid.getFluid(1000), - new FluidStack(ItemList.sGreenVitriol, 2000), - Materials.Rutile.getDust(1), - MaterialsOreAlum.IlmeniteSlag.getDust(1), - GT_Values.NI, - new int[] { 8500, 3000 }, - 420, - 1000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Ilmenite, 1)) + .itemOutputs(Materials.Rutile.getDust(1), MaterialsOreAlum.IlmeniteSlag.getDust(1)) + .outputChances(8500, 3000) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(new FluidStack(ItemList.sGreenVitriol, 2000)) + .duration(21 * SECONDS) + .eut(1000) + .addTo(sChemicalBathRecipes); - GT_Values.RA.addChemicalBathRecipe( - GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Ilmenite, 1), - Materials.SulfuricAcid.getFluid(1000), - new FluidStack(ItemList.sGreenVitriol, 2000), - Materials.Rutile.getDust(1), - MaterialsOreAlum.IlmeniteSlag.getDust(1), - GT_Values.NI, - new int[] { 8500, 6000 }, - 420, - 1000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Ilmenite, 1)) + .itemOutputs(Materials.Rutile.getDust(1), MaterialsOreAlum.IlmeniteSlag.getDust(1)) + .outputChances(8500, 6000) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(new FluidStack(ItemList.sGreenVitriol, 2000)) + .duration(21 * SECONDS) + .eut(1000) + .addTo(sChemicalBathRecipes); - GT_Values.RA.addCentrifugeRecipe( - MaterialsOreAlum.IlmeniteSlag.getDust(1), - GT_Values.NI, - GT_Values.NF, - GT_Values.NF, - Materials.Iron.getDust(1), - Materials.Niobium.getDust(1), - Materials.Tantalum.getDust(1), - Materials.Manganese.getDust(1), - Materials.Magnesium.getDust(1), - GT_Values.NI, - new int[] { 8000, 1000, 2000, 5000, 6000 }, - 40, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsOreAlum.IlmeniteSlag.getDust(1)) + .itemOutputs( + Materials.Iron.getDust(1), + Materials.Niobium.getDust(1), + Materials.Tantalum.getDust(1), + Materials.Manganese.getDust(1), + Materials.Magnesium.getDust(1)) + .outputChances(8000, 1000, 2000, 5000, 6000) + .noFluidInputs() + .noFluidOutputs() + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); OrePrefixes[] washable = new OrePrefixes[] { OrePrefixes.crushed, OrePrefixes.crushedPurified, OrePrefixes.dustImpure, OrePrefixes.dustPure }; for (OrePrefixes ore : washable) { - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator.get(ore, Materials.Sapphire, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1), - GT_Utility.getIntegratedCircuit(1), - null, - Materials.HydrochloricAcid.getFluid(1000), - MaterialsOreAlum.SapphireJuice.getFluid(1000), - null, - 40, - 100); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(ore, Materials.Sapphire, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1), + GT_Utility.getIntegratedCircuit(1)) + .noItemOutputs() + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(MaterialsOreAlum.SapphireJuice.getFluid(1000)) + .duration(2 * SECONDS) + .eut(100) + .addTo(sMixerRecipes); - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator.get(ore, Materials.GreenSapphire, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1), - GT_Utility.getIntegratedCircuit(1), - null, - Materials.HydrochloricAcid.getFluid(1000), - MaterialsOreAlum.GreenSapphireJuice.getFluid(1000), - null, - 40, - 100); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(ore, Materials.GreenSapphire, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1), + GT_Utility.getIntegratedCircuit(1)) + .noItemOutputs() + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(MaterialsOreAlum.GreenSapphireJuice.getFluid(1000)) + .duration(2 * SECONDS) + .eut(100) + .addTo(sMixerRecipes); - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator.get(ore, Materials.Ruby, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1), - GT_Utility.getIntegratedCircuit(1), - null, - Materials.HydrochloricAcid.getFluid(1000), - MaterialsOreAlum.RubyJuice.getFluid(1000), - null, - 40, - 100); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(ore, Materials.Ruby, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1), + GT_Utility.getIntegratedCircuit(1)) + .noItemOutputs() + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(MaterialsOreAlum.RubyJuice.getFluid(1000)) + .duration(2 * SECONDS) + .eut(100) + .addTo(sMixerRecipes); } - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.getIntegratedCircuit(1), - null, - MaterialsOreAlum.SapphireJuice.getFluid(1000), - Materials.HydrochloricAcid.getFluid(1000), - Materials.Aluminiumhydroxide.getDust(3), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Magnesium, 1), - null, - null, - new int[] { 10000, 2000, 2000, 2000 }, - 45, - 100); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + Materials.Aluminiumhydroxide.getDust(3), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Magnesium, 1)) + .outputChances(10000, 2000, 2000, 2000) + .fluidInputs(MaterialsOreAlum.SapphireJuice.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(100) + .addTo(sCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + Materials.Aluminiumhydroxide.getDust(3), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Manganese, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Beryllium, 1)) + .outputChances(10000, 2000, 2000, 2000, 2000) + .fluidInputs(MaterialsOreAlum.GreenSapphireJuice.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(100) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.getIntegratedCircuit(1), - null, - MaterialsOreAlum.GreenSapphireJuice.getFluid(1000), - Materials.HydrochloricAcid.getFluid(1000), - Materials.Aluminiumhydroxide.getDust(3), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Manganese, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Beryllium, 1), - null, - new int[] { 10000, 2000, 2000, 2000, 2000 }, - 45, - 100); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + Materials.Aluminiumhydroxide.getDust(3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Magnesium, 1)) + .outputChances(10000, 10000, 2000, 2000, 2000) + .fluidInputs(MaterialsOreAlum.RubyJuice.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(100) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.getIntegratedCircuit(1), - null, - MaterialsOreAlum.RubyJuice.getFluid(1000), - Materials.HydrochloricAcid.getFluid(1000), - Materials.Aluminiumhydroxide.getDust(3), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Magnesium, 1), - null, - new int[] { 10000, 10000, 2000, 2000, 2000 }, - 45, - 100); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Pyrope.getDust(1)) + .itemOutputs( + Materials.Aluminiumoxide.getDust(1), + Materials.Magnesia.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1)) + .outputChances(5000, 4000, 2000, 2000, 2000, 2000) + .fluidInputs(Materials.NitricAcid.getFluid(10)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - Materials.Pyrope.getDust(1), - null, - Materials.NitricAcid.getFluid(10), - MaterialsOreAlum.SluiceJuice.getFluid(10), - Materials.Aluminiumoxide.getDust(1), - Materials.Magnesia.getDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), - new int[] { 5000, 4000, 2000, 2000, 2000, 2000 }, - 45, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Almandine.getDust(1)) + .itemOutputs( + Materials.Aluminiumoxide.getDust(1), + Materials.Iron.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Chrome, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1)) + .outputChances(5000, 4000, 2000, 2000, 2000, 2000) + .fluidInputs(Materials.NitricAcid.getFluid(10)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - Materials.Almandine.getDust(1), - null, - Materials.NitricAcid.getFluid(10), - MaterialsOreAlum.SluiceJuice.getFluid(10), - Materials.Aluminiumoxide.getDust(1), - Materials.Iron.getDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Chrome, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), - new int[] { 5000, 4000, 2000, 2000, 2000, 2000 }, - 45, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Spessartine.getDust(1)) + .itemOutputs( + Materials.Aluminiumoxide.getDust(1), + Materials.Pyrolusite.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tantalum, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Magnesium, 1)) + .outputChances(5000, 4000, 2000, 2000, 2000, 2000) + .fluidInputs(Materials.NitricAcid.getFluid(10)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - Materials.Spessartine.getDust(1), - null, - Materials.NitricAcid.getFluid(10), - MaterialsOreAlum.SluiceJuice.getFluid(10), - Materials.Aluminiumoxide.getDust(1), - Materials.Pyrolusite.getDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tantalum, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Magnesium, 1), - new int[] { 5000, 4000, 2000, 2000, 2000, 2000 }, - 45, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Andradite.getDust(1)) + .itemOutputs( + Materials.Quicklime.getDust(1), + Materials.Iron.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Rutile, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Aluminiumoxide, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1)) + .outputChances(5000, 4000, 2000, 2000, 2000, 2000) + .fluidInputs(Materials.NitricAcid.getFluid(10)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - Materials.Andradite.getDust(1), - null, - Materials.NitricAcid.getFluid(10), - MaterialsOreAlum.SluiceJuice.getFluid(10), - Materials.Quicklime.getDust(1), - Materials.Iron.getDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Rutile, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Aluminiumoxide, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), - new int[] { 5000, 4000, 2000, 2000, 2000, 2000 }, - 45, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Uvarovite.getDust(1)) + .itemOutputs( + Materials.Quicklime.getDust(1), + Materials.Chrome.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Aluminiumoxide, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Manganese, 1)) + .outputChances(5000, 1000, 2000, 2000, 2000, 2000) + .fluidInputs(Materials.NitricAcid.getFluid(10)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - Materials.Uvarovite.getDust(1), - null, - Materials.NitricAcid.getFluid(10), - MaterialsOreAlum.SluiceJuice.getFluid(10), - Materials.Quicklime.getDust(1), - Materials.Chrome.getDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Aluminiumoxide, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Manganese, 1), - new int[] { 5000, 1000, 2000, 2000, 2000, 2000 }, - 45, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Uvarovite.getDust(1)) + .itemOutputs( + Materials.Quicklime.getDust(1), + Materials.Chrome.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Aluminiumoxide, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Manganese, 1)) + .outputChances(5000, 1000, 2000, 2000, 2000, 2000) + .fluidInputs(Materials.NitricAcid.getFluid(10)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); - GT_Values.RA.addCentrifugeRecipe( - Materials.Grossular.getDust(1), - null, - Materials.NitricAcid.getFluid(10), - MaterialsOreAlum.SluiceJuice.getFluid(10), - Materials.Quicklime.getDust(1), - Materials.Aluminiumoxide.getDust(1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1), - new int[] { 5000, 4000, 2000, 2000, 2000, 2000 }, - 45, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Grossular.getDust(1)) + .itemOutputs( + Materials.Quicklime.getDust(1), + Materials.Aluminiumoxide.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Vanadium, 1)) + .outputChances(5000, 4000, 2000, 2000, 2000, 2000) + .fluidInputs(Materials.NitricAcid.getFluid(10)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10)) + .duration(2 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(sCentrifugeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java index ece7692865..aaa46ccd3b 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java @@ -57,7 +57,7 @@ public class AssemblyLineRecipes implements Runnable { .noFluidOutputs() .itemOutputs(ItemList.Electric_Motor_LuV.get(1)) .eut(TierEU.RECIPE_IV) - .duration(600) + .duration(30 * SECONDS) .addTo(AssemblyLine); // ZPM motor diff --git a/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java index 3724af440d..05e1d76fdb 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java @@ -11,9 +11,7 @@ import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.*; import gregtech.api.util.GT_ModHandler; @@ -90,23 +88,25 @@ public class BreweryRecipes implements Runnable { // water based recipe input { - Fluid[] waterArray; + String[] waterArray; /* * if IC2 isn't loaded, getDistilledWater returns the base minecraft water, so no need to do the recipe * loading twice. */ if (IndustrialCraft2.isModLoaded()) { - waterArray = new Fluid[] { FluidRegistry.WATER, GT_ModHandler.getDistilledWater(1L) - .getFluid() }; + waterArray = new String[] { FluidRegistry.WATER.getUnlocalizedName(), + GT_ModHandler.getDistilledWater(1L) + .getFluid() + .getUnlocalizedName() }; } else { - waterArray = new Fluid[] { FluidRegistry.WATER }; + waterArray = new String[] { FluidRegistry.WATER.getUnlocalizedName(), }; } - for (Fluid tFluid : waterArray) { + for (String fluid : waterArray) { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("milk", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -115,7 +115,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.wheatyjuice", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -124,7 +124,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Potassium, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mineralwater", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -133,7 +133,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mineralwater", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -142,7 +142,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mineralwater", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -151,7 +151,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mineralwater", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -160,7 +160,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.thick", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -169,7 +169,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -178,7 +178,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -187,7 +187,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -196,7 +196,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.magma_cream, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -205,7 +205,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.fermented_spider_eye, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -214,7 +214,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.spider_eye, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -223,7 +223,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.speckled_melon, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -232,7 +232,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.ghast_tear, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.mundane", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -241,7 +241,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.nether_wart, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.awkward", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -250,7 +250,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Blocks.red_mushroom, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.poison", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -259,7 +259,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.fish, 1, 3)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.poison.strong", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -269,7 +269,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(ItemList.IC2_Grin_Powder.get(1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.poison.strong", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -278,7 +278,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.reeds, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.reedwater", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -287,7 +287,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.apple, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.applejuice", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -296,7 +296,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.golden_apple, 1, 0)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.goldenapplejuice", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -306,7 +306,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.golden_apple, 1, 1)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.idunsapplejuice", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -316,7 +316,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(ItemList.IC2_Hops.get(1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.hopsjuice", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -325,7 +325,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coffee, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.darkcoffee", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -334,7 +334,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L)) .noItemOutputs() - .fluidInputs(new FluidStack(tFluid, 750)) + .fluidInputs(getFluidStack(fluid, 750)) .fluidOutputs(getFluidStack("potion.chillysauce", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -520,7 +520,7 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(getModItem(Forestry.ID, "fertilizerBio", 4L, 0)) .noItemOutputs() - .fluidInputs(GT_ModHandler.getWater(750L)) + .fluidInputs(getFluidStack(FluidRegistry.WATER.getUnlocalizedName(), 750)) .fluidOutputs(getFluidStack("biomass", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -529,7 +529,12 @@ public class BreweryRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(getModItem(Forestry.ID, "mulch", 16L, 0)) .noItemOutputs() - .fluidInputs(GT_ModHandler.getDistilledWater(750L)) + .fluidInputs( + getFluidStack( + GT_ModHandler.getDistilledWater(750L) + .getFluid() + .getUnlocalizedName(), + 750)) .fluidOutputs(getFluidStack("biomass", 750)) .duration(6 * SECONDS + 8 * TICKS) .eut(4) @@ -595,28 +600,24 @@ public class BreweryRecipes implements Runnable { .addTo(sBrewingRecipes); // strong - if (aName == "regen" || aName == "speed" || aName == "health" || aName == "strength" || aName == "poison") { - GT_Values.RA.stdBuilder() - .itemInputs(aItem) - .noItemOutputs() - .fluidInputs(getFluidStack("potion.thick", 750)) - .fluidOutputs(getFluidStack("potion." + aName + ".strong", 750)) - .duration(6 * SECONDS + 8 * TICKS) - .eut(4) - .addTo(sBrewingRecipes); - } + GT_Values.RA.stdBuilder() + .itemInputs(aItem) + .noItemOutputs() + .fluidInputs(getFluidStack("potion.thick", 750)) + .fluidOutputs(getFluidStack("potion." + aName + ".strong", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(sBrewingRecipes); // long - if (aName != "health") { - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L)) - .noItemOutputs() - .fluidInputs(getFluidStack("potion." + aName, 750)) - .fluidOutputs(getFluidStack("potion." + aName + ".long", 750)) - .duration(6 * SECONDS + 8 * TICKS) - .eut(4) - .addTo(sBrewingRecipes); - } + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L)) + .noItemOutputs() + .fluidInputs(getFluidStack("potion." + aName, 750)) + .fluidOutputs(getFluidStack("potion." + aName + ".long", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(sBrewingRecipes); MixerRecipes.addMixerPotionRecipes(aName); } diff --git a/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java index ff2f6521bd..a4dda50738 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java @@ -15,7 +15,6 @@ 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,18 +130,15 @@ public class CropProcessingRecipes implements Runnable { FluidStack fluidOutputChemReactor = aMaterialOut.mOreByProducts.isEmpty() ? null : aMaterialOut.mOreByProducts.get(0) .getMolten(144); - GT_RecipeBuilder buildChemRecipe = GT_Values.RA.stdBuilder() + + GT_Values.RA.stdBuilder() .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)); - if (fluidOutputChemReactor == null) { - buildChemRecipe.noFluidOutputs(); - } else { - buildChemRecipe.fluidOutputs(fluidOutputChemReactor); - } - buildChemRecipe.duration(4 * SECONDS + 16 * TICKS) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(fluidOutputChemReactor) + .duration(4 * SECONDS + 16 * TICKS) .eut(24) .addTo(UniversalChemical); diff --git a/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java index 28f2d349b8..2c7f7aee72 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java @@ -6,6 +6,7 @@ import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsOreAlum; +import gregtech.api.enums.TierEU; public class ElectromagneticSeparatorRecipes implements Runnable { @@ -18,8 +19,20 @@ public class ElectromagneticSeparatorRecipes implements Runnable { .noFluidInputs() .noFluidOutputs() .duration(10 * SECONDS) - .eut(240) + .eut(TierEU.RECIPE_HV / 2) .addTo(sElectroMagneticSeparatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.TengamRaw.getDust(1)) + .itemOutputs( + Materials.TengamPurified.getDust(1), + Materials.NeodymiumMagnetic.getDust(1), + Materials.SamariumMagnetic.getDust(1)) + .outputChances(10000, 1000, 1000) + .noFluidInputs() + .noFluidOutputs() + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(sElectroMagneticSeparatorRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java index 603f1ef115..2d50d3e945 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java @@ -617,29 +617,34 @@ public class FluidExtractorRecipes implements Runnable { // Beecombs fluid extractor recipes if (BartWorks.isModLoaded()) { // xenon - GT_Values.RA.addFluidExtractionRecipe( - getModItem(GregTech.ID, "gt.comb", 1L, 134), - null, - getFluidStack("xenon", 250), - 100 * 100, - 50, - 8192); + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 134)) + .noItemOutputs() + .noFluidInputs() + .fluidOutputs(getFluidStack("xenon", 250)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(sFluidExtractionRecipes); + // neon - GT_Values.RA.addFluidExtractionRecipe( - getModItem(GregTech.ID, "gt.comb", 1L, 135), - null, - getFluidStack("neon", 250), - 100 * 100, - 15, - 8192); + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 135)) + .noItemOutputs() + .noFluidInputs() + .fluidOutputs(getFluidStack("neon", 250)) + .duration(15 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(sFluidExtractionRecipes); + // krpton - GT_Values.RA.addFluidExtractionRecipe( - getModItem(GregTech.ID, "gt.comb", 1L, 136), - null, - getFluidStack("krypton", 250), - 100 * 100, - 25, - 8192); + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 136)) + .noItemOutputs() + .noFluidInputs() + .fluidOutputs(getFluidStack("krypton", 250)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(sFluidExtractionRecipes); } } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java b/src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java index 708ffa4cec..8dd51d8272 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java +++ b/src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java @@ -42,34 +42,34 @@ public class RecipeRemover implements Runnable { try { GT_Utility.removeSimpleIC2MachineRecipe( GT_Values.NI, - ic2.api.recipe.Recipes.metalformerExtruding.getRecipes(), + Recipes.metalformerExtruding.getRecipes(), ItemList.Cell_Empty.get(3L)); GT_Utility.removeSimpleIC2MachineRecipe( ItemList.IC2_Energium_Dust.get(1L), - ic2.api.recipe.Recipes.compressor.getRecipes(), + Recipes.compressor.getRecipes(), GT_Values.NI); GT_Utility.removeSimpleIC2MachineRecipe( new ItemStack(Items.gunpowder), - ic2.api.recipe.Recipes.extractor.getRecipes(), + Recipes.extractor.getRecipes(), GT_Values.NI); GT_Utility.removeSimpleIC2MachineRecipe( new ItemStack(Blocks.wool, 1, 32767), - ic2.api.recipe.Recipes.extractor.getRecipes(), + Recipes.extractor.getRecipes(), GT_Values.NI); GT_Utility.removeSimpleIC2MachineRecipe( new ItemStack(Blocks.gravel), - ic2.api.recipe.Recipes.oreWashing.getRecipes(), + Recipes.oreWashing.getRecipes(), GT_Values.NI); } catch (Throwable ignored) {} GT_Utility.removeIC2BottleRecipe( GT_ModHandler.getIC2Item("fuelRod", 1), GT_ModHandler.getIC2Item("UranFuel", 1), - ic2.api.recipe.Recipes.cannerBottle.getRecipes(), + Recipes.cannerBottle.getRecipes(), GT_ModHandler.getIC2Item("reactorUraniumSimple", 1, 1)); GT_Utility.removeIC2BottleRecipe( GT_ModHandler.getIC2Item("fuelRod", 1), GT_ModHandler.getIC2Item("MOXFuel", 1), - ic2.api.recipe.Recipes.cannerBottle.getRecipes(), + Recipes.cannerBottle.getRecipes(), GT_ModHandler.getIC2Item("reactorMOXSimple", 1, 1)); GT_Utility.removeSimpleIC2MachineRecipe( @@ -117,7 +117,7 @@ public class RecipeRemover implements Runnable { if (!GregTech_API.mIC2Classic) { try { - Map<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tLiqExchange = ic2.api.recipe.Recipes.liquidCooldownManager + Map<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tLiqExchange = Recipes.liquidCooldownManager .getHeatExchangeProperties(); Iterator<Map.Entry<String, ILiquidHeatExchangerManager.HeatExchangeProperty>> tIterator = tLiqExchange .entrySet() @@ -135,7 +135,7 @@ public class RecipeRemover implements Runnable { } try { - Map<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tLiqExchange = ic2.api.recipe.Recipes.liquidHeatupManager + Map<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tLiqExchange = Recipes.liquidHeatupManager .getHeatExchangeProperties(); Iterator<Map.Entry<String, ILiquidHeatExchangerManager.HeatExchangeProperty>> tIterator = tLiqExchange .entrySet() diff --git a/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java index 3c53b565ce..a5ce4e3871 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java @@ -2,9 +2,6 @@ package gregtech.loaders.postload.recipes; import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sTranscendentPlasmaMixerRecipes; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; @@ -18,21 +15,6 @@ public class TranscendentPlasmaMixerRecipes implements Runnable { private static final int EXOTIC_EU_PER_L = 1_073_007_393; private static final int STELLAR_EU_PER_HALF_L = 2_138_383_760; - @Deprecated - private static void addTranscendentPlasmaMixerRecipe(final FluidStack fluidOutput, final int circuitNumber, - final FluidStack[] fluidInput, final int EUPerL) { - sTranscendentPlasmaMixerRecipes.addRecipe( - false, - new ItemStack[] { GT_Utility.getIntegratedCircuit(circuitNumber) }, - null, - null, - fluidInput, - new FluidStack[] { fluidOutput }, - 100, - EUPerL, // NOT EU/T, I am simply using the field for this purpose. - 0); - } - @Override public void run() { diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index 817b1c5d0b..86d3004009 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -10,6 +10,11 @@ import static gregtech.api.enums.Mods.PamsHarvestCraft; import static gregtech.api.enums.Mods.Railcraft; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.TwilightForest; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import java.util.Locale; @@ -17,7 +22,6 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; @@ -229,24 +233,41 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { ItemList.Depleted_Thorium_4.get(1), false)); - GT_ModHandler.addThermalCentrifugeRecipe( - ItemList.Depleted_Thorium_1.get(1), - 5000, - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lutetium, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L)); - GT_ModHandler.addThermalCentrifugeRecipe( - ItemList.Depleted_Thorium_2.get(1), - 5000, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lutetium, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3L)); - GT_ModHandler.addThermalCentrifugeRecipe( - ItemList.Depleted_Thorium_4.get(1), - 5000, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lutetium, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 6L)); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Thorium_1.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lutetium, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L)) + .noFluidInputs() + .noFluidOutputs() + .duration(25 * SECONDS) + .eut(48) + .addTo(sThermalCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Thorium_2.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lutetium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3L)) + .noFluidInputs() + .noFluidOutputs() + .duration(25 * SECONDS) + .eut(48) + .addTo(sThermalCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Thorium_4.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lutetium, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 6L)) + .noFluidInputs() + .noFluidOutputs() + .duration(25 * SECONDS) + .eut(48) + .addTo(sThermalCentrifugeRecipes); ItemList.Depleted_Naquadah_1 .set(new GT_DepletetCell_Item("NaquadahcellDep", "Fuel Rod (Depleted Naquadah)", 1)); @@ -288,48 +309,53 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { ItemList.Depleted_Naquadah_4.get(1), false)); - GT_Values.RA.addCentrifugeRecipe( - ItemList.Depleted_Naquadah_1.get(1), - null, - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Naquadria, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NaquadahEnriched, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 8L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 1L), - new int[] { 10_000, 5_000, 5_000, 2_500, 10_000, 10_000 }, - 500, - 2000); - GT_Values.RA.addCentrifugeRecipe( - ItemList.Depleted_Naquadah_2.get(1), - null, - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NaquadahEnriched, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 18L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 2L), - new int[] { 10_000, 5_000, 5_000, 2_500, 10_000, 10_000 }, - 1000, - 2000); - GT_Values.RA.addCentrifugeRecipe( - ItemList.Depleted_Naquadah_4.get(1), - null, - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NaquadahEnriched, 8L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 38L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 4L), - new int[] { 10_000, 5_000, 5_000, 2_500, 10_000, 10_000 }, - 2000, - 2000); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Naquadah_1.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Naquadria, 2L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NaquadahEnriched, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 8L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 1L)) + .outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000) + .noFluidInputs() + .noFluidOutputs() + .duration(25 * SECONDS) + .eut(2000) + .addTo(sCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Naquadah_2.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NaquadahEnriched, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 18L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 2L)) + .outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000) + .noFluidInputs() + .noFluidOutputs() + .duration(50 * SECONDS) + .eut(2000) + .addTo(sCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Naquadah_4.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 2L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NaquadahEnriched, 8L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 38L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 4L)) + .outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000) + .noFluidInputs() + .noFluidOutputs() + .duration(100 * SECONDS) + .eut(2000) + .addTo(sCentrifugeRecipes); ItemList.Depleted_MNq_1.set(new GT_DepletetCell_Item("MNqCellDep", "Fuel Rod (Depleted Nq*)", 1)); ItemList.Depleted_MNq_2 @@ -369,48 +395,53 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { ItemList.Depleted_MNq_4.get(1), true)); - GT_Values.RA.addCentrifugeRecipe( - ItemList.Depleted_MNq_1.get(1), - null, - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.NaquadahEnriched, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Naquadria, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 8L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 1L), - new int[] { 10_000, 5_000, 5_000, 2_500, 10_000, 10_000 }, - 500, - 2000); - GT_Values.RA.addCentrifugeRecipe( - ItemList.Depleted_MNq_2.get(1), - null, - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Naquadria, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 18L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 2L), - new int[] { 10_000, 5_000, 5_000, 2_500, 10_000, 10_000 }, - 1000, - 2000); - GT_Values.RA.addCentrifugeRecipe( - ItemList.Depleted_MNq_4.get(1), - null, - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 2L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Naquadria, 8L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 38L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 4L), - new int[] { 10_000, 5_000, 5_000, 2_500, 10_000, 10_000 }, - 2000, - 2000); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_MNq_1.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.NaquadahEnriched, 2L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Naquadria, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 8L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 1L)) + .outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000) + .noFluidInputs() + .noFluidOutputs() + .duration(25 * SECONDS) + .eut(2000) + .addTo(sCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_MNq_2.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Naquadria, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 18L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 2L)) + .outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000) + .noFluidInputs() + .noFluidOutputs() + .duration(50 * SECONDS) + .eut(2000) + .addTo(sCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_MNq_4.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 2L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Naquadria, 8L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 38L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 4L)) + .outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000) + .noFluidInputs() + .noFluidOutputs() + .duration(100 * SECONDS) + .eut(2000) + .addTo(sCentrifugeRecipes); ItemList.Uraniumcell_1.set( new GT_RadioactiveCellIC_Item( @@ -781,11 +812,16 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { .buildAndRegister() .configureMaterials(Materials.Water) .registerBContainers(GT_ModHandler.getIC2Item("steamCell", 1), Materials.Empty.getCells(1)); - GT_Values.RA.addFluidCannerRecipe( - Materials.Empty.getCells(1), - GT_ModHandler.getIC2Item("steamCell", 1), - GT_ModHandler.getSteam(1000), - null); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(1)) + .itemOutputs(GT_ModHandler.getIC2Item("steamCell", 1)) + .fluidInputs(GT_ModHandler.getSteam(1000)) + .noFluidOutputs() + .duration(16 * TICKS) + .eut(1) + .addTo(sFluidCannerRecipes); + Materials.Ice.mGas = Materials.Water.mGas; Materials.Water.mGas.setTemperature(375) .setGaseous(true); @@ -1255,7 +1291,6 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { Dyes.dyeBlue.addFluidDye(GT_FluidFactory.of("indigo", "Indigo Dye", LIQUID, 295)); for (byte i = 0; i < Dyes.VALUES.length; i = (byte) (i + 1)) { Dyes tDye = Dyes.VALUES[i]; - Fluid tFluid; tDye.addFluidDye( GT_FluidFactory.builder( "dye.watermixed." + tDye.name() diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_OreDictionary.java b/src/main/java/gregtech/loaders/preload/GT_Loader_OreDictionary.java index 109efff2bb..bc85770c01 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_OreDictionary.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_OreDictionary.java @@ -383,7 +383,7 @@ public class GT_Loader_OreDictionary implements Runnable { GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CircuitZPM", 1L)); GT_OreDictUnificator.registerOre( OrePrefixes.circuit, - Materials.Superconductor, + Materials.SuperconductorUHV, GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CircuitUV", 1L)); GT_OreDictUnificator.registerOre( OrePrefixes.circuit, diff --git a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java index 9950564953..d9f62bdc45 100644 --- a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java +++ b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java @@ -136,7 +136,7 @@ public class GT_PreLoad { GT_Log.mLogFile = new File(parentFile, "logs/GregTech.log"); if (!GT_Log.mLogFile.exists()) { try { - final boolean ignored = GT_Log.mLogFile.createNewFile(); + GT_Log.mLogFile.createNewFile(); } catch (Throwable ignored) {} } try { @@ -148,7 +148,7 @@ public class GT_PreLoad { GT_Log.mOreDictLogFile = new File(parentFile, "logs/OreDict.log"); if (!GT_Log.mOreDictLogFile.exists()) { try { - final boolean ignored = GT_Log.mOreDictLogFile.createNewFile(); + GT_Log.mOreDictLogFile.createNewFile(); } catch (Throwable ignored) {} } try { @@ -170,7 +170,7 @@ public class GT_PreLoad { GT_Log.mExplosionLog = new File(parentFile, "logs/Explosion.log"); if (!GT_Log.mExplosionLog.exists()) { try { - final boolean ignored = GT_Log.mExplosionLog.createNewFile(); + GT_Log.mExplosionLog.createNewFile(); } catch (Throwable ignored) {} } try { @@ -183,7 +183,7 @@ public class GT_PreLoad { GT_Log.mPlayerActivityLogFile = new File(parentFile, "logs/PlayerActivity.log"); if (!GT_Log.mPlayerActivityLogFile.exists()) { try { - final boolean ignored = GT_Log.mPlayerActivityLogFile.createNewFile(); + GT_Log.mPlayerActivityLogFile.createNewFile(); } catch (Throwable ignored) {} } try { @@ -675,8 +675,6 @@ public class GT_PreLoad { now.get(Calendar.MONTH) == Calendar.APRIL && now.get(Calendar.DAY_OF_MONTH) == 1); GT_Mod.gregtechproxy.mCropNeedBlock = tMainConfig.get("general", "CropNeedBlockBelow", true) .getBoolean(true); - GT_Mod.gregtechproxy.mDisableOldChemicalRecipes = tMainConfig.get("general", "DisableOldChemicalRecipes", false) - .getBoolean(false); GT_Mod.gregtechproxy.mAMHInteraction = tMainConfig.get("general", "AllowAutoMaintenanceHatchInteraction", false) .getBoolean(false); GregTech_API.mOutputRF = GregTech_API.sOPStuff.get(ConfigCategories.general, "OutputRF", true); @@ -689,8 +687,7 @@ public class GT_PreLoad { .get(ConfigCategories.machineconfig, "forceFreeFace", true); GT_Mod.gregtechproxy.mBrickedBlastFurnace = tMainConfig.get("general", "BrickedBlastFurnace", true) .getBoolean(true); - GT_Mod.gregtechproxy.mEasierIVPlusCables = tMainConfig.get("general", "EasierEVPlusCables", false) - .getBoolean(false); + GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre = tMainConfig .get("general", "MixedOreOnlyYieldsTwoThirdsOfPureOre", false) .getBoolean(false); |