From 76db368e60d300c1694fc9ba6f540d20cb0ccd5c Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Sat, 13 Jan 2024 15:39:06 +0000 Subject: [PATCH] RA2 universal dist --- .../loader/NaquadahReworkRecipeLoader.java | 13 ++--- .../goodgenerator/loader/RecipeLoader.java | 16 +++---- .../goodgenerator/loader/RecipeLoader_02.java | 22 ++++----- .../goodgenerator/util/CrackRecipeAdder.java | 47 +++++++++++++++++-- 4 files changed, 70 insertions(+), 28 deletions(-) diff --git a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java index 6d1612ab..e95453ea 100644 --- a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java @@ -75,6 +75,7 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import goodgenerator.main.GoodGenerator; +import goodgenerator.util.CrackRecipeAdder; import goodgenerator.util.ItemRefer; import goodgenerator.util.MyRecipeAdder; import gregtech.api.enums.GT_Values; @@ -227,13 +228,13 @@ public static void RecipeLoad() { .itemOutputs(WerkstoffLoader.Fluorspar.get(OrePrefixes.dust, 60)).duration(50 * SECONDS) .eut(TierEU.RECIPE_MV).addTo(UniversalChemical); - GT_Values.RA.addUniversalDistillationRecipe( + 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) }, @@ -371,13 +372,13 @@ public static void RecipeLoad() { .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(OrePrefixes.dust, 2), - 500, - 7680); + 25 * SECONDS, + TierEU.RECIPE_IV); // Nq*(SO4)2 + 2Mg = Nq* + 2MgSO4 GT_Values.RA.stdBuilder() diff --git a/src/main/java/goodgenerator/loader/RecipeLoader.java b/src/main/java/goodgenerator/loader/RecipeLoader.java index 6f37df90..e53fb110 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader.java @@ -419,13 +419,13 @@ public static void RecipeLoad() { .fluidOutputs(MyMaterial.antimonyPentachlorideSolution.getFluidOrGas(1000)).duration(9 * SECONDS) .eut(TierEU.RECIPE_HV).addTo(multiblockChemicalReactorRecipes); - GT_Values.RA.addUniversalDistillationRecipe( + CrackRecipeAdder.addUniversalDistillationRecipe( MyMaterial.antimonyPentachlorideSolution.getFluidOrGas(1000), new FluidStack[] { MyMaterial.ether.getFluidOrGas(1000), MyMaterial.antimonyPentachloride.getFluidOrGas(1000) }, - null, - 600, - 120); + GT_Values.NI, + 30 * SECONDS, + TierEU.RECIPE_MV); // SbCl5 + 5HF = SbF5 + 5HCl GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(1)) @@ -465,14 +465,14 @@ public static void RecipeLoad() { WerkstoffLoader.Fluorspar.get(OrePrefixes.dust, 4)) .duration(12 * SECONDS).eut(TierEU.RECIPE_LV).addTo(multiblockChemicalReactorRecipes); - GT_Values.RA.addUniversalDistillationRecipe( + CrackRecipeAdder.addUniversalDistillationRecipe( MyMaterial.naquadahSolution.getFluidOrGas(20), new FluidStack[] { MyMaterial.naquadahAsphalt.getFluidOrGas(2), MyMaterial.heavyNaquadahFuel.getFluidOrGas(5), MyMaterial.lightNaquadahFuel.getFluidOrGas(10), FluidRegistry.getFluidStack("water", 10), MyMaterial.naquadahGas.getFluidOrGas(60) }, - null, - 20, - 2040); + GT_Values.NI, + 1 * SECONDS, + TierEU.RECIPE_EV); GT_Values.RA.stdBuilder().itemInputs(MyMaterial.naquadahGas.get(OrePrefixes.cell)).metadata(FUEL_VALUE, 1024) .metadata(FUEL_TYPE, 1).addTo(GT_RecipeConstants.Fuel); diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java index df1f723e..c11714d6 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader_02.java @@ -741,20 +741,20 @@ public static void RecipeLoad() { .fluidOutputs(MyMaterial.ferroceneWaste.getFluidOrGas(5000)).duration(40 * SECONDS) .eut(TierEU.RECIPE_MV).addTo(mixerRecipes); - GT_Values.RA.addUniversalDistillationRecipe( + CrackRecipeAdder.addUniversalDistillationRecipe( MyMaterial.ferroceneWaste.getFluidOrGas(1000), new FluidStack[] { Materials.Water.getFluid(400), MyMaterial.diethylamine.getFluidOrGas(800), MyMaterial.ether.getFluidOrGas(500) }, - null, - 600, - 120); + GT_Values.NI, + 30 * SECONDS, + TierEU.RECIPE_MV); - GT_Values.RA.addUniversalDistillationRecipe( + CrackRecipeAdder.addUniversalDistillationRecipe( MyMaterial.ferroceneSolution.getFluidOrGas(2000), new FluidStack[] { MyMaterial.ether.getFluidOrGas(1000) }, MyMaterial.ferrocene.get(OrePrefixes.dust, 1), - 600, - 120); + 30 * SECONDS, + TierEU.RECIPE_MV); if (GTPlusPlus.isModLoaded()) { GT_Values.RA.stdBuilder() @@ -1230,13 +1230,13 @@ public static void RecipeLoad() { .fluidOutputs(MyMaterial.antimonyPentafluorideSolution.getFluidOrGas(8000)).duration(40 * SECONDS) .eut(TierEU.RECIPE_IV).addTo(multiblockChemicalReactorRecipes); - GT_Values.RA.addUniversalDistillationRecipe( + CrackRecipeAdder.addUniversalDistillationRecipe( MyMaterial.antimonyPentafluorideSolution.getFluidOrGas(4000), new FluidStack[] { MyMaterial.antimonyPentafluoride.getFluidOrGas(4000), MyMaterial.ether.getFluidOrGas(500) }, - null, - 100, - 120); + GT_Values.NI, + 5 * SECONDS, + TierEU.RECIPE_MV); GT_Values.RA.stdBuilder() .itemInputs( diff --git a/src/main/java/goodgenerator/util/CrackRecipeAdder.java b/src/main/java/goodgenerator/util/CrackRecipeAdder.java index 32823b04..42913f29 100644 --- a/src/main/java/goodgenerator/util/CrackRecipeAdder.java +++ b/src/main/java/goodgenerator/util/CrackRecipeAdder.java @@ -1,6 +1,8 @@ package goodgenerator.util; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; import static gregtech.api.recipe.RecipeMaps.extruderRecipes; import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; import static gregtech.api.recipe.RecipeMaps.wiremillRecipes; @@ -23,6 +25,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeBuilder; import gregtech.api.util.GT_Utility; public class CrackRecipeAdder { @@ -66,7 +69,7 @@ public static void crackerAdder(FluidStack inputFluid, FluidStack cracker, Fluid actOutput[j] = new FluidStack(tmp1, tmp2); } - GT_Values.RA.addUniversalDistillationRecipe( + addUniversalDistillationRecipe( FluidRegistry.getFluidStack("lightlycracked" + name, 1000), actOutput, outputItem, @@ -79,7 +82,7 @@ public static void crackerAdder(FluidStack inputFluid, FluidStack cracker, Fluid actOutput[j] = new FluidStack(tmp1, tmp2); } - GT_Values.RA.addUniversalDistillationRecipe( + addUniversalDistillationRecipe( FluidRegistry.getFluidStack("moderatelycracked" + name, 1000), actOutput, outputItem, @@ -92,7 +95,7 @@ public static void crackerAdder(FluidStack inputFluid, FluidStack cracker, Fluid actOutput[j] = new FluidStack(tmp1, tmp2); } - GT_Values.RA.addUniversalDistillationRecipe( + addUniversalDistillationRecipe( FluidRegistry.getFluidStack("heavilycracked" + name, 1000), actOutput, outputItem, @@ -113,6 +116,44 @@ public static void reAddBlastRecipe(Werkstoff material, int duration, int EUt, i } } + public static void addUniversalDistillationRecipewithCircuit(FluidStack aInput, ItemStack[] aCircuit, + FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, long aEUt) { + for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { + GT_RecipeBuilder buildDistillation = GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(i + 1)); + if (aOutput2 != GT_Values.NI) { + buildDistillation.itemOutputs(aOutput2); + } + buildDistillation.fluidInputs(aInput).fluidOutputs(aOutputs[i]).duration(2 * aDuration).eut(aEUt / 4) + .addTo(distilleryRecipes); + } + GT_RecipeBuilder buildDT = GT_Values.RA.stdBuilder().itemInputs(aCircuit); + if (aOutput2 != GT_Values.NI) { + buildDT.itemOutputs(aOutput2); + } + buildDT.fluidInputs(aInput).fluidOutputs(aOutputs).duration(aDuration).eut(aEUt) + .addTo(distillationTowerRecipes); + } + + public static void addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, + int aDuration, long aEUt) { + for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { + GT_RecipeBuilder buildDistillation = GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(i + 1)); + if (aOutput2 != GT_Values.NI) { + buildDistillation.itemOutputs(aOutput2); + } + buildDistillation.fluidInputs(aInput).fluidOutputs(aOutputs[i]).duration(2 * aDuration).eut(aEUt / 4) + .addTo(distilleryRecipes); + } + GT_RecipeBuilder buildDT = GT_Values.RA.stdBuilder(); + if (aOutput2 != GT_Values.NI) { + buildDT.itemOutputs(aOutput2); + } + buildDT.fluidInputs(aInput).fluidOutputs(aOutputs).duration(aDuration).eut(aEUt) + .addTo(distillationTowerRecipes); + } + public static FluidStack copyFluidWithAmount(FluidStack fluid, int amount) { if (fluid == null || amount <= 0) return null; return new FluidStack(fluid.getFluid(), amount);