Skip to content
This repository has been archived by the owner on May 25, 2024. It is now read-only.

Commit

Permalink
RA2 universal dist
Browse files Browse the repository at this point in the history
  • Loading branch information
chochem committed Jan 13, 2024
1 parent 59db384 commit 76db368
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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) },
Expand Down Expand Up @@ -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()
Expand Down
16 changes: 8 additions & 8 deletions src/main/java/goodgenerator/loader/RecipeLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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);
Expand Down
22 changes: 11 additions & 11 deletions src/main/java/goodgenerator/loader/RecipeLoader_02.java
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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(
Expand Down
47 changes: 44 additions & 3 deletions src/main/java/goodgenerator/util/CrackRecipeAdder.java
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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 {
Expand Down Expand Up @@ -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,
Expand All @@ -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,
Expand All @@ -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,
Expand All @@ -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);
Expand Down

0 comments on commit 76db368

Please sign in to comment.