From 71c9c339aaa2074fb8e4851a206d6b2140294d19 Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:19:03 +0000 Subject: Convert GG to RA2 (#232) * convert assembler recipes to RA2 * deprecate custom builders * clean up and RA2 solder assembler recipes * use GT for mod load checks * should be safe to remove * RA2 remaining assembler recipes * RA2 mixer recipes * RA2 compressor recipes * RA2 forming press * ra2 electrolyzer * ra2 extruder * RA2 autoclave * ra2 vac freezer and remove duplicate * RA2 canner * RA2 unpacking * ra2 chembath * fluidextractor ra2 * use GT enum, no loadedlist * RA2 Bender * RA2 forgehammer * RA2 remaining chem bath * RA2 Implosion * RA2 EBF * RA2 centrifuge * RA2 fuel * RA2 macerator * RA2 single chem * RA2 multi chem * RA2 wiremill * RA2 fluid solidifier * RA2 fluid canner * RA2 universal chem * ra2 distillery * ra2 DT * RA2 universal dist * RA2 AL part 1 * RA2 AL part 2 * add missing modloaded check * RA2 fusion * ra2 plasma forge * ra2 cracking * fix BW overwrites for atomicseparationcatalyst * fix shirabon freezing --- .../blocks/tileEntity/LargeEssentiaSmeltery.java | 5 +- .../tileEntity/UniversalChemicalFuelEngine.java | 4 +- .../java/goodgenerator/crossmod/LoadedList.java | 26 - .../crossmod/thaumcraft/Research.java | 31 +- src/main/java/goodgenerator/items/MyMaterial.java | 6 +- .../loader/ComponentAssemblyLineMiscRecipes.java | 277 +-- src/main/java/goodgenerator/loader/Loaders.java | 5 +- .../loader/NaquadahReworkRecipeLoader.java | 555 +++--- .../java/goodgenerator/loader/RecipeLoader.java | 1912 ++++++++---------- .../java/goodgenerator/loader/RecipeLoader_02.java | 2047 +++++++++----------- .../java/goodgenerator/util/CrackRecipeAdder.java | 390 ++-- src/main/java/goodgenerator/util/MaterialFix.java | 310 +-- 12 files changed, 2526 insertions(+), 3042 deletions(-) delete mode 100644 src/main/java/goodgenerator/crossmod/LoadedList.java (limited to 'src/main/java') diff --git a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java index bd2e471e3e..023f43844a 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java @@ -2,6 +2,7 @@ package goodgenerator.blocks.tileEntity; import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static goodgenerator.util.DescTextLocalization.BLUE_PRINT_INFO; +import static gregtech.api.enums.Mods.ThaumicBases; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import java.util.ArrayList; @@ -26,7 +27,6 @@ import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM; -import goodgenerator.crossmod.LoadedList; import goodgenerator.loader.Loaders; import goodgenerator.util.DescTextLocalization; import gregtech.api.enums.GT_HatchElement; @@ -158,7 +158,8 @@ public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBa .addElement('D', ofBlock(ConfigBlocks.blockCosmeticOpaque, 2)) .addElement( 'F', - LoadedList.THAUMIC_BASES ? ofBlock(Block.getBlockFromName("thaumicbases:advAlchFurnace"), 0) + ThaumicBases.isModLoaded() + ? ofBlock(Block.getBlockFromName("thaumicbases:advAlchFurnace"), 0) : ofBlock(ConfigBlocks.blockStoneDevice, 0)) .addElement( 'E', diff --git a/src/main/java/goodgenerator/blocks/tileEntity/UniversalChemicalFuelEngine.java b/src/main/java/goodgenerator/blocks/tileEntity/UniversalChemicalFuelEngine.java index 112185efad..00e892fd62 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/UniversalChemicalFuelEngine.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/UniversalChemicalFuelEngine.java @@ -3,6 +3,7 @@ package goodgenerator.blocks.tileEntity; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; import static goodgenerator.util.DescTextLocalization.BLUE_PRINT_INFO; +import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Textures.BlockIcons.*; import static gregtech.api.util.GT_Utility.filterValidMTEs; @@ -25,7 +26,6 @@ import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM; -import goodgenerator.crossmod.LoadedList; import goodgenerator.loader.Loaders; import goodgenerator.util.DescTextLocalization; import gregtech.api.GregTech_API; @@ -239,7 +239,7 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_TooltipMultiB return CheckRecipeResultRegistry.GENERATING; } - if (LoadedList.GTPP) { + if (GTPlusPlus.isModLoaded()) { for (GT_Recipe recipe : GTPPRecipeMaps.rocketFuels.getAllRecipes()) { FluidStack tFuel = findFuel(recipe); if (tFuel == null) continue; diff --git a/src/main/java/goodgenerator/crossmod/LoadedList.java b/src/main/java/goodgenerator/crossmod/LoadedList.java deleted file mode 100644 index 5e8fc9cab3..0000000000 --- a/src/main/java/goodgenerator/crossmod/LoadedList.java +++ /dev/null @@ -1,26 +0,0 @@ -package goodgenerator.crossmod; - -import cpw.mods.fml.common.Loader; - -public class LoadedList { - - public static boolean GTPP; - public static boolean GTNH_CORE; - public static boolean BOTDUSTRIES; - public static boolean THAUMIC_BASES; - public static boolean THAUMIC_TINKERER; - public static boolean AUTOMAGY; - public static boolean WITCHING_GADGETS; - public static boolean THAUMIC_ENERGISTICS; - - public static void init() { - GTPP = Loader.isModLoaded("miscutils"); - GTNH_CORE = Loader.isModLoaded("dreamcraft"); - BOTDUSTRIES = Loader.isModLoaded("botdustries"); - THAUMIC_BASES = Loader.isModLoaded("thaumicbases"); - THAUMIC_TINKERER = Loader.isModLoaded("ThaumicTinkerer"); - AUTOMAGY = Loader.isModLoaded("Automagy"); - WITCHING_GADGETS = Loader.isModLoaded("WitchingGadgets"); - THAUMIC_ENERGISTICS = Loader.isModLoaded("thaumicenergistics"); - } -} diff --git a/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java b/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java index 8f10802286..ea61a19e54 100644 --- a/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java +++ b/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java @@ -1,5 +1,11 @@ package goodgenerator.crossmod.thaumcraft; +import static gregtech.api.enums.Mods.Automagy; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.ThaumicBases; +import static gregtech.api.enums.Mods.ThaumicEnergistics; +import static gregtech.api.enums.Mods.ThaumicTinkerer; +import static gregtech.api.enums.Mods.WitchingGadgets; import static thaumcraft.api.ThaumcraftApi.addArcaneCraftingRecipe; import java.util.Arrays; @@ -12,7 +18,6 @@ import net.minecraft.item.ItemStack; import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; -import goodgenerator.crossmod.LoadedList; import goodgenerator.util.DescTextLocalization; import goodgenerator.util.ItemRefer; import gregtech.api.GregTech_API; @@ -186,7 +191,7 @@ public class Research { new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 256), new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 128))) }); ItemStack broad = new ItemStack(ConfigBlocks.blockCosmeticSolid, 1, 6); - if (LoadedList.GTNH_CORE) broad = GT_ModHandler.getModItem("dreamcraft", "item.ArcaneSlate", 1); + if (NewHorizonsCoreMod.isModLoaded()) broad = GT_ModHandler.getModItem("dreamcraft", "item.ArcaneSlate", 1); GregTech_API.sThaumcraftCompat .addResearch( "ESSENTIA_UPGRADE_BLANK", @@ -332,7 +337,7 @@ public class Research { new TC_Aspects.TC_AspectStack(TC_Aspects.TELUM, 128))), "research.ESSENTIA_UPGRADE_UNSTABLE.page.1", "research.ESSENTIA_UPGRADE_UNSTABLE.page.2" }); ItemStack meatDust = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 1); - if (LoadedList.GTNH_CORE) meatDust = GT_ModHandler.getModItem("dreamcraft", "GTNHBioItems", 1, 2); + if (NewHorizonsCoreMod.isModLoaded()) meatDust = GT_ModHandler.getModItem("dreamcraft", "GTNHBioItems", 1, 2); GregTech_API.sThaumcraftCompat.addResearch( "ESSENTIA_UPGRADE_VICTUS", "Essentia: VICTUS", @@ -537,19 +542,21 @@ public class Research { Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32768))), "research.ESSENTIA_UPGRADE_ELECTRIC.page.1" }); - ItemStack nodeLinkDevice = LoadedList.THAUMIC_BASES + ItemStack nodeLinkDevice = ThaumicBases.isModLoaded() ? GT_ModHandler.getModItem("thaumicbases", "nodeLinker", 1, 0) : new ItemStack(ConfigBlocks.blockStoneDevice, 1, 11); - ItemStack alchemicalFurnace = LoadedList.THAUMIC_BASES + ItemStack alchemicalFurnace = ThaumicBases.isModLoaded() ? GT_ModHandler.getModItem("thaumicbases", "advAlchFurnace", 1, 0) : new ItemStack(ConfigBlocks.blockStoneDevice, 1, 0); - ItemStack nitor = LoadedList.THAUMIC_TINKERER ? GT_ModHandler.getModItem("ThaumicTinkerer", "brightNitor", 1, 0) + ItemStack nitor = ThaumicTinkerer.isModLoaded() + ? GT_ModHandler.getModItem("ThaumicTinkerer", "brightNitor", 1, 0) : new ItemStack(ConfigItems.itemResource, 1, 1); - ItemStack alchemicalBoiler = LoadedList.AUTOMAGY ? GT_ModHandler.getModItem("Automagy", "blockBoiler", 1, 0) + ItemStack alchemicalBoiler = Automagy.isModLoaded() ? GT_ModHandler.getModItem("Automagy", "blockBoiler", 1, 0) : new ItemStack(ConfigBlocks.blockStoneDevice, 1, 1); - ItemStack essentiaLocus = LoadedList.AUTOMAGY ? GT_ModHandler.getModItem("Automagy", "blockEssentiaLocus", 1, 0) + ItemStack essentiaLocus = Automagy.isModLoaded() + ? GT_ModHandler.getModItem("Automagy", "blockEssentiaLocus", 1, 0) : new ItemStack(ConfigBlocks.blockJar, 1, 1); - ItemStack thauminiteBlock = LoadedList.THAUMIC_BASES + ItemStack thauminiteBlock = ThaumicBases.isModLoaded() ? GT_ModHandler.getModItem("thaumicbases", "thauminiteBlock", 1, 0) : new ItemStack(ConfigBlocks.blockCosmeticSolid, 1, 4); GregTech_API.sThaumcraftCompat.addResearch( @@ -627,11 +634,11 @@ public class Research { 'F', thauminiteBlock) }); - if (LoadedList.THAUMIC_ENERGISTICS) { - ItemStack essentiaPump = LoadedList.WITCHING_GADGETS + if (ThaumicEnergistics.isModLoaded()) { + ItemStack essentiaPump = WitchingGadgets.isModLoaded() ? GT_ModHandler.getModItem("WitchingGadgets", "WG_MetalDevice", 1, 0) : new ItemStack(ConfigBlocks.blockTube, 1, 4); - ItemStack inter = LoadedList.THAUMIC_TINKERER + ItemStack inter = ThaumicTinkerer.isModLoaded() ? GT_ModHandler.getModItem("ThaumicTinkerer", "interface", 1, 0) : new ItemStack(ConfigItems.itemResource, 1, 15); GregTech_API.sThaumcraftCompat.addResearch( diff --git a/src/main/java/goodgenerator/items/MyMaterial.java b/src/main/java/goodgenerator/items/MyMaterial.java index 8614d5e645..47214636e9 100644 --- a/src/main/java/goodgenerator/items/MyMaterial.java +++ b/src/main/java/goodgenerator/items/MyMaterial.java @@ -252,7 +252,7 @@ public class MyMaterial implements Runnable { new short[] { 0xe8, 0x5e, 0x0c }, "Atomic Separation Catalyst", "the melting core...", - new Werkstoff.Stats().setMeltingPoint(5000).setBlastFurnace(true), + new Werkstoff.Stats().setMeltingPoint(5000), Werkstoff.Types.COMPOUND, new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems() .addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(), @@ -1252,8 +1252,8 @@ public class MyMaterial implements Runnable { new short[] { 0xe0, 0x15, 0x6d }, "Shirabon", "Sh" + CharExchanger.shifter(9191), - new Werkstoff.Stats().setBlastFurnace(true).setProtons(500).setMass(750).setMeltingPoint(13000) - .setSpeedOverride(640.0F).setDurOverride(15728640).setQualityOverride((byte) 26), + new Werkstoff.Stats().setProtons(500).setMass(750).setMeltingPoint(13000).setSpeedOverride(640.0F) + .setDurOverride(15728640).setQualityOverride((byte) 26), Werkstoff.Types.ELEMENT, new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems().addMultipleIngotMetalWorkingItems() diff --git a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java index 5e5298531c..21ee302a6c 100644 --- a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java +++ b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java @@ -1,7 +1,27 @@ package goodgenerator.loader; -import static goodgenerator.util.ItemRefer.*; +import static goodgenerator.util.ItemRefer.Compassline_Casing_EV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_HV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_IV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_LV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_LuV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_MV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_UEV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_UHV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_UIV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_UMV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_UV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_UXV; +import static goodgenerator.util.ItemRefer.Compassline_Casing_ZPM; +import static goodgenerator.util.ItemRefer.Component_Assembly_Line; import static goodgenerator.util.Log.LOGGER; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import java.util.HashMap; @@ -59,108 +79,119 @@ public class ComponentAssemblyLineMiscRecipes { } // The controller itself - GT_Values.RA.addAssemblylineRecipe( - Compassline_Casing_EV.get(1), - 3600 * 20, - new Object[] { ItemList.Machine_Multi_Assemblyline.get(16L), ItemList.Casing_Assembler.get(16L), - ItemList.Casing_Gearbox_TungstenSteel.get(32L), ComponentType.Robot_Arm.getComponent(8).get(16), + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, Compassline_Casing_EV.get(1)) + .metadata(RESEARCH_TIME, 1 * HOURS) + .itemInputs( + ItemList.Machine_Multi_Assemblyline.get(16L), + ItemList.Casing_Assembler.get(16L), + ItemList.Casing_Gearbox_TungstenSteel.get(32L), + ComponentType.Robot_Arm.getComponent(8).get(16), ComponentType.Conveyor_Module.getComponent(8).get(32), ComponentType.Electric_Motor.getComponent(7).get(32), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Polybenzimidazole, 16), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Iridium, 32), solidifier, - getALCircuit(8, 16), getALCircuit(7, 20), getALCircuit(6, 24) }, - new FluidStack[] { new FluidStack(FluidRegistry.getFluid("molten.indalloy140"), 144 * 12), - Materials.Naquadria.getMolten(144 * 16), Materials.Lubricant.getFluid(5000) }, - Component_Assembly_Line.get(1), - 30 * 20, - getV(8) * 2); + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Iridium, 32), + solidifier, + getALCircuit(8, 16), + getALCircuit(7, 20), + getALCircuit(6, 24)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("molten.indalloy140"), 144 * 12), + Materials.Naquadria.getMolten(144 * 16), + Materials.Lubricant.getFluid(5000)) + .itemOutputs(Component_Assembly_Line.get(1)).eut(TierEU.RECIPE_UHV / 2).duration(30 * SECONDS) + .addTo(AssemblyLine); } /** Recipes for the Component Assembly Line Casings */ private static void generateCasingRecipes() { int t = 1; // lv 1 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Steel, 4), ComponentType.Robot_Arm.getComponent(t).get(4), ComponentType.Electric_Piston.getComponent(t).get(8), ComponentType.Electric_Motor.getComponent(t).get(10), GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Steel, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tin, 6), getCircuit(t, 16), }, - Materials.SolderingAlloy.getMolten(144 * (t + 3)), - Compassline_Casing_LV.get(1), - 16 * 20, - getV(t)); + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tin, 6), + getCircuit(t, 16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1))) + .itemOutputs(Compassline_Casing_LV.get(1)).duration(16 * SECONDS).eut(GT_Values.VP[t]) + .addTo(assemblerRecipes); // mv 2 t++; - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Aluminium, 4), ComponentType.Robot_Arm.getComponent(t).get(4), ComponentType.Electric_Piston.getComponent(t).get(8), ComponentType.Electric_Motor.getComponent(t).get(10), GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Aluminium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.AnyCopper, 6), getCircuit(t, 8), - getCircuit(t - 1, 16) }, - Materials.SolderingAlloy.getMolten(144 * (t + 1)), - Compassline_Casing_MV.get(1), - 16 * 20, - getV(t)); + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.AnyCopper, 6), + getCircuit(t, 8), + getCircuit(t - 1, 16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1))) + .itemOutputs(Compassline_Casing_MV.get(1)).duration(16 * SECONDS).eut(GT_Values.VP[t]) + .addTo(assemblerRecipes); // hv 3 t++; - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StainlessSteel, 4), ComponentType.Robot_Arm.getComponent(t).get(4), ComponentType.Electric_Piston.getComponent(t).get(8), ComponentType.Electric_Motor.getComponent(t).get(10), GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.StainlessSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Gold, 6), getCircuit(t, 8), - getCircuit(t - 1, 16) }, - Materials.SolderingAlloy.getMolten(144 * (t + 1)), - Compassline_Casing_HV.get(1), - 16 * 20, - getV(t)); + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Gold, 6), + getCircuit(t, 8), + getCircuit(t - 1, 16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1))) + .itemOutputs(Compassline_Casing_HV.get(1)).duration(16 * SECONDS).eut(GT_Values.VP[t]) + .addTo(assemblerRecipes); // ev 4 t++; - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Titanium, 4), ComponentType.Robot_Arm.getComponent(t).get(4), ComponentType.Electric_Piston.getComponent(t).get(8), ComponentType.Electric_Motor.getComponent(t).get(10), GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Titanium, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Aluminium, 6), getCircuit(t, 8), - getCircuit(t - 1, 16) }, - Materials.SolderingAlloy.getMolten(144 * (t + 1)), - Compassline_Casing_EV.get(1), - 16 * 20, - getV(t)); + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Aluminium, 6), + getCircuit(t, 8), + getCircuit(t - 1, 16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1))) + .itemOutputs(Compassline_Casing_EV.get(1)).duration(16 * SECONDS).eut(GT_Values.VP[t]) + .addTo(assemblerRecipes); // iv 5 t++; - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TungstenSteel, 4), ComponentType.Robot_Arm.getComponent(t).get(4), ComponentType.Electric_Piston.getComponent(t).get(8), ComponentType.Electric_Motor.getComponent(t).get(10), GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.TungstenSteel, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 6), getCircuit(t, 8), - getCircuit(t - 1, 16) }, - Materials.SolderingAlloy.getMolten(144 * (t + 1)), - Compassline_Casing_IV.get(1), - 16 * 20, - getV(t)); + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 6), + getCircuit(t, 8), + getCircuit(t - 1, 16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1))) + .itemOutputs(Compassline_Casing_IV.get(1)).duration(16 * SECONDS).eut(GT_Values.VP[t]) + .addTo(assemblerRecipes); Fluid sold = FluidRegistry.getFluid("molten.indalloy140"); // Assline Recipes! // luv 6 t++; - GT_Values.RA.addAssemblylineRecipe( - Compassline_Casing_IV.get(1), - 2250 << t, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Europium, 1), + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, Compassline_Casing_IV.get(1)) + .metadata(RESEARCH_TIME, (2250 << t) * TICKS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Europium, 1), WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.plateDense, 6), ComponentType.Robot_Arm.getComponent(t).get(8), ComponentType.Electric_Piston.getComponent(t).get(10), @@ -168,57 +199,67 @@ public class ComponentAssemblyLineMiscRecipes { WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.gearGt, 4), WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.gearGtSmall, 16), GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 8), - getALCircuit(t, 8), getALCircuit(t - 1, 16) }, - new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2), - StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, - Compassline_Casing_LuV.get(1), - 30 * 20, - 6000); + getALCircuit(t, 8), + getALCircuit(t - 1, 16)) + .fluidInputs( + new FluidStack(sold, 144 * t * 4), + CI.getTieredFluid(t, 144 * t * 2), + StackUtils.getTieredFluid(t, 144 * t), + Materials.Lubricant.getFluid(1000 * (t - 2))) + .itemOutputs(Compassline_Casing_LuV.get(1)).eut(TierEU.RECIPE_IV).duration(30 * SECONDS) + .addTo(AssemblyLine); // zpm 7 t++; - GT_Values.RA.addAssemblylineRecipe( - Compassline_Casing_LuV.get(1), - 2250 << t, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, Compassline_Casing_LuV.get(1)) + .metadata(RESEARCH_TIME, (2250 << t) * TICKS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Iridium, 6), ComponentType.Robot_Arm.getComponent(t).get(8), ComponentType.Electric_Piston.getComponent(t).get(10), ComponentType.Electric_Motor.getComponent(t).get(16), GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Iridium, 4), GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Iridium, 16), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Naquadah, 8), getALCircuit(t, 8), - getALCircuit(t - 1, 16) }, - new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2), - StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, - Compassline_Casing_ZPM.get(1), - 30 * 20, - 24000); + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Naquadah, 8), + getALCircuit(t, 8), + getALCircuit(t - 1, 16)) + .fluidInputs( + new FluidStack(sold, 144 * t * 4), + CI.getTieredFluid(t, 144 * t * 2), + StackUtils.getTieredFluid(t, 144 * t), + Materials.Lubricant.getFluid(1000 * (t - 2))) + .itemOutputs(Compassline_Casing_ZPM.get(1)).eut(TierEU.RECIPE_LuV).duration(30 * SECONDS) + .addTo(AssemblyLine); // uv 8 t++; - GT_Values.RA.addAssemblylineRecipe( - Compassline_Casing_ZPM.get(1), - 2250 << t, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmium, 1), + + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, Compassline_Casing_ZPM.get(1)) + .metadata(RESEARCH_TIME, (2250 << t) * TICKS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmium, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmium, 6), ComponentType.Robot_Arm.getComponent(t).get(8), ComponentType.Electric_Piston.getComponent(t).get(10), ComponentType.Electric_Motor.getComponent(t).get(16), GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Osmium, 4), GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Osmium, 16), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 8), getALCircuit(t, 8), - getALCircuit(t - 1, 16) }, - new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2), - StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, - Compassline_Casing_UV.get(1), - 30 * 20, - 100000); + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 8), + getALCircuit(t, 8), + getALCircuit(t - 1, 16)) + .fluidInputs( + new FluidStack(sold, 144 * t * 4), + CI.getTieredFluid(t, 144 * t * 2), + StackUtils.getTieredFluid(t, 144 * t), + Materials.Lubricant.getFluid(1000 * (t - 2))) + .itemOutputs(Compassline_Casing_UV.get(1)).eut(TierEU.RECIPE_ZPM).duration(30 * SECONDS) + .addTo(AssemblyLine); // uhv 9 t++; TT_recipeAdder.addResearchableAssemblylineRecipe( Compassline_Casing_UV.get(1), 375 << (t - 2), 1 << (t - 3), - 500000, + (int) TierEU.RECIPE_UV, 1, new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CosmicNeutronium, 6), @@ -232,8 +273,8 @@ public class ComponentAssemblyLineMiscRecipes { new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2), StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, Compassline_Casing_UHV.get(1), - 50 * 20, - 500000); + 50 * SECONDS, + (int) TierEU.RECIPE_UV); sold = FluidRegistry.getFluid("molten.mutatedlivingsolder"); // uev 10 t++; @@ -241,7 +282,7 @@ public class ComponentAssemblyLineMiscRecipes { Compassline_Casing_UHV.get(1), 375 << (t - 2), 1 << (t - 3), - 2000000, + (int) TierEU.RECIPE_UHV, 1, new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 6), @@ -255,15 +296,15 @@ public class ComponentAssemblyLineMiscRecipes { new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2), StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, Compassline_Casing_UEV.get(1), - 50 * 20, - 2000000); + 50 * SECONDS, + (int) TierEU.RECIPE_UHV); // uiv 11 t++; TT_recipeAdder.addResearchableAssemblylineRecipe( Compassline_Casing_UEV.get(1), 375 << (t - 2), 1 << (t - 3), - 8000000, + (int) TierEU.RECIPE_UEV, 1, new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.TranscendentMetal, 6), @@ -277,15 +318,15 @@ public class ComponentAssemblyLineMiscRecipes { new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2), StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, Compassline_Casing_UIV.get(1), - 50 * 20, - 8000000); + 50 * SECONDS, + (int) TierEU.RECIPE_UEV); // umv 12 t++; TT_recipeAdder.addResearchableAssemblylineRecipe( Compassline_Casing_UIV.get(1), 375 << (t - 2), 1 << (t - 3), - 32000000, + (int) TierEU.RECIPE_UIV, 1, new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SpaceTime, 6), @@ -300,14 +341,14 @@ public class ComponentAssemblyLineMiscRecipes { StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, Compassline_Casing_UMV.get(1), 50 * 20, - 32000000); + (int) TierEU.RECIPE_UIV); // uxv 13 t++; TT_recipeAdder.addResearchableAssemblylineRecipe( Compassline_Casing_UMV.get(1), 375 << (t - 2), 1 << (t - 3), - 128_000_000, + (int) TierEU.RECIPE_UMV, 1, new Object[] { GT_OreDictUnificator .get(OrePrefixes.frameGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1), @@ -336,37 +377,31 @@ public class ComponentAssemblyLineMiscRecipes { MaterialsUEVplus.BlackDwarfMatter.getMolten(144 * t * 2), MaterialsUEVplus.Eternity.getMolten(144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, Compassline_Casing_UXV.get(1), - 50 * 20, + 50 * SECONDS, (int) TierEU.RECIPE_UMV); } - private static int getV(int tier) { - return (int) (GT_Values.V[tier] - (GT_Values.V[tier] >> 4)); - } - private static void generateWrapRecipes() { for (int i = 0; i <= 11; i++) { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getCircuit(i, 16), GT_Utility.getIntegratedCircuit(16) }, - Materials.SolderingAlloy.getMolten(72L), - new ItemStack(Loaders.circuitWrap, 1, i), - 30 * 20, - 30); + GT_Values.RA.stdBuilder().itemInputs(getCircuit(i, 16), GT_Utility.getIntegratedCircuit(16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(72L)) + .itemOutputs(new ItemStack(Loaders.circuitWrap, 1, i)).duration(30 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); } - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GameRegistry.findItemStack("dreamcraft", "item.PikoCircuit", 16), - GT_Utility.getIntegratedCircuit(16) }, - Materials.SolderingAlloy.getMolten(72L), - new ItemStack(Loaders.circuitWrap, 1, 12), - 30 * 20, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GameRegistry.findItemStack("dreamcraft", "item.QuantumCircuit", 16), - GT_Utility.getIntegratedCircuit(16) }, - Materials.SolderingAlloy.getMolten(72L), - new ItemStack(Loaders.circuitWrap, 1, 13), - 30 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs( + GameRegistry.findItemStack("dreamcraft", "item.PikoCircuit", 16), + GT_Utility.getIntegratedCircuit(16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(72L)) + .itemOutputs(new ItemStack(Loaders.circuitWrap, 1, 12)).duration(30 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GameRegistry.findItemStack("dreamcraft", "item.QuantumCircuit", 16), + GT_Utility.getIntegratedCircuit(16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(72L)) + .itemOutputs(new ItemStack(Loaders.circuitWrap, 1, 13)).duration(30 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); } @SuppressWarnings("unused") diff --git a/src/main/java/goodgenerator/loader/Loaders.java b/src/main/java/goodgenerator/loader/Loaders.java index 1d2afe9d50..6a4e3f4db6 100644 --- a/src/main/java/goodgenerator/loader/Loaders.java +++ b/src/main/java/goodgenerator/loader/Loaders.java @@ -1,6 +1,7 @@ package goodgenerator.loader; import static goodgenerator.util.DescTextLocalization.addText; +import static gregtech.api.enums.Mods.GTPlusPlus; import net.minecraft.block.Block; import net.minecraft.item.Item; @@ -41,7 +42,6 @@ import goodgenerator.blocks.tileEntity.SupercriticalFluidTurbine; import goodgenerator.blocks.tileEntity.UniversalChemicalFuelEngine; import goodgenerator.blocks.tileEntity.YottaFluidTank; import goodgenerator.client.render.BlockRenderHandler; -import goodgenerator.crossmod.LoadedList; import goodgenerator.crossmod.ic2.CropsLoader; import goodgenerator.crossmod.nei.NEI_Config; import goodgenerator.crossmod.thaumcraft.LargeEssentiaEnergyData; @@ -308,7 +308,7 @@ public class Loaders { IDOffset + 20, "LargeFusionComputer3", "Compact Fusion Computer MK-III").getStackForm(1L); - if (LoadedList.GTPP) { + if (GTPlusPlus.isModLoaded()) { Loaders.LFC[3] = new LargeFusionComputer4( IDOffset + 21, "LargeFusionComputer4", @@ -458,7 +458,6 @@ public class Loaders { compactMod(); FluidsBuilder.Register(); FuelRodLoader.RegisterRod(); - LoadedList.init(); } public static void initLoad() { diff --git a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java index 27f5fbd339..e95453ea33 100644 --- a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java @@ -34,6 +34,21 @@ import static goodgenerator.items.MyMaterial.towEthyl1Hexanol; import static goodgenerator.items.MyMaterial.triniumSulphate; import static goodgenerator.items.MyMaterial.wasteLiquid; import static goodgenerator.main.GG_Config_Loader.EnableNaquadahRework; +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +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_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gregtech.common.items.GT_MetaGenerated_Item_01.registerCauldronCleaningFor; import java.lang.reflect.Constructor; @@ -59,14 +74,15 @@ import org.apache.commons.lang3.reflect.FieldUtils; import com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement.PlatinumSludgeOverHaul; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; -import goodgenerator.crossmod.LoadedList; import goodgenerator.main.GoodGenerator; +import goodgenerator.util.CrackRecipeAdder; import goodgenerator.util.ItemRefer; import goodgenerator.util.MyRecipeAdder; 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.recipe.RecipeMaps; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_OreDictUnificator; @@ -84,7 +100,7 @@ public class NaquadahReworkRecipeLoader { if (!EnableNaquadahRework) return; - if (LoadedList.GTPP) { + if (GTPlusPlus.isModLoaded()) { try { // Naquadah (UEV) CORE.RA.addQuantumTransformerRecipe( @@ -160,91 +176,65 @@ public class NaquadahReworkRecipeLoader { } // Fix shit - GT_Values.RA.addPulveriserRecipe( - lowQualityNaquadriaSolution.get(OrePrefixes.cell, 1), - new ItemStack[] { Materials.Tin.getDust(2) }, - new int[] { 10000 }, - 334, - 4); + GT_Values.RA.stdBuilder().itemInputs(lowQualityNaquadriaSolution.get(OrePrefixes.cell, 1)) + .itemOutputs(Materials.Tin.getDust(2)).duration(16 * SECONDS + 14 * TICKS).eut(4) + .addTo(maceratorRecipes); // Naquadah Rework Line - GT_Values.RA.addBlastRecipe( - naquadahEarth.get(OrePrefixes.dust, 2), - GT_Utility.getIntegratedCircuit(1), - fluoroantimonicAcid.getFluidOrGas(3000), - lowQualityNaquadahEmulsion.getFluidOrGas(2000), - titaniumTrifluoride.get(OrePrefixes.dust, 4), - null, - 100, - 480, - 3000); + GT_Values.RA.stdBuilder().itemInputs(naquadahEarth.get(OrePrefixes.dust, 2), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(fluoroantimonicAcid.getFluidOrGas(3000)) + .fluidOutputs(lowQualityNaquadahEmulsion.getFluidOrGas(2000)) + .itemOutputs(titaniumTrifluoride.get(OrePrefixes.dust, 4)).duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 3000).addTo(blastFurnaceRecipes); // TiF3 + 3H = Ti + 3HF - GT_Values.RA.addBlastRecipe( - titaniumTrifluoride.get(OrePrefixes.dust, 4), - GT_Utility.getIntegratedCircuit(1), - Materials.Hydrogen.getGas(3000), - Materials.HydrofluoricAcid.getFluid(3000), - GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Titanium, 1), - null, - 120, - 1920, - 2000); - - GT_Values.RA.addChemicalRecipe( - GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 1)), - Materials.Hydrogen.getCells(8), - FluidRegistry.getFluidStack("seedoil", 3000), - towEthyl1Hexanol.getFluidOrGas(1000), - ItemList.Cell_Empty.get(8), - 400, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(titaniumTrifluoride.get(OrePrefixes.dust, 4), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Hydrogen.getGas(3000)).fluidOutputs(Materials.HydrofluoricAcid.getFluid(3000)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Titanium, 1)) + .duration(6 * SECONDS).eut(TierEU.RECIPE_EV).metadata(COIL_HEAT, 2000).addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 1)), + Materials.Hydrogen.getCells(8)) + .fluidInputs(FluidRegistry.getFluidStack("seedoil", 3000)).itemOutputs(ItemList.Cell_Empty.get(8)) + .fluidOutputs(towEthyl1Hexanol.getFluidOrGas(1000)).duration(20 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); // 2C8H18O + H3PO4 =Na,C2H6O= C16H35O3P + 2H2O - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 2) }, - new FluidStack[] { towEthyl1Hexanol.getFluidOrGas(2000), Materials.PhosphoricAcid.getFluid(1000), - Materials.Ethanol.getFluid(2000) }, - new FluidStack[] { P507.getFluidOrGas(1000) }, - null, - 1200, - 1920); - - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - lowQualityNaquadahSolution.get(OrePrefixes.cell, 36), - P507.get(OrePrefixes.cell, 4), - null, - fluorineRichWasteLiquid.getFluidOrGas(10000), - naquadahAdamantiumSolution.get(OrePrefixes.cell, 30), - ItemList.Cell_Empty.get(10), - 4000, - 1920); - - GT_Values.RA.addMultiblockChemicalRecipe( - null, - new FluidStack[] { P507.getFluidOrGas(4000), lowQualityNaquadahSolution.getFluidOrGas(36000), }, - new FluidStack[] { fluorineRichWasteLiquid.getFluidOrGas(10000), - naquadahAdamantiumSolution.getFluidOrGas(30000) }, - null, - 4000, - 1920); - - GT_Values.RA.addChemicalRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, 40), - null, - fluorineRichWasteLiquid.getFluidOrGas(1500), - wasteLiquid.getFluidOrGas(1000), - WerkstoffLoader.Fluorspar.get(OrePrefixes.dust, 60), - 1000, - 120); - - GT_Values.RA.addUniversalDistillationRecipe( + GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 2)) + .fluidInputs( + towEthyl1Hexanol.getFluidOrGas(2000), + Materials.PhosphoricAcid.getFluid(1000), + Materials.Ethanol.getFluid(2000)) + .fluidOutputs(P507.getFluidOrGas(1000)).duration(1 * MINUTES).eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(lowQualityNaquadahSolution.get(OrePrefixes.cell, 36), P507.get(OrePrefixes.cell, 4)) + .itemOutputs(naquadahAdamantiumSolution.get(OrePrefixes.cell, 30), ItemList.Cell_Empty.get(10)) + .fluidOutputs(fluorineRichWasteLiquid.getFluidOrGas(10000)).duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_EV).addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder().fluidInputs(P507.getFluidOrGas(4000), lowQualityNaquadahSolution.getFluidOrGas(36000)) + .fluidOutputs( + fluorineRichWasteLiquid.getFluidOrGas(10000), + naquadahAdamantiumSolution.getFluidOrGas(30000)) + .duration(3 * MINUTES + 20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, 40)) + .fluidInputs(fluorineRichWasteLiquid.getFluidOrGas(1500)).fluidOutputs(wasteLiquid.getFluidOrGas(1000)) + .itemOutputs(WerkstoffLoader.Fluorspar.get(OrePrefixes.dust, 60)).duration(50 * SECONDS) + .eut(TierEU.RECIPE_MV).addTo(UniversalChemical); + + CrackRecipeAdder.addUniversalDistillationRecipe( wasteLiquid.getFluidOrGas(10000), new FluidStack[] { Materials.SaltWater.getFluid(3000), FluidRegistry.getFluidStack("phenol", 2000), Materials.HydrochloricAcid.getFluid(5000) }, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 3), - 300, - 480); + 15 * SECONDS, + TierEU.RECIPE_HV); MyRecipeAdder.instance.addNeutronActivatorRecipe( new FluidStack[] { naquadahAdamantiumSolution.getFluidOrGas(3000) }, @@ -256,72 +246,49 @@ public class NaquadahReworkRecipeLoader { 230, 200); - GT_Values.RA.addAutoclaveRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 27), - null, - naquadahRichSolution.getFluidOrGas(5000), - P507.getFluidOrGas(1000), - naquadahine.get(OrePrefixes.dust, 30), - 10000, - 1000, - 120, - false); + GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 27)) + .fluidInputs(naquadahRichSolution.getFluidOrGas(5000)) + .itemOutputs(naquadahine.get(OrePrefixes.dust, 30)).fluidOutputs(P507.getFluidOrGas(1000)) + .duration(50 * SECONDS).eut(TierEU.RECIPE_MV).addTo(autoclaveRecipes); // NqO2 + C = CO2 + Nq - GT_Values.RA.addBlastRecipe( - naquadahine.get(OrePrefixes.dust, 3), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1), - null, - Materials.CarbonDioxide.getGas(1000), - GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Naquadah, 1), - null, - 40, - 7680, - 5000); - - GT_Values.RA.addCentrifugeRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 27), - GT_Utility.getIntegratedCircuit(1), - lowQualityNaquadahEmulsion.getFluidOrGas(10000), - lowQualityNaquadahSolution.getFluidOrGas(9000), - galliumHydroxide.get(OrePrefixes.dust, 64), - galliumHydroxide.get(OrePrefixes.dust, 48), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Antimony, 15), - null, - null, - null, - new int[] { 6250, 6250, 10000 }, - 1000, - 1920); - - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { enrichedNaquadahEarth.get(OrePrefixes.dust, 4), }, - new FluidStack[] { P507.getFluidOrGas(1000), Materials.SulfuricAcid.getFluid(18000) }, - new FluidStack[] { enrichedNaquadahRichSolution.getFluidOrGas(4000), wasteLiquid.getFluidOrGas(1000) }, - new ItemStack[] { naquadahEarth.get(OrePrefixes.dust, 1), triniumSulphate.get(OrePrefixes.dust, 1) }, - 400, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs( + naquadahine.get(OrePrefixes.dust, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Naquadah, 1)) + .duration(2 * SECONDS).eut(TierEU.RECIPE_IV).metadata(COIL_HEAT, 5000).addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 27), + GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(lowQualityNaquadahEmulsion.getFluidOrGas(10000)) + .itemOutputs( + galliumHydroxide.get(OrePrefixes.dust, 64), + galliumHydroxide.get(OrePrefixes.dust, 48), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Antimony, 15)) + .outputChances(6250, 6250, 10000).fluidOutputs(lowQualityNaquadahSolution.getFluidOrGas(9000)) + .duration(50 * SECONDS).eut(TierEU.RECIPE_EV).addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder().itemInputs(enrichedNaquadahEarth.get(OrePrefixes.dust, 4)) + .fluidInputs(P507.getFluidOrGas(1000), Materials.SulfuricAcid.getFluid(18000)) + .fluidOutputs(enrichedNaquadahRichSolution.getFluidOrGas(4000), wasteLiquid.getFluidOrGas(1000)) + .itemOutputs(naquadahEarth.get(OrePrefixes.dust, 1), triniumSulphate.get(OrePrefixes.dust, 1)) + .duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(multiblockChemicalReactorRecipes); // ZnSO4 + 2H = H2SO4 + Zn - GT_Values.RA.addChemicalRecipe( - WerkstoffLoader.ZincSulfate.get(OrePrefixes.dust, 6), - null, - Materials.Hydrogen.getGas(2000), - Materials.SulfuricAcid.getFluid(1000), - Materials.Zinc.getDust(1), - 30, - 7); - - GT_Values.RA.addAutoclaveRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 60), - null, - enrichedNaquadahRichSolution.getFluidOrGas(10000), - P507.getFluidOrGas(2500), - concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 8), - 10000, - 1000, - 480, - false); + GT_Values.RA.stdBuilder().itemInputs(WerkstoffLoader.ZincSulfate.get(OrePrefixes.dust, 6)) + .fluidInputs(Materials.Hydrogen.getGas(2000)).fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .itemOutputs(Materials.Zinc.getDust(1)).duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_ULV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 60)) + .fluidInputs(enrichedNaquadahRichSolution.getFluidOrGas(10000)) + .itemOutputs(concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 8)) + .fluidOutputs(P507.getFluidOrGas(2500)).duration(50 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(autoclaveRecipes); MyRecipeAdder.instance.addNeutronActivatorRecipe( null, @@ -339,72 +306,55 @@ public class NaquadahReworkRecipeLoader { 460); // Nq+(SO4)2 + 2Zn = Nq+ + 2ZnSO4 - GT_Values.RA.addBlastRecipe( - enrichedNaquadahSulphate.get(OrePrefixes.dust, 11), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 2), - null, - null, - GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.NaquadahEnriched, 1), - WerkstoffLoader.ZincSulfate.get(OrePrefixes.dust, 12), - 100, - 7680, - 7500); + GT_Values.RA.stdBuilder() + .itemInputs( + enrichedNaquadahSulphate.get(OrePrefixes.dust, 11), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.NaquadahEnriched, 1), + WerkstoffLoader.ZincSulfate.get(OrePrefixes.dust, 12)) + .duration(5 * SECONDS).eut(TierEU.RECIPE_IV).metadata(COIL_HEAT, 7500).addTo(blastFurnaceRecipes); // KeSO4 + 2H = Ke + H2SO4 - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { triniumSulphate.get(OrePrefixes.dust, 6), }, - new FluidStack[] { Materials.Hydrogen.getGas(2000) }, - new FluidStack[] { Materials.SulfuricAcid.getFluid(1000) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Trinium, 1), }, - 120, - 480); - - GT_Values.RA.addCentrifugeRecipe( - naquadriaEarth.get(OrePrefixes.dust, 4), - null, - Materials.PhosphoricAcid.getFluid(4000), - null, - indiumPhosphate.get(OrePrefixes.dust, 6), - lowQualityNaquadriaPhosphate.get(OrePrefixes.dust, 4), - null, - null, - null, - null, - new int[] { 2000, 10000 }, - 400, - 122880); + GT_Values.RA.stdBuilder().itemInputs(triniumSulphate.get(OrePrefixes.dust, 6)) + .fluidInputs(Materials.Hydrogen.getGas(2000)).fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Trinium, 1)).duration(6 * SECONDS) + .eut(TierEU.RECIPE_HV).addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder().itemInputs(naquadriaEarth.get(OrePrefixes.dust, 4)) + .fluidInputs(Materials.PhosphoricAcid.getFluid(4000)) + .itemOutputs( + indiumPhosphate.get(OrePrefixes.dust, 6), + lowQualityNaquadriaPhosphate.get(OrePrefixes.dust, 4)) + .outputChances(2000, 10000).duration(20 * SECONDS).eut(TierEU.RECIPE_ZPM).addTo(centrifugeRecipes); // Ga(OH)3 + 3Na = Ga + 3NaOH - GT_Values.RA.addChemicalRecipe( - galliumHydroxide.get(OrePrefixes.dust, 7), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 3), - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 9), - 40, - 30); + GT_Values.RA.stdBuilder() + .itemInputs( + galliumHydroxide.get(OrePrefixes.dust, 7), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 3)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 9)) + .duration(2 * SECONDS).eut(TierEU.RECIPE_LV).addTo(UniversalChemical); // 2InPO4 + 3Ca = 2In + Ca3(PO4)2 - GT_Values.RA.addChemicalRecipe( - indiumPhosphate.get(OrePrefixes.dust, 12), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 3), - null, - null, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Indium, 2), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 5), - 20, - 30); - - GT_Values.RA.addChemicalRecipe( - lowQualityNaquadriaPhosphate.get(OrePrefixes.dust, 10), - Materials.SulfuricAcid.getCells(30), - null, - naquadriaRichSolution.getFluidOrGas(9000), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Barite, 1), - ItemList.Cell_Empty.get(30), - 1000, - 7680); + GT_Values.RA.stdBuilder() + .itemInputs( + indiumPhosphate.get(OrePrefixes.dust, 12), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 3)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Indium, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 5)) + .duration(1 * SECONDS).eut(TierEU.RECIPE_LV).addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(lowQualityNaquadriaPhosphate.get(OrePrefixes.dust, 10), Materials.SulfuricAcid.getCells(30)) + .fluidOutputs(naquadriaRichSolution.getFluidOrGas(9000)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Barite, 1), + ItemList.Cell_Empty.get(30)) + .duration(50 * SECONDS).eut(TierEU.RECIPE_IV).addTo(UniversalChemical); MyRecipeAdder.instance.addNeutronActivatorRecipe( new FluidStack[] { naquadriaRichSolution.getFluidOrGas(9000) }, @@ -416,152 +366,93 @@ public class NaquadahReworkRecipeLoader { 1100, 1050); - GT_Values.RA.addChemicalRecipe( - lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 3), - Materials.Water.getCells(3), - P507.getFluidOrGas(500), - lowQualityNaquadriaSolution.getFluidOrGas(3500), - ItemList.Cell_Empty.get(3), - 500, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 3), Materials.Water.getCells(3)) + .fluidInputs(P507.getFluidOrGas(500)).fluidOutputs(lowQualityNaquadriaSolution.getFluidOrGas(3500)) + .itemOutputs(ItemList.Cell_Empty.get(3)).duration(25 * SECONDS).eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); - GT_Values.RA.addUniversalDistillationRecipe( + CrackRecipeAdder.addUniversalDistillationRecipe( lowQualityNaquadriaSolution.getFluidOrGas(7000), new FluidStack[] { P507.getFluidOrGas(1000), naquadriaRichSolution.getFluidOrGas(5400), Materials.DilutedSulfuricAcid.getFluid(12000) }, enrichedNaquadahEarth.get(OrePrefix