From a8b46c11f5a02608101ef33ed39f103736ba5920 Mon Sep 17 00:00:00 2001 From: boubou19 Date: Sun, 21 Jul 2024 16:36:34 +0200 Subject: full RA1 removal (#2713) * remove addExtractionRecipes * remove addPulverisationRecipe * remove thermalcraft fake compat * deprecate addAlloySmelterRecipe * remove fake compat * remove RA1 fusion recipe usage * remove RA1 centrifuge recipe usage * remove RA1 compressor recipe usage * remove RA1 electrolyzer recipe usage * remove RA1 chemical reactor recipe usage * deprecate GT based recipes adders * obliterate RA1 entries in interfaces (1/?) * remove RA1 blast furnace recipe usage * remove RA1 canner recipe usage * remove RA1 alloy smelter recipe usage * remove RA1 circuit assembler recipe usage * obliterate RA1 entries in interfaces (2/?) * remove RA1 bender recipe usage * clean class * remove RA1 cutter recipe usage * remove RA1 fuels recipe usage * remove RA1 implosion compressor recipe usage * remove RA1 thermal centrifuge recipe usage * clean GT_ModHandler * obliterate RA1 entries in interfaces (3/?) * remove RA1 packager recipe usage * remove RA1 lathe recipe usage * remove RA1 vacuum freezer recipe usage * remove RA1 fluid heater recipe usage * remove RA1 nano forge recipe usage * remove RA1 autoclave recipe usage * obliterate RA1 entries in interfaces (4/?) * remove RA1 cracker recipe usage * remove RA1 pyrolyse recipe usage * remove RA1 pulveriser recipe usage * remove RA1 fluid extractor recipe usage * remove RA1 assembly line recipe usage * remove RA1 alloy blast smelter recipe usage * remove RA1 coke oven recipe usage * obliterate RA1 entries in interfaces (5/?) * remove RA1 dehydrator recipe usage * remove deprecated usages * obliterate RA1 entries in interfaces (6/?) * remove RA1 assembler recipe usage * obliterate RA1 entries in interfaces (7/?) * remove RA1 mixer recipe usage * remove RA1 forge hammer recipe usage * remove RA1 wiremill recipe usage * remove RA1 extruder recipe usage * remove RA1 fluid soldifier recipe usage * remove RA1 chemical bath recipe usage * remove RA1 electromagnetic separator recipe usage * remove RA1 sifter recipe usage * remove distillery recipe usage * remove distillation tower usage * remove extractor usage * obliterate RA1 entries in interfaces (8/?) * remove QFT usage * cleaning * remove packager usage * remove fluid heater usage * remove vacuum freezer usage * remove distillery usage * fix QFT chances arrays * remove fission fuel usage * remove cyclotron usage * remove molecular transformer usage * remove chemplant usage * remove coldtrap and reactor processing unit usage * obliterate RA1 entries in interfaces (9/?) * spotlessApply * fixes * remove addRecipe calls * migrate forge of gods recipes * yeet special value calls (1 / 2) * yeet special value calls (2 / 2) * migrate GG Fuel recipes * migrate all GG maps except EHE * CORE.RA is no more * clear GT_RecipeAdder * remove dead code * clean RecipeMap a bit * spotless apply * fix output chances * Update RecipeLoader.java * fix * remove buggy recipe * migrate to enum for IDs * sort enum * move to enum * fix recipes * spotless apply * fix recipe * remove useless recipes * spotless apply * remove unused blocks * fix GT++ recipe * Update RecipeLoader.java * Update RecipeLoader.java * fix imports * Spotless apply for branch remove_RA1_calls for #2713 (#2742) spotlessApply Co-authored-by: GitHub GTNH Actions <> * fix recipe (cherry picked from commit a25d3b62997f080e064369e940eaf53a96a300e6) * fix (cherry picked from commit d9af01140f3ee77de2be18be70f04f8fbe4b547f) * temporarily remove panic mode * fix recipes * Revert "temporarily remove panic mode" This reverts commit 483cfcf74371b91e7d545f058f9d25ff4fcec95a. * fix recipes --------- Co-authored-by: Dream Master Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- src/main/java/gtPlusPlus/core/block/ModBlocks.java | 6 - .../java/gtPlusPlus/core/common/CommonProxy.java | 3 - .../core/item/base/ore/BaseItemMilledOre.java | 52 +- .../core/item/chemistry/AgriculturalChem.java | 62 +- .../gtPlusPlus/core/item/chemistry/CoalTar.java | 229 +- .../core/item/chemistry/GenericChem.java | 480 ++--- .../core/item/chemistry/MilledOreProcessing.java | 526 +++-- .../core/item/chemistry/RocketFuels.java | 219 +- src/main/java/gtPlusPlus/core/lib/CORE.java | 6 - .../core/material/MaterialGenerator.java | 21 +- .../gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 1201 ++++++----- .../gtPlusPlus/core/recipe/RECIPES_General.java | 3 +- .../gtPlusPlus/core/recipe/RECIPES_Machines.java | 2198 ++++++++++++-------- .../core/recipe/RECIPES_SeleniumProcessing.java | 213 +- .../java/gtPlusPlus/core/recipe/common/CI.java | 10 +- .../core/slots/SlotIntegratedCircuit.java | 7 +- .../general/TileEntityCircuitProgrammer.java | 3 +- .../gtPlusPlus/core/util/minecraft/ItemUtils.java | 22 +- .../core/util/minecraft/MaterialUtils.java | 1 + .../core/util/reflect/AddGregtechRecipe.java | 42 +- .../gtPlusPlus/plugin/agrichem/BioRecipes.java | 691 +++--- .../gtPlusPlus/recipes/CokeAndPyrolyseOven.java | 62 +- .../xmod/forestry/bees/items/output/GTPP_Comb.java | 22 +- .../interfaces/internal/IGregtech_RecipeAdder.java | 380 ---- .../common/items/MetaGeneratedGregtechItems.java | 43 +- ...gtechMetaTileEntity_IndustrialMultiMachine.java | 6 +- .../GregtechMetaTileEntity_AlloyBlastSmelter.java | 3 +- ...egtechMetaTileEntity_IndustrialFishingPond.java | 5 +- ...egtechMetaTileEntity_IndustrialRockBreaker.java | 7 +- .../GregtechMetaTileEntity_MassFabricator.java | 4 +- .../gregtech/loaders/RecipeGen_AlloySmelter.java | 50 +- .../xmod/gregtech/loaders/RecipeGen_Assembler.java | 52 +- .../gregtech/loaders/RecipeGen_BlastSmelter.java | 480 +++-- .../loaders/RecipeGen_BlastSmelterGT_GTNH.java | 4 +- .../gregtech/loaders/RecipeGen_DustGeneration.java | 531 ++--- .../xmod/gregtech/loaders/RecipeGen_Extruder.java | 158 +- .../xmod/gregtech/loaders/RecipeGen_Fluids.java | 215 +- .../xmod/gregtech/loaders/RecipeGen_Fluorite.java | 202 +- .../loaders/RecipeGen_MaterialProcessing.java | 127 +- .../gregtech/loaders/RecipeGen_MetalRecipe.java | 147 +- .../xmod/gregtech/loaders/RecipeGen_Ore.java | 392 ++-- .../xmod/gregtech/loaders/RecipeGen_Plasma.java | 46 +- .../xmod/gregtech/loaders/RecipeGen_Plates.java | 269 +-- .../xmod/gregtech/loaders/RecipeGen_Recycling.java | 177 +- .../loaders/recipe/RecipeLoader_ChemicalSkips.java | 913 ++++---- .../gregtech/loaders/recipe/RecipeLoader_GTNH.java | 65 +- .../loaders/recipe/RecipeLoader_GlueLine.java | 600 +++--- .../gregtech/loaders/recipe/RecipeLoader_LFTR.java | 82 +- .../recipe/RecipeLoader_MolecularTransformer.java | 90 +- .../loaders/recipe/RecipeLoader_Nuclear.java | 750 +++---- .../recipe/RecipeLoader_NuclearFuelProcessing.java | 355 ++-- .../xmod/gregtech/recipes/GregtechRecipeAdder.java | 1220 ----------- .../registration/gregtech/Gregtech4Content.java | 126 +- .../gregtech/GregtechAdvancedBoilers.java | 53 +- .../gregtech/GregtechAlgaeContent.java | 35 +- .../gregtech/GregtechAmazonWarehouse.java | 8 +- .../gregtech/GregtechBufferDynamos.java | 52 +- .../registration/gregtech/GregtechConduits.java | 424 ++-- .../gregtech/GregtechCustomHatches.java | 59 +- .../registration/gregtech/GregtechCyclotron.java | 9 +- .../registration/gregtech/GregtechDehydrator.java | 25 +- .../gregtech/GregtechEnergyBuffer.java | 148 +- .../GregtechFactoryGradeReplacementMultis.java | 34 +- .../GregtechGeothermalThermalGenerator.java | 38 +- .../gregtech/GregtechHiAmpTransformer.java | 98 +- .../gregtech/GregtechIndustrialAlloySmelter.java | 4 +- .../gregtech/GregtechIndustrialArcFurnace.java | 4 +- .../gregtech/GregtechIndustrialBlastSmelter.java | 7 +- .../gregtech/GregtechIndustrialCentrifuge.java | 4 +- .../gregtech/GregtechIndustrialChisel.java | 15 +- .../gregtech/GregtechIndustrialCokeOven.java | 4 +- .../gregtech/GregtechIndustrialCuttingFactory.java | 4 +- .../gregtech/GregtechIndustrialElectrolyzer.java | 4 +- .../GregtechIndustrialElementDuplicator.java | 11 +- .../gregtech/GregtechIndustrialExtruder.java | 4 +- .../gregtech/GregtechIndustrialFishPond.java | 4 +- .../gregtech/GregtechIndustrialFluidHeater.java | 4 +- .../gregtech/GregtechIndustrialForgeHammer.java | 4 +- .../gregtech/GregtechIndustrialFuelRefinery.java | 4 +- .../gregtech/GregtechIndustrialMacerator.java | 4 +- .../gregtech/GregtechIndustrialMassFabricator.java | 146 +- .../gregtech/GregtechIndustrialMixer.java | 4 +- .../gregtech/GregtechIndustrialMultiMachine.java | 4 +- .../gregtech/GregtechIndustrialPlatePress.java | 4 +- .../gregtech/GregtechIndustrialRockBreaker.java | 4 +- .../gregtech/GregtechIndustrialSifter.java | 4 +- .../GregtechIndustrialThermalCentrifuge.java | 4 +- .../gregtech/GregtechIndustrialTreeFarm.java | 8 +- .../gregtech/GregtechIndustrialWashPlant.java | 4 +- .../gregtech/GregtechIndustrialWiremill.java | 4 +- .../registration/gregtech/GregtechIsaMill.java | 21 +- .../registration/gregtech/GregtechLFTR.java | 24 +- .../GregtechLargeTurbinesAndHeatExchanger.java | 39 +- .../gregtech/GregtechMolecularTransformer.java | 4 +- .../GregtechNuclearSaltProcessingPlant.java | 4 +- .../gregtech/GregtechPollutionDevices.java | 39 +- .../gregtech/GregtechPowerSubStation.java | 44 +- .../gregtech/GregtechQuantumForceTransformer.java | 4 +- .../registration/gregtech/GregtechRTG.java | 4 +- .../gregtech/GregtechRocketFuelGenerator.java | 41 +- .../gregtech/GregtechSemiFluidgenerators.java | 19 +- .../gregtech/GregtechSimpleWasher.java | 87 +- .../registration/gregtech/GregtechSolarTower.java | 30 +- .../registration/gregtech/GregtechSteamMultis.java | 47 +- .../registration/gregtech/GregtechSuperChests.java | 43 +- .../gregtech/GregtechThaumcraftDevices.java | 3 +- .../gregtech/GregtechThreadedBuffers.java | 9 +- .../gregtech/GregtechTieredFluidTanks.java | 21 +- .../gregtech/GregtechTreeFarmerTE.java | 7 +- .../gregtech/GregtechWirelessChargers.java | 34 +- .../registration/gregtech/MetaTileEntityIDs.java | 216 ++ .../gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java | 290 +-- .../xmod/railcraft/HANDLER_Railcraft.java | 101 +- .../xmod/tinkers/util/TinkersDryingRecipe.java | 19 +- 114 files changed, 8033 insertions(+), 7945 deletions(-) delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java delete mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java create mode 100644 src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/MetaTileEntityIDs.java (limited to 'src/main/java/gtPlusPlus') diff --git a/src/main/java/gtPlusPlus/core/block/ModBlocks.java b/src/main/java/gtPlusPlus/core/block/ModBlocks.java index 634a073b02..417b342f7e 100644 --- a/src/main/java/gtPlusPlus/core/block/ModBlocks.java +++ b/src/main/java/gtPlusPlus/core/block/ModBlocks.java @@ -53,12 +53,6 @@ public final class ModBlocks { public static Block blockWitherGuard; public static Block blockCompressedObsidian; - public static Block blockPlayerDoorWooden; - public static Block blockPlayerDoorIron; - public static Block blockPlayerDoorCustom_Glass; - public static Block blockPlayerDoorCustom_Ice; - public static Block blockPlayerDoorCustom_Cactus; - public static Block blockCustomJukebox; public static Block blockPooCollector; diff --git a/src/main/java/gtPlusPlus/core/common/CommonProxy.java b/src/main/java/gtPlusPlus/core/common/CommonProxy.java index d52b3aa112..5d93141c56 100644 --- a/src/main/java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/main/java/gtPlusPlus/core/common/CommonProxy.java @@ -39,7 +39,6 @@ import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.preloader.CORE_Preloader; import gtPlusPlus.xmod.gregtech.api.util.SpecialBehaviourTooltipHandler; -import gtPlusPlus.xmod.gregtech.recipes.GregtechRecipeAdder; import gtPlusPlus.xmod.ic2.CustomInternalName; public class CommonProxy { @@ -51,8 +50,6 @@ public class CommonProxy { public void preInit(final FMLPreInitializationEvent e) { Logger.INFO("Doing some house cleaning."); - CORE.RA = new GregtechRecipeAdder(); - Logger.INFO("Created Gregtech recipe handler."); if (!CORE_Preloader.DEBUG_MODE) { Logger.WARNING("Development mode not enabled."); } else if (CORE_Preloader.DEBUG_MODE) { diff --git a/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java b/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java index 90235a18b3..3452816357 100644 --- a/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java +++ b/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java @@ -1,17 +1,63 @@ package gtPlusPlus.core.item.base.ore; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.millingRecipes; + import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gtPlusPlus.core.lib.CORE; +import gregtech.api.util.GT_Utility; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.minecraft.MaterialUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; public class BaseItemMilledOre extends BaseOreComponent { - public BaseItemMilledOre(final Material material, int aMaterialEU) { + public BaseItemMilledOre(final Material material, int materialEU) { super(material, BaseOreComponent.ComponentTypes.MILLED); - CORE.RA.addMillingRecipe(material, aMaterialEU); + + ItemStack oreStack = material.getOre(16); + ItemStack crushedStack = material.getCrushed(16); + + ItemStack milledStackOres1 = material.getMilled(64); + ItemStack milledStackCrushed1 = material.getMilled(32); + ItemStack milledStackOres2 = material.getMilled(48); + ItemStack milledStackCrushed2 = material.getMilled(16); + + ItemStack millingBall_Alumina = GregtechItemList.Milling_Ball_Alumina.get(0); + ItemStack millingBall_Soapstone = GregtechItemList.Milling_Ball_Soapstone.get(0); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10), oreStack, millingBall_Alumina) + .itemOutputs(milledStackOres1) + .duration(2 * MINUTES) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11), oreStack, millingBall_Soapstone) + .itemOutputs(milledStackOres2) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10), crushedStack, millingBall_Alumina) + .itemOutputs(milledStackCrushed1) + .duration(1 * MINUTES) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11), crushedStack, millingBall_Soapstone) + .itemOutputs(milledStackCrushed2) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); } public static Item generate(Materials aMat, int aMaterialEU) { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java index e14d9f7f08..2459e08bfc 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java @@ -7,7 +7,10 @@ import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; import java.lang.reflect.Field; import java.util.ArrayList; @@ -30,7 +33,6 @@ import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -555,16 +557,16 @@ public class AgriculturalChem extends ItemPackage { Object aItemInstance = aFertField.get(aItemRegInstance); if (aItemInstance instanceof Item aForestryFert) { aFertForestry = ItemUtils.getSimpleStack((Item) aItemInstance); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(11), - ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, - null, - null, - new ItemStack[] { ItemUtils.getSimpleStack(aForestryFert, 3), aManureByprod, - aManureByprod }, - new int[] { 10000, 2000, 2000 }, - 20 * 20, - 240); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(11), + ItemUtils.getSimpleStack(aDustOrganicFert, 4)) + .itemOutputs(ItemUtils.getSimpleStack(aForestryFert, 3), aManureByprod, aManureByprod) + .outputChances(100_00, 20_00, 20_00) + .eut(240) + .duration(20 * SECONDS) + .addTo(chemicalDehydratorRecipes); } } } catch (IllegalArgumentException | IllegalAccessException e) { @@ -576,14 +578,13 @@ public class AgriculturalChem extends ItemPackage { * IC2 Support */ aFertIC2 = ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 1); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(12), ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, - null, - null, - new ItemStack[] { ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 3), aManureByprod, aManureByprod }, - new int[] { 10000, 2000, 2000 }, - 20 * 20, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12), ItemUtils.getSimpleStack(aDustOrganicFert, 4)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 3), aManureByprod, aManureByprod) + .outputChances(100_00, 20_00, 20_00) + .eut(240) + .duration(20 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Dirt Production GT_Values.RA.stdBuilder() @@ -613,9 +614,26 @@ public class AgriculturalChem extends ItemPackage { .addTo(centrifugeRecipes); // Add Fuel Usages - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(PoopJuice, 1000), 12); - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(ManureSlurry, 1000), 24); - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32); + GT_Values.RA.stdBuilder() + .fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 12) + .addTo(semiFluidFuels); + + GT_Values.RA.stdBuilder() + .fluidInputs(FluidUtils.getFluidStack(ManureSlurry, 1000)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 24) + .addTo(semiFluidFuels); + + GT_Values.RA.stdBuilder() + .fluidInputs(FluidUtils.getFluidStack(FertileManureSlurry, 1000)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 32) + .addTo(semiFluidFuels); // Red Slurry / Tailings Processing GT_Values.RA.stdBuilder() diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java index 1fafbb5088..b9f5e58eef 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java @@ -2,26 +2,31 @@ package gtPlusPlus.core.item.chemistry; import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeConstants; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.AddGregtechRecipe; public class CoalTar extends ItemPackage { @@ -43,27 +48,25 @@ public class CoalTar extends ItemPackage { // C2H6O = C2H4 + H2O if (bioEth1 != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1) }, - bioEth1, - FluidUtils.getWater(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1) }, - new int[] { 10000 }, - 120 * 20, - 80); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(17), ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1)) + .fluidInputs(bioEth1) + .fluidOutputs(FluidUtils.getWater(1000)) + .eut(80) + .duration(2 * MINUTES) + .addTo(chemicalDehydratorRecipes); } if (bioEth2 != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(18), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1) }, - bioEth2, - FluidUtils.getWater(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1) }, - new int[] { 10000 }, - 120 * 20, - 80); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(18), ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1)) + .fluidInputs(bioEth2) + .fluidOutputs(FluidUtils.getWater(1000)) + .eut(80) + .duration(2 * MINUTES) + .addTo(chemicalDehydratorRecipes); } } @@ -82,62 +85,69 @@ public class CoalTar extends ItemPackage { public static void recipeCreateEthylbenzene() { // C2H4 + C6H6 = C8H10 - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 2), - ItemUtils.getGregtechCircuit(1), - FluidUtils.getFluidStack("benzene", 2000), - FluidUtils.getFluidStack("fluid.ethylbenzene", 2000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), - 300); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellBenzene", 2), - ItemUtils.getGregtechCircuit(1), - FluidUtils.getFluidStack("ethylene", 2000), - FluidUtils.getFluidStack("fluid.ethylbenzene", 2000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), - 300); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2)) + .fluidInputs(FluidUtils.getFluidStack("benzene", 2000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellBenzene", 2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2)) + .fluidInputs(FluidUtils.getFluidStack("ethylene", 2000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); } public static void recipeCoalToCoalTar() { // Charcoal - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 32L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDirt", 2), - FluidUtils.getFluidStack("fluid.coaltar", 800), - 15, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 32L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDirt", 2)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 800)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(pyrolyseRecipes); + // Lignite - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 16L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2), - FluidUtils.getFluidStack("fluid.coaltar", 800), - 45, - 60); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 16L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 800)) + .duration(54 * SECONDS) + .eut(60) + .addTo(pyrolyseRecipes); // Coal - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2), - FluidUtils.getFluidStack("fluid.coaltar", 2200), - 30, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 2200)) + .duration(36 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(pyrolyseRecipes); // Coke - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallAsh", 3), - FluidUtils.getFluidStack("fluid.coaltar", 3400), - 15, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(8), ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallAsh", 3)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 3400)) + .duration(18 * SECONDS) + .eut(240) + .addTo(pyrolyseRecipes); } private static void recipeCoalTarToCoalTarOil() { @@ -166,21 +176,22 @@ public class CoalTar extends ItemPackage { private static void recipeCoalTarOilToSulfuricOilToNaphthalene() { // SulfuricCoalTarOil - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 8), - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 8), - null, - null, - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 16), - 20 * 16); - GT_Values.RA.addDistilleryRecipe( - CI.getNumberedCircuit(6), // Circuit - FluidUtils.getFluidStack("fluid.sulfuriccoaltaroil", 1000), // aInput - FluidUtils.getFluidStack("fluid.naphthalene", 1000), // aOutput - 1200, // aDuration - 30, // aEUt - false // Hidden? - ); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 8), + ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 8)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 16)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(6)) + .fluidInputs(FluidUtils.getFluidStack("fluid.sulfuriccoaltaroil", 1000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.naphthalene", 1000)) + .eut(TierEU.RECIPE_LV) + .duration(60 * SECONDS) + .addTo(distilleryRecipes); } private static void recipeNaphthaleneToPhthalicAcid() { @@ -196,14 +207,13 @@ public class CoalTar extends ItemPackage { } private static void recipePhthalicAcidToPhthalicAnhydride() { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(15) }, - Materials.PhthalicAcid.getFluid(1000), - null, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15) }, - new int[] { 10000 }, - 60 * 20, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(15)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15)) + .fluidInputs(Materials.PhthalicAcid.getFluid(1000)) + .eut(TierEU.RECIPE_MV) + .duration(60 * SECONDS) + .addTo(chemicalDehydratorRecipes); } @Override @@ -224,11 +234,40 @@ public class CoalTar extends ItemPackage { recipePhthalicAcidToPhthalicAnhydride(); // Burn the coal gas! - GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1), null, 96, 1); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 1), 64); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 1), 32); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTar", 1), 16); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1)) + .metadata(FUEL_VALUE, 96) + .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.GasTurbine.ordinal()) + .duration(0) + .eut(0) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidContainerRegistry + .getFluidForFilledItem(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 1))) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 64) + .addTo(semiFluidFuels); + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidContainerRegistry + .getFluidForFilledItem(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 1))) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 32) + .addTo(semiFluidFuels); + + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidContainerRegistry + .getFluidForFilledItem(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTar", 1))) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 16) + .addTo(semiFluidFuels); return true; } diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java index 31ea030c64..8f3bff8a8b 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java @@ -4,17 +4,18 @@ import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; @@ -29,7 +30,6 @@ import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.core.material.Material; @@ -382,51 +382,57 @@ public class GenericChem extends ItemPackage { private void recipeSodiumEthoxide() { // C2H5OH + Na → C2H5ONa + H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(16), ELEMENT.getInstance().SODIUM.getDust(1) }, - new FluidStack[] { Materials.Ethanol.getFluid(1000) }, - new ItemStack[] { ItemUtils.getSimpleStack(mSodiumEthoxide, 9) }, - new FluidStack[] { ELEMENT.getInstance().HYDROGEN.getFluidStack(1000) }, - 20 * 20, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(16), ELEMENT.getInstance().SODIUM.getDust(1)) + .itemOutputs(ItemUtils.getSimpleStack(mSodiumEthoxide, 9)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(ELEMENT.getInstance().HYDROGEN.getFluidStack(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); } private void recipePotassiumHydroxide() { // Ca(OH)2 + K2O + CO2 → CaCO3 + 2 KOH - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(18), Materials.Potash.getDust(3), - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), }, - new FluidStack[] { Materials.CarbonDioxide.getGas(1000) }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5), - ItemUtils.getSimpleStack(mPotassiumHydroxide, 6) }, - new FluidStack[] {}, - 20 * 30, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(18), + Materials.Potash.getDust(3), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5), + ItemUtils.getSimpleStack(mPotassiumHydroxide, 6)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeEthylXanthates() { // Potassium ethyl xanthate - CH3CH2OH + CS2 + KOH → C3H5KOS2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(mPotassiumHydroxide, 3), }, - new FluidStack[] { Materials.Ethanol.getFluid(1000), FluidUtils.getFluidStack(Carbon_Disulfide, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(mPotassiumEthylXanthate, 12) }, - new FluidStack[] { FluidUtils.getWater(1000) }, - 20 * 60, - 120, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(17), ItemUtils.getSimpleStack(mPotassiumHydroxide, 3)) + .itemOutputs(ItemUtils.getSimpleStack(mPotassiumEthylXanthate, 12)) + .fluidInputs(Materials.Ethanol.getFluid(1000), FluidUtils.getFluidStack(Carbon_Disulfide, 1000)) + .fluidOutputs(FluidUtils.getWater(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); // Sodium ethyl xanthate - CH3CH2ONa + CS2 → CH3CH2OCS2Na - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(mSodiumEthoxide, 9) }, - new FluidStack[] { FluidUtils.getFluidStack(Carbon_Disulfide, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(mSodiumEthylXanthate, 12) }, - new FluidStack[] {}, - 20 * 60, - 120, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(17), ItemUtils.getSimpleStack(mSodiumEthoxide, 9)) + .itemOutputs(ItemUtils.getSimpleStack(mSodiumEthylXanthate, 12)) + .fluidInputs(FluidUtils.getFluidStack(Carbon_Disulfide, 1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); } private void recipeCarbonDisulfide() { @@ -442,31 +448,39 @@ public class GenericChem extends ItemPackage { .metadata(COIL_HEAT, 1500) .addTo(blastFurnaceRecipes); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(mBrownCatalyst, 0), - ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 4) }, - new FluidStack[] { FluidUtils.getFluidStack(CoalTar.Coal_Gas, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Carbon_Disulfide, 2000) }, - 20 * 60 * 5, - 30, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(20), + ItemUtils.getSimpleStack(mBrownCatalyst, 0), + ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 4)) + .fluidInputs(FluidUtils.getFluidStack(CoalTar.Coal_Gas, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(Carbon_Disulfide, 2000)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeMutatedLivingSolder() { // Endgame soldering alloy meant for the bioware circuit line and beyond. - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 0), - ItemList.Circuit_Chip_Biocell.get(64), ItemList.Gravistar.get(8), - Materials.InfinityCatalyst.getDust(2) }, - new FluidStack[] { FluidUtils.getFluidStack("plasma.tin", 18000), - FluidUtils.getFluidStack("plasma.bismuth", 18000), FluidUtils.getFluidStack("cryotheum", 4000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 280) }, - 20 * 800, - 3842160, - 7); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 0), + ItemList.Circuit_Chip_Biocell.get(64), + ItemList.Gravistar.get(8), + Materials.InfinityCatalyst.getDust(2)) + .fluidInputs( + FluidUtils.getFluidStack("plasma.tin", 18000), + FluidUtils.getFluidStack("plasma.bismuth", 18000), + FluidUtils.getFluidStack("cryotheum", 4000)) + .fluidOutputs(MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 280)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(3842160) + .metadata(CHEMPLANT_CASING_TIER, 7) + .addTo(chemicalPlantRecipes); + } private static void registerFuels() { @@ -508,36 +522,37 @@ public class GenericChem extends ItemPackage { private void recipeCyclohexane() { // C6H6 + 6H = C6H12 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBrownCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(Benzene, 1000), FluidUtils.getFluidStack("hydrogen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), }, - 20 * 120, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(getTierTwoChip(), ItemUtils.getSimpleStack(mBrownCatalyst, 0)) + .fluidInputs(FluidUtils.getFluidStack(Benzene, 1000), FluidUtils.getFluidStack("hydrogen", 6000)) + .fluidOutputs(FluidUtils.getFluidStack(Cyclohexane, 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeCyclohexanone() { // C6H12 + 2O(Air) = C6H10O + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("air", 4000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexanone, 1000), }, - 20 * 120, - 120, - 2); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), }, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("oxygen", 2000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexanone, 1000), }, - 20 * 120, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(getTierTwoChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0)) + .fluidInputs(FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("air", 4000)) + .fluidOutputs(FluidUtils.getFluidStack(Cyclohexanone, 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(getTierTwoChip()) + .fluidInputs(FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("oxygen", 2000)) + .fluidOutputs(FluidUtils.getFluidStack(Cyclohexanone, 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeCatalystRed() { @@ -682,81 +697,91 @@ public class GenericChem extends ItemPackage { private void recipeCadaverineAndPutrescine() { // Basic Recipe - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierOneChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 64) }, - new FluidStack[] { FluidUtils.getHotWater(2000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cadaverine, 250), FluidUtils.getFluidStack(Putrescine, 250), }, - 20 * 120, - 120, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs(getTierOneChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 64)) + .fluidInputs(FluidUtils.getHotWater(2000)) + .fluidOutputs(FluidUtils.getFluidStack(Cadaverine, 250), FluidUtils.getFluidStack(Putrescine, 250)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); // Advanced Recipe - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 128), - ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 8, 32) }, - new FluidStack[] { FluidUtils.getHotWater(3000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cadaverine, 750), FluidUtils.getFluidStack(Putrescine, 750), }, - 20 * 120, - 240, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + getTierTwoChip(), + ItemUtils.getSimpleStack(Items.rotten_flesh, 128), + ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 8, 32)) + .fluidInputs(FluidUtils.getHotWater(3000)) + .fluidOutputs(FluidUtils.getFluidStack(Cadaverine, 750), FluidUtils.getFluidStack(Putrescine, 750)) + .duration(2 * MINUTES) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeAniline() { // C6H5NO2 + 6H = C6H7N + 2H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierThreeChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(NitroBenzene, 1000), - FluidUtils.getFluidStack("hydrogen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Aniline, 1000), }, - 20 * 30, - 500, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(getTierThreeChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0)) + .fluidInputs(FluidUtils.getFluidStack(NitroBenzene, 1000), FluidUtils.getFluidStack("hydrogen", 6000)) + .fluidOutputs(FluidUtils.getFluidStack(Aniline, 1000)) + .duration(30 * SECONDS) + .eut(500) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + } private void recipeNitroBenzene() { // C6H6 + HNO3 =H2SO4= C6H5NO2 +H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierThreeChip(), }, - new FluidStack[] { FluidUtils.getFluidStack(Benzene, 5000), FluidUtils.getFluidStack("sulfuricacid", 1000), - FluidUtils.getFluidStack("nitricacid", 5000), FluidUtils.getDistilledWater(10000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(NitroBenzene, 5000), }, - 20 * 30, - 500, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(getTierThreeChip()) + .fluidInputs( + FluidUtils.getFluidStack(Benzene, 5000), + FluidUtils.getFluidStack("sulfuricacid", 1000), + FluidUtils.getFluidStack("nitricacid", 5000), + FluidUtils.getDistilledWater(10000)) + .fluidOutputs(FluidUtils.getFluidStack(NitroBenzene, 5000)) + .duration(30 * SECONDS) + .eut(500) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); + } private void recipe2Ethylanthraquinone() { // C6H4(CO)2O + C6H5CH2CH3 = C6H4(CO)2C6H3CH2CH3 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), - ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15), }, - new FluidStack[] { FluidUtils.getFluidStack(CoalTar.Ethylbenzene, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), }, - 20 * 15, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(4), + ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15)) + .fluidInputs(FluidUtils.getFluidStack(CoalTar.Ethylbenzene, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(Ethylanthraquinone2, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipe2Ethylanthrahydroquinone() { // C6H4(CO)2C6H3CH2CH3 + 2H = C6H4(COH)2C6H3CH2CH3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), ItemUtils.getSimpleStack(mOrangeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), - FluidUtils.getFluidStack("hydrogen", 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 1000), }, - 20 * 40, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4), ItemUtils.getSimpleStack(mOrangeCatalyst, 0)) + .fluidInputs( + FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), + FluidUtils.getFluidStack("hydrogen", 2000)) + .fluidOutputs(FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 1000)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeLithiumPeroxide() { @@ -774,43 +799,48 @@ public class GenericChem extends ItemPackage { private void recipeLithiumHydroperoxide() { // LiOH + H2O2 = HLiO2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3), }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000), }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 4), }, - new FluidStack[] {}, - 20 * 30, - 240, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(4), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 4)) + .fluidInputs(FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000)) + .duration(30 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); } private void recipeHydrogenPeroxide() { // C6H4(COH)2C6H3CH2CH3 + 2O =(C6H4CH)2= H2O2 + C6H4(CO)2C6H3CH2CH3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { FluidUtils.getFluidStack("air", 20000), + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs( + FluidUtils.getFluidStack("air", 20000), + FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), + FluidUtils.getFluidStack("fluid.anthracene", 50)) + .fluidOutputs( + FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), + FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000)) + .duration(30 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs( + Materials.Oxygen.getGas(10000), FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), - FluidUtils.getFluidStack("fluid.anthracene", 50), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), - FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000), }, - 20 * 30, - 240, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { Materials.Oxygen.getGas(10000), FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), - FluidUtils.getFluidStack("fluid.anthracene", 50), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), - FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000), }, - 20 * 5, - 240, - 1); + FluidUtils.getFluidStack("fluid.anthracene", 50)) + .fluidOutputs( + FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), + FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000)) + .duration(5 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); } @@ -838,124 +868,100 @@ public class GenericChem extends ItemPackage { long bits = 0; BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 1L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 1L), bits, - new Object[] { "d ", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "d ", " P ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 2L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 2L), bits, - new Object[] { " d ", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d ", " P ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 3L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 3L), bits, - new Object[] { " d", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d", " P ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 4L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 4L), bits, - new Object[] { " ", " Pd", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " Pd", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 5L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 5L), bits, - new Object[] { " ", " P ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", " d", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 6L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 6L), bits, - new Object[] { " ", " P ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", " d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 7L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 7L), bits, - new Object[] { " ", " P ", "d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", "d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 8L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 8L), bits, - new Object[] { " ", "dP ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", "dP ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 9L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 9L), bits, - new Object[] { "P d", " ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P d", " ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 10L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 10L), bits, - new Object[] { "P ", " d", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " d", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 11L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 11L), bits, - new Object[] { "P ", " ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " ", " d", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 12L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 12L), bits, - new Object[] { "P ", " ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " ", " d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 13L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 13L), bits, - new Object[] { " P", " ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", " d", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 14L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 14L), bits, - new Object[] { " P", " ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", " d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 15L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 15L), bits, - new Object[] { " P", " ", "d ", 'P', -