aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/loaders
diff options
context:
space:
mode:
authorboubou19 <miisterunknown@gmail.com>2024-07-21 16:36:34 +0200
committerGitHub <noreply@github.com>2024-07-21 21:36:34 +0700
commita8b46c11f5a02608101ef33ed39f103736ba5920 (patch)
tree6daf492e524dcae9f2f5a8cb1d87c057c21a6760 /src/main/java/gtPlusPlus/xmod/gregtech/loaders
parent8b077c28bea7bcc046be1e4b8485d69b4c245a43 (diff)
downloadGT5-Unofficial-a8b46c11f5a02608101ef33ed39f103736ba5920.tar.gz
GT5-Unofficial-a8b46c11f5a02608101ef33ed39f103736ba5920.tar.bz2
GT5-Unofficial-a8b46c11f5a02608101ef33ed39f103736ba5920.zip
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 <dream-master@gmx.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/loaders')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java50
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java52
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java480
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java4
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java531
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java158
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java215
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java202
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java127
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java147
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java392
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java46
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java269
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java177
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java913
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java65
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java600
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java82
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java90
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java750
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java355
21 files changed, 2964 insertions, 2741 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
index d455697330..b56a480c0c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java
@@ -1,5 +1,7 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+
import java.util.HashSet;
import java.util.Set;
@@ -30,34 +32,38 @@ public class RecipeGen_AlloySmelter extends RecipeGen_Base {
private void generateRecipes(final Material material) {
final int tVoltageMultiplier = material.vVoltageMultiplier;
-
+ final long duration = Math.max(material.getMass() * 2L, 1L);
// Nuggets
if (ItemUtils.checkForInvalidItems(material.getIngot(1))
- && ItemUtils.checkForInvalidItems(material.getNugget(1)))
- GT_Values.RA.addAlloySmelterRecipe(
- material.getIngot(1),
- ItemList.Shape_Mold_Nugget.get(0),
- material.getNugget(9),
- (int) Math.max(material.getMass() * 2L, 1L),
- tVoltageMultiplier);
+ && ItemUtils.checkForInvalidItems(material.getNugget(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getIngot(1), ItemList.Shape_Mold_Nugget.get(0))
+ .itemOutputs(material.getNugget(9))
+ .duration(duration)
+ .eut(tVoltageMultiplier)
+ .addTo(alloySmelterRecipes);
+ }
// Gears
- if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getGear(1)))
- GT_Values.RA.addAlloySmelterRecipe(
- material.getIngot(8),
- ItemList.Shape_Mold_Gear.get(0),
- material.getGear(1),
- (int) Math.max(material.getMass() * 2L, 1L),
- tVoltageMultiplier);
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getGear(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getIngot(8), ItemList.Shape_Mold_Gear.get(0))
+ .itemOutputs(material.getGear(1))
+ .duration(duration)
+ .eut(tVoltageMultiplier)
+ .addTo(alloySmelterRecipes);
+ }
// Ingot
if (ItemUtils.checkForInvalidItems(material.getIngot(1))
- && ItemUtils.checkForInvalidItems(material.getNugget(1)))
- GT_Values.RA.addAlloySmelterRecipe(
- material.getNugget(9),
- ItemList.Shape_Mold_Ingot.get(0),
- material.getIngot(1),
- (int) Math.max(material.getMass() * 2L, 1L),
- tVoltageMultiplier);
+ && ItemUtils.checkForInvalidItems(material.getNugget(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getNugget(9), ItemList.Shape_Mold_Ingot.get(0))
+ .itemOutputs(material.getIngot(1))
+ .duration(duration)
+ .eut(tVoltageMultiplier)
+ .addTo(alloySmelterRecipes);
+ }
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
index 1594568d23..8256b73a44 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java
@@ -1,11 +1,15 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import java.util.HashSet;
import java.util.Set;
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
@@ -33,13 +37,14 @@ public class RecipeGen_Assembler extends RecipeGen_Base {
private void generateRecipes(final Material material) {
// Frame Box
- if (ItemUtils.checkForInvalidItems(new ItemStack[] { material.getRod(1), material.getFrameBox(1) }))
- GT_Values.RA.addAssemblerRecipe(
- material.getRod(4),
- ItemUtils.getGregtechCircuit(4),
- material.getFrameBox(1),
- 60,
- material.vVoltageMultiplier);
+ if (ItemUtils.checkForInvalidItems(new ItemStack[] { material.getRod(1), material.getFrameBox(1) })) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getRod(4), GT_Utility.getIntegratedCircuit(4))
+ .itemOutputs(material.getFrameBox(1))
+ .duration(3 * SECONDS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(assemblerRecipes);
+ }
// Rotor
if (ItemUtils
@@ -52,18 +57,29 @@ public class RecipeGen_Assembler extends RecipeGen_Base {
material.vVoltageMultiplier);
}
+ @Deprecated
private static void addAssemblerRecipe(final ItemStack input1, final ItemStack input2, final ItemStack output1,
final int seconds, final int euCost) {
- GT_Values.RA.addAssemblerRecipe(
- input1,
- input2,
- FluidUtils.getFluidStack("molten.solderingalloy", 16),
- output1,
- seconds,
- euCost);
- GT_Values.RA
- .addAssemblerRecipe(input1, input2, FluidUtils.getFluidStack("molten.tin", 32), output1, seconds, euCost);
- GT_Values.RA
- .addAssemblerRecipe(input1, input2, FluidUtils.getFluidStack("molten.lead", 48), output1, seconds, euCost);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(input1, input2)
+ .itemOutputs(output1)
+ .fluidInputs(FluidUtils.getFluidStack("molten.solderingalloy", 16))
+ .duration(seconds)
+ .eut(euCost)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(input1, input2)
+ .itemOutputs(output1)
+ .fluidInputs(FluidUtils.getFluidStack("molten.tin", 32))
+ .duration(seconds)
+ .eut(euCost)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(input1, input2)
+ .itemOutputs(output1)
+ .fluidInputs(FluidUtils.getFluidStack("molten.lead", 48))
+ .duration(seconds)
+ .eut(euCost)
+ .addTo(assemblerRecipes);
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
index 2d573c9fb7..8213aee95e 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
@@ -1,7 +1,13 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.alloyBlastSmelterRecipes;
+
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
import java.util.Set;
import net.minecraft.item.ItemStack;
@@ -9,11 +15,11 @@ import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.recipe.GTPPRecipeCategories;
-import gtPlusPlus.api.recipe.GTPPRecipeMaps;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
@@ -46,276 +52,260 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
private void generateARecipe(final Material M) {
// Add a Blast Smelting Recipe, Let's go!
- ItemStack tStack;
- if (null != (tStack = M.getDust(1))) {
-
- final Material[] badMaterials = { FLUORIDES.THORIUM_HEXAFLUORIDE, FLUORIDES.THORIUM_TETRAFLUORIDE,
- ALLOY.BLOODSTEEL, NUCLIDE.LiFBeF2ThF4UF4, NUCLIDE.LiFBeF2ZrF4UF4, NUCLIDE.LiFBeF2ZrF4U235 };
- for (final Material R : badMaterials) {
- if (M == R) {
- return;
- }
+ ItemStack tStack = M.getDust(1);
+ if (tStack == null) {
+ return;
+ }
+
+ final Material[] badMaterials = { FLUORIDES.THORIUM_HEXAFLUORIDE, FLUORIDES.THORIUM_TETRAFLUORIDE,
+ ALLOY.BLOODSTEEL, NUCLIDE.LiFBeF2ThF4UF4, NUCLIDE.LiFBeF2ZrF4UF4, NUCLIDE.LiFBeF2ZrF4U235 };
+ for (final Material R : badMaterials) {
+ if (M == R) {
+ return;
}
+ }
- // Prepare some Variables
- ItemStack[] components;
- ArrayList<MaterialStack> tMaterial = new ArrayList<>();
- int inputStackCount = 0;
- int fluidAmount = 0;
- final boolean doTest = true;
- tMaterial = M.getComposites();
+ // Prepare some Variables
+ ItemStack[] components;
+ ArrayList<MaterialStack> tMaterial = new ArrayList<>();
+ int inputStackCount = 0;
+ int fluidAmount = 0;
+ final boolean doTest = true;
+ tMaterial = M.getComposites();
- // This Bad boy here is what dictates unique recipes.
- ItemStack circuitGT;
+ // This Bad boy here is what dictates unique recipes.
+ ItemStack circuitGT;
- // Set a duration - OLD
- /*
- * int duration = 0; if (M.getMeltingPointK() > 150){ duration = (int) Math.max(M.getMass() / 50L, 1L) *
- * M.getMeltingPointK(); } else { duration = (int) Math.max(M.getMass() / 50L, 1L) * 150; }
- */
+ long aVoltage = MaterialUtils.getVoltageForTier(M.vTier);
- long aVoltage = MaterialUtils.getVoltageForTier(M.vTier);
+ // Set a duration
+ int duration = 120 * M.vTier * 10;
- // Set a duration - NEW
- int duration = 120 * M.vTier * 10;
+ if (M.vTier <= 4) {
+ duration = 20 * M.vTier * 10;
+ }
+
+ int mMaterialListSize = 0;
+
+ int mTotalPartsCounter = M.smallestStackSizeWhenProcessing;
- if (M.vTier <= 4) {
- duration = 20 * M.vTier * 10;
+ if (M.getComposites() != null) {
+ for (final gtPlusPlus.core.material.MaterialStack ternkfsdf : M.getComposites()) {
+ if (ternkfsdf != null) {
+ mMaterialListSize++;
+ }
}
+ } else {
+ mMaterialListSize = 1;
+ }
- int mMaterialListSize = 0;
+ if (duration <= 0) {
+ final int second = 20;
+ duration = 14 * second * mMaterialListSize * 8;
+ }
- int mTotalPartsCounter = M.smallestStackSizeWhenProcessing;
+ Logger.WARNING("[BAS] Size: " + mMaterialListSize);
+
+ // Make a simple one Material MaterialStack[] and log it for validity.
+ circuitGT = GT_Utility.getIntegratedCircuit(1);
+ final ItemStack[] tItemStackTest = new ItemStack[] { circuitGT, tStack };
+ inputStackCount = 1;
+ fluidAmount = 144 * inputStackCount;
+ Logger.WARNING(
+ "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName()
+ + ". Gives "
+ + fluidAmount
+ + "L of molten metal.");
+ for (int das = 0; das < tItemStackTest.length; das++) {
+ if (tItemStackTest[das] != null) {
+ Logger.WARNING(
+ "[BAS] tMaterial[" + das
+ + "]: "
+ + tItemStackTest[das].getDisplayName()
+ + " Meta: "
+ + tItemStackTest[das].getItemDamage()
+ + ", Amount: "
+ + tItemStackTest[das].stackSize);
+ }
+ }
- if (M.getComposites() != null) {
- for (final gtPlusPlus.core.material.MaterialStack ternkfsdf : M.getComposites()) {
- if (ternkfsdf != null) {
- mMaterialListSize++;
- // mTotalPartsCounter += ternkfsdf.getSmallestStackSizes()[0];
- }
- }
+ final boolean hasMoreInputThanACircuit = (tItemStackTest.length > 1);
+
+ // Generate Recipes for all singular materials that can be made molten.
+ if (hasMoreInputThanACircuit) {
+ if (M.requiresBlastFurnace()) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(tItemStackTest)
+ .fluidOutputs(M.getFluidStack(fluidAmount))
+ .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1))
+ .eut(aVoltage)
+ .recipeCategory(GTPPRecipeCategories.absNonAlloyRecipes)
+ .addTo(alloyBlastSmelterRecipes);
} else {
- mMaterialListSize = 1;
+ Logger.WARNING("[BAS] Failed.");
}
+ } else {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(tItemStackTest)
+ .fluidOutputs(M.getFluidStack(fluidAmount))
+ .eut(aVoltage)
+ .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1) / 2)
+ .addTo(alloyBlastSmelterRecipes);
+
+ Logger.WARNING("[BAS] Success.");
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Ingot.get(0))
+ .itemOutputs(M.getIngot(1))
+ .fluidInputs(M.getFluidStack(144))
+ .duration(duration / 2)
+ .eut(60)
+ .addTo(fluidSolidifierRecipes);
+
+ Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
+
+ }
+
+ if (tMaterial == null) {
+ Logger.WARNING("[BAS] doTest: " + doTest + " | tMaterial == null: true");
+ return;
+ }
+
+ // Reset the Variables for compounds if last recipe was a success.
+ inputStackCount = 0;
+
+ if (mMaterialListSize <= 1) {
+ return;
+ }
+ // If this Material has some kind of compound list, proceed
+
+ final gtPlusPlus.core.material.MaterialStack[] tempStack = new gtPlusPlus.core.material.MaterialStack[mMaterialListSize];
+ circuitGT = GT_Utility.getIntegratedCircuit(mMaterialListSize);
- if (duration <= 0) {
- final int second = 20;
- duration = 14 * second * mMaterialListSize * 8;
+ // Builds me a MaterialStack[] from the MaterialList of M.
+ int ooo = 0;
+ for (final gtPlusPlus.core.material.MaterialStack xMaterial : M.getComposites()) {
+ if (xMaterial == null) {
+ ooo++;
+ continue;
}
- Logger.WARNING("[BAS] Size: " + mMaterialListSize);
+ if (xMaterial.getStackMaterial() == null) {
+ tempStack[ooo] = xMaterial;
+ ooo++;
+ continue;
+ }
- // Make a simple one Material MaterialStack[] and log it for validity.
- circuitGT = ItemUtils.getGregtechCircuit(1);
- final ItemStack[] tItemStackTest = new ItemStack[] { circuitGT, tStack };
- inputStackCount = 1;
- fluidAmount = 144 * inputStackCount;
Logger.WARNING(
- "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName()
- + ". Gives "
- + fluidAmount
- + "L of molten metal.");
- for (int das = 0; das < tItemStackTest.length; das++) {
- if (tItemStackTest[das] != null) {
- Logger.WARNING(
- "[BAS] tMaterial[" + das
- + "]: "
- + tItemStackTest[das].getDisplayName()
- + " Meta: "
- + tItemStackTest[das].getItemDamage()
- + ", Amount: "
- + tItemStackTest[das].stackSize);
- }
+ "[BAS] FOUND: " + xMaterial.getStackMaterial()
+ .getLocalizedName());
+ Logger.WARNING(
+ "[BAS] ADDING: " + xMaterial.getStackMaterial()
+ .getLocalizedName());
+ tempStack[ooo] = xMaterial;
+ ooo++;
+ }
+
+ // Builds me an ItemStack[] of the materials. - Without a circuit - this gets a good count for
+ // the 144L fluid multiplier
+ components = new ItemStack[9];
+ inputStackCount = 0;
+ FluidStack componentsFluid = null;
+ for (int irc = 0; irc < M.getComposites()
+ .size(); irc++) {
+ if (M.getComposites()
+ .get(irc) == null) {
+ continue;
}
- final boolean hasMoreInputThanACircuit = (tItemStackTest.length > 1);
-
- // Generate Recipes for all singular materials that can be made molten.
- if (hasMoreInputThanACircuit) {
- if (M.requiresBlastFurnace()) {
- GT_Values.RA.stdBuilder()
- .itemInputs(tItemStackTest)
- .fluidOutputs(M.getFluidStack(fluidAmount))
- .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1))
- .eut(aVoltage)
- .recipeCategory(GTPPRecipeCategories.absNonAlloyRecipes)
- .addTo(GTPPRecipeMaps.alloyBlastSmelterRecipes);
- } else {
- Logger.WARNING("[BAS] Failed.");
+ final int r = (int) M.vSmallestRatio[irc];
+ inputStackCount = inputStackCount + r;
+ if ((M.getComposites()
+ .get(irc)
+ .getStackMaterial()
+ .getState() != MaterialState.SOLID) || !ItemUtils.checkForInvalidItems(
+ M.getComposites()
+ .get(irc)
+ .getDustStack(r))) {
+ final int xr = r;
+ if ((xr > 0) && (xr <= 100)) {
+ final int mathmatics = (r * 1000);
+ componentsFluid = FluidUtils.getFluidStack(
+ M.getComposites()
+ .get(irc)
+ .getStackMaterial()
+ .getFluidStack(mathmatics),
+ mathmatics);
}
} else {
- if (CORE.RA.addBlastSmelterRecipe(
- tItemStackTest,
- M.getFluidStack(fluidAmount),
- 100,
- duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1) / 2,
- (int) aVoltage)) {
- Logger.WARNING("[BAS] Success.");
- if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Ingot.get(0),
- M.getFluidStack(144),
- M.getIngot(1),
- duration / 2,
- 60)) {
- Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
- /*
- * if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100,
- * duration/2, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } if
- * (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100,
- * duration/2/9, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); }
- */
- /*
- * if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100,
- * duration/2/4, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); }
- * if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100,
- * duration/2/9, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); }
- */
- }
+ components[irc] = M.getComposites()
+ .get(irc)
+ .getUnificatedDustStack(r);
+ }
+ }
+
+ // Adds a circuit
+ if ((mMaterialListSize < 9) && (mMaterialListSize != 0)) {
+ final ItemStack[] components_NoCircuit = components;
+ // Builds me an ItemStack[] of the materials. - With a circuit
+ components = new ItemStack[components_NoCircuit.length + 1];
+ for (int fr = 0; fr < components.length; fr++) {
+ if (fr == 0) {
+ components[0] = circuitGT;
} else {
- Logger.WARNING("[BAS] Failed.");
+ components[fr] = components_NoCircuit[fr - 1];
}
}
+ Logger.WARNING(
+ "[BAS] Should have added a circuit. mMaterialListSize: " + mMaterialListSize
+ + " | circuit: "
+ + components[0].getDisplayName());
+ } else {
+ Logger.WARNING("[BAS] Did not add a circuit. mMaterialListSize: " + mMaterialListSize);
+ }
- if (tMaterial != null) {
- // Reset the Variables for compounds if last recipe was a success.
- inputStackCount = 0;
-
- // If this Material has some kind of compound list, proceed
- if (mMaterialListSize > 1) {
- final gtPlusPlus.core.material.MaterialStack[] tempStack = new gtPlusPlus.core.material.MaterialStack[mMaterialListSize];
- circuitGT = ItemUtils.getGregtechCircuit(mMaterialListSize);
- // Just double checking
- if (tempStack.length > 1) {
-
- // Builds me a MaterialStack[] from the MaterialList of M.
- int ooo = 0;
- for (final gtPlusPlus.core.material.MaterialStack xMaterial : M.getComposites()) {
- if (xMaterial != null) {
- if (xMaterial.getStackMaterial() != null) {
- Logger.WARNING(
- "[BAS] FOUND: " + xMaterial.getStackMaterial()
- .getLocalizedName());
- Logger.WARNING(
- "[BAS] ADDING: " + xMaterial.getStackMaterial()
- .getLocalizedName());
- }
- tempStack[ooo] = xMaterial;
- }
- ooo++;
- }
-
- // Builds me an ItemStack[] of the materials. - Without a circuit - this gets a good count for
- // the 144L fluid multiplier
- components = new ItemStack[9];
- inputStackCount = 0;
- FluidStack componentsFluid = null;
- for (int irc = 0; irc < M.getComposites()
- .size(); irc++) {
- if (M.getComposites()
- .get(irc) != null) {
- final int r = (int) M.vSmallestRatio[irc];
- inputStackCount = inputStackCount + r;
- if ((M.getComposites()
- .get(irc)
- .getStackMaterial()
- .getState() != MaterialState.SOLID)
- || !ItemUtils.checkForInvalidItems(
- M.getComposites()
- .get(irc)
- .getDustStack(r))) {
- final int xr = r;
- if ((xr > 0) && (xr <= 100)) {
- final int mathmatics = (r * 1000);
- componentsFluid = FluidUtils.getFluidStack(
- M.getComposites()
- .get(irc)
- .getStackMaterial()
- .getFluidStack(mathmatics),
- mathmatics);
- }
- } else {
- components[irc] = M.getComposites()
- .get(irc)
- .getUnificatedDustStack(r);
- }
- }
- }
-
- // Adds a circuit
- if ((mMaterialListSize < 9) && (mMaterialListSize != 0)) {
- final ItemStack[] components_NoCircuit = components;
- // Builds me an ItemStack[] of the materials. - With a circuit
- components = new ItemStack[components_NoCircuit.length + 1];
- for (int fr = 0; fr < components.length; fr++) {
- if (fr == 0) {
- components[0] = circuitGT;
- } else {
- components[fr] = components_NoCircuit[fr - 1];
- }
- }
- Logger.WARNING(
- "[BAS] Should have added a circuit. mMaterialListSize: " + mMaterialListSize
- + " | circuit: "
- + components[0].getDisplayName());
- } else {
- Logger.WARNING("[BAS] Did not add a circuit. mMaterialListSize: " + mMaterialListSize);
- }
-
- // Set Fluid output
- fluidAmount = 144 * inputStackCount;
-
- Logger.WARNING(
- "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName()
- + " using it's compound dusts. This material has "
- + inputStackCount
- + " parts. Gives "
- + fluidAmount
- + "L of molten metal.");
- Logger.WARNING("[BAS] tMaterial.length: " + components.length + ".");
- for (int das = 0; das < components.length; das++) {
- if (components[das] != null) {
- Logger.WARNING(
- "[BAS] tMaterial[" + das
- + "]: "
- + components[das].getDisplayName()
- + " Meta: "
- + components[das].getItemDamage()
- + ", Amount: "
- + components[das].stackSize);
- }
- }
-
- // Adds Recipe
- if (M.requiresBlastFurnace()) {
- if (CORE.RA.addBlastSmelterRecipe(
- components,
- componentsFluid,
- M.getFluidStack(fluidAmount),
- 100,
- duration,
- (int) aVoltage)) {
- Logger.WARNING("[BAS] Success.");
- } else {
- Logger.WARNING("[BAS] Failed.");
- }
- } else {
- if (CORE.RA.addBlastSmelterRecipe(
- components,
- componentsFluid,
- M.getFluidStack(fluidAmount),
- 100,
- duration,
- (int) aVoltage / 2)) {
- Logger.WARNING("[BAS] Success.");
- } else {
- Logger.WARNING("[BAS] Failed.");
- }
- }
- }
- }
- } else {
- Logger.WARNING("[BAS] doTest: " + doTest + " | tMaterial != null: " + (tMaterial != null));
+ // Set Fluid output
+ fluidAmount = 144 * inputStackCount;
+
+ Logger.WARNING(
+ "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName()
+ + " using it's compound dusts. This material has "
+ + inputStackCount
+ + " parts. Gives "
+ + fluidAmount
+ + "L of molten metal.");
+ Logger.WARNING("[BAS] tMaterial.length: " + components.length + ".");
+ for (int das = 0; das < components.length; das++) {
+ if (components[das] != null) {
+ Logger.WARNING(
+ "[BAS] tMaterial[" + das
+ + "]: "
+ + components[das].getDisplayName()
+ + " Meta: "
+ + components[das].getItemDamage()
+ + ", Amount: "
+ + components[das].stackSize);
}
}
+
+ // Adds Recipe
+ GT_RecipeBuilder builder = GT_Values.RA.stdBuilder();
+ List<ItemStack> inputs = Arrays.asList(components);
+ inputs.removeIf(Objects::isNull);
+ components = inputs.toArray(new ItemStack[0]);
+
+ builder = builder.itemInputs(components);
+ if (componentsFluid != null) {
+ builder.fluidInputs(componentsFluid);
+ }
+ builder.fluidOutputs(M.getFluidStack(fluidAmount));
+
+ if (M.requiresBlastFurnace()) {
+ builder.eut(aVoltage);
+ } else {
+ builder.eut(aVoltage / 2);
+ }
+ builder.duration(duration)
+ .addTo(alloyBlastSmelterRecipes);
+ Logger.WARNING("[BAS] Success.");
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java
index 5398a6a0b5..0ac39d39bc 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java
@@ -13,11 +13,11 @@ import org.apache.commons.lang3.ArrayUtils;
import gregtech.api.enums.GT_Values;
import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.minecraft.ItemStackData;
import gtPlusPlus.api.recipe.GTPPRecipeCategories;
import gtPlusPlus.api.recipe.GTPPRecipeMaps;
-import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
@@ -201,7 +201,7 @@ public class RecipeGen_BlastSmelterGT_GTNH {
// If no circuit was found, add a circuit here
if (!circuitFound) {
l = 1;
- newInput[0] = CI.getNumberedCircuit(inputs.length);
+ newInput[0] = GT_Utility.getIntegratedCircuit(inputs.length);
}
for (ItemStack y : inputs) {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
index 1499ea3cad..84e910c9b1 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java
@@ -1,6 +1,17 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.enums.GT_Values.RA;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.packagerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
+
+import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
import java.util.Set;
import net.minecraft.item.ItemStack;
@@ -12,13 +23,10 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.api.objects.data.AutoMap;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.material.state.MaterialState;
-import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.RecipeUtils;
@@ -113,11 +121,21 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
final ItemStack materialFrameBox = material.getFrameBox(1);
if (ItemUtils.checkForInvalidItems(materialBlock)) {
- GT_ModHandler.addPulverisationRecipe(materialBlock, material.getDust(9));
+ RA.stdBuilder()
+ .itemInputs(materialBlock)
+ .itemOutputs(material.getDust(9))
+ .eut(2)
+ .duration(20 * SECONDS)
+ .addTo(maceratorRecipes);
}
if (ItemUtils.checkForInvalidItems(materialFrameBox)) {
- GT_ModHandler.addPulverisationRecipe(materialFrameBox, material.getDust(2));
+ RA.stdBuilder()
+ .itemInputs(materialFrameBox)
+ .itemOutputs(material.getDust(2))
+ .eut(2)
+ .duration(20 * SECONDS)
+ .addTo(maceratorRecipes);
}
if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(tinyDust)) {
@@ -131,253 +149,270 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
}
// Is this a composite?
- if ((inputStacks != null) && !disableOptional) {
- // Is this a composite?
- Logger.WARNING("mixer length: " + inputStacks.length);
- if ((inputStacks.length != 0) && (inputStacks.length <= 4)) {
- // Log Input items
- Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
- final long[] inputStackSize = material.vSmallestRatio;
- Logger.WARNING("mixer is stacksizeVar null? " + (inputStackSize != null));
- // Is smallest ratio invalid?
- if (inputStackSize != null) {
- // set stack sizes on an input ItemStack[]
- for (short x = 0; x < inputStacks.length; x++) {
- if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) {
- inputStacks[x].stackSize = (int) inputStackSize[x];
- }
- }
- // Relog input values, with stack sizes
- Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
-
- // Get us four ItemStacks to input into the mixer
- ItemStack[] input = new ItemStack[4];
-
- input[0] = (inputStacks.length >= 1) ? ((inputStacks[0] == null) ? null : inputStacks[0]) : null;
- input[1] = (inputStacks.length >= 2) ? ((inputStacks[1] == null) ? null : inputStacks[1]) : null;
- input[2] = (inputStacks.length >= 3) ? ((inputStacks[2] == null) ? null : inputStacks[2]) : null;
- input[3] = (inputStacks.length >= 4) ? ((inputStacks[3] == null) ? null : inputStacks[3]) : null;
-
- if (inputStacks.length == 1) {
- input[1] = input[0];
- input[0] = CI.getNumberedCircuit(inputStacks.length + 10);
- } else if (inputStacks.length == 2) {
- input[2] = input[1];
- input[1] = input[0];
- input[0] = CI.getNumberedCircuit(inputStacks.length + 10);
-
- } else if (inputStacks.length == 3) {
- input[3] = input[2];
- input[2] = input[1];
- input[1] = input[0];
- input[0] = CI.getNumberedCircuit(inputStacks.length + 10);
- }
+ if ((inputStacks == null) || disableOptional) {
+ return;
+ }
- /*
- * for (int g = 0; g<4; g++) { if(inputStacks.length > g) { input[g] = inputStacks[g] != null ?
- * inputStacks[g] : null; } else { input[g] = CI.getNumberedCircuit(g+10); break; } }
- */
-
- // Add mixer Recipe
- FluidStack oxygen = GT_Values.NF;
- if (material.getComposites() != null) {
- for (final MaterialStack x : material.getComposites()) {
- if (!material.getComposites()
- .isEmpty()) {
- if (x != null) {
- if (x.getStackMaterial() != null) {
- if (x.getStackMaterial()
- .getDust(1) == null) {
- if (x.getStackMaterial()
- .getState() != MaterialState.SOLID
- && x.getStackMaterial()
- .getState() != MaterialState.ORE
- && x.getStackMaterial()
- .getState() != MaterialState.PLASMA) {
- oxygen = x.getStackMaterial()
- .getFluidStack(1000);
- break;
- }
- }
- }
- }
- }
- }
- }
+ // Is this a composite?
+ Logger.WARNING("mixer length: " + inputStacks.length);
+ if (!((inputStacks.length != 0) && (inputStacks.length <= 4))) {
+ return;
+ }
+ // Log Input items
+ Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
+ final long[] inputStackSize = material.vSmallestRatio;
+ Logger.WARNING("mixer is stacksizeVar null? " + (inputStackSize != null));
+ // Is smallest ratio invalid?
+ if (inputStackSize == null) {
+ return;
+ }
+ // set stack sizes on an input ItemStack[]
+ for (short x = 0; x < inputStacks.length; x++) {
+ if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) {
+ inputStacks[x].stackSize = (int) inputStackSize[x];
+ }
+ }
+ // Relog input values, with stack sizes
+ Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
+
+ // Get us four ItemStacks to input into the mixer
+ ItemStack[] input = new ItemStack[4];
+
+ input[0] = (inputStacks.length >= 1) ? ((inputStacks[0] == null) ? null : inputStacks[0]) : null;
+ input[1] = (inputStacks.length >= 2) ? ((inputStacks[1] == null) ? null : inputStacks[1]) : null;
+ input[2] = (inputStacks.length >= 3) ? ((inputStacks[2] == null) ? null : inputStacks[2]) : null;
+ input[3] = (inputStacks.length >= 4) ? ((inputStacks[3] == null) ? null : inputStacks[3]) : null;
+
+ if (inputStacks.length == 1) {
+ input[1] = input[0];
+ input[0] = GT_Utility.getIntegratedCircuit(inputStacks.length + 10);
+ } else if (inputStacks.length == 2) {
+ input[2] = input[1];
+ input[1] = input[0];
+ input[0] = GT_Utility.getIntegratedCircuit(inputStacks.length + 10);
+
+ } else if (inputStacks.length == 3) {
+ input[3] = input[2];
+ input[2] = input[1];
+ input[1] = input[0];
+ input[0] = GT_Utility.getIntegratedCircuit(inputStacks.length + 10);
+ }
- input = ItemUtils.cleanItemStackArray(input);
-
- // Add mixer Recipe
- if (GT_Values.RA.addMixerRecipe(
- input[0],
- input[1],
- input[2],
- input[3],
- oxygen,
- null,
- outputStacks,
- (int) Math.max(material.getMass() * 2L * 1, 1),
- material.vVoltageMultiplier)) // Was 6, but let's try 2. This makes Potin LV, for example.
- {
- Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ // Add mixer Recipe
+ FluidStack oxygen = GT_Values.NF;
+ if (material.getComposites() != null) {
+ for (final MaterialStack x : material.getComposites()) {
+ if (material.getComposites()
+ .isEmpty()) {
+ continue;
+ }
+ if (x == null) {
+ continue;
+ }
+ if (x.getStackMaterial() == null) {
+ continue;
+ }
- // Add Shapeless recipe for low tier alloys.
- /*
- * if (tVoltageMultiplier <= 30){ if (RecipeUtils.addShapedGregtechRecipe(inputStacks,
- * outputStacks)){
- * Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Success"); } else {
- * Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Failed"); } }
- */
+ if (x.getStackMaterial()
+ .getDust(1) != null) {
+ continue;
+ }
+
+ if (x.getStackMaterial()
+ .getState() != MaterialState.SOLID
+ && x.getStackMaterial()
+ .getState() != MaterialState.ORE
+ && x.getStackMaterial()
+ .getState() != MaterialState.PLASMA) {
+ oxygen = x.getStackMaterial()
+ .getFluidStack(1000);
+ break;
}
}
}
+
+ input = ItemUtils.cleanItemStackArray(input);
+
+ // Add mixer Recipe
+ List<ItemStack> inputs = Arrays.asList(input);
+ inputs.removeIf(Objects::isNull);
+
+ if (oxygen == null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs.toArray(new ItemStack[0]))
+ .itemOutputs(outputStacks)
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(mixerRecipes);
+ } else {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs.toArray(new ItemStack[0]))
+ .itemOutputs(outputStacks)
+ .fluidInputs(oxygen)
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(mixerRecipes);
+ }
+
+ Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success");
}
public static boolean addMixerRecipe_Standalone(final Material material) {
final ItemStack[] inputStacks = material.getMaterialComposites();
final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing);
// Is this a composite?
- if ((inputStacks != null)) {
- // Is this a composite?
- Logger.WARNING("mixer length: " + inputStacks.length);
- if ((inputStacks.length >= 1) && (inputStacks.length <= 4)) {
- // Log Input items
- Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
- final long[] inputStackSize = material.vSmallestRatio;
- Logger.WARNING("mixer is stacksizeVar not null? " + (inputStackSize != null));
- // Is smallest ratio invalid?
- if (inputStackSize != null) {
- // set stack sizes on an input ItemStack[]
- for (short x = 0; x < inputStacks.length; x++) {
- if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) {
- inputStacks[x].stackSize = (int) inputStackSize[x];
- }
- }
- // Relog input values, with stack sizes
- Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
-
- // Get us four ItemStacks to input into the mixer
- ItemStack input1, input2, input3, input4;
- input1 = inputStacks[0];
- input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1])
- : null;
- input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2])
- : null;
- input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3])
- : null;
-
- if (inputStacks.length == 1) {
- input2 = input1;
- input1 = CI.getNumberedCircuit(20);
- } else if (inputStacks.length == 2) {
- input3 = input2;
- input2 = input1;
- input1 = CI.getNumberedCircuit(20);
-
- } else if (inputStacks.length == 3) {
- input4 = input3;
- input3 = input2;
- input2 = input1;
- input1 = CI.getNumberedCircuit(20);
- }
+ if (inputStacks == null) {
+ Logger.WARNING("InputStacks == NUll - " + material.getLocalizedName());
+ return false;
+ }
- // Add mixer Recipe
- FluidStack oxygen = GT_Values.NF;
- if (material.getComposites() != null) {
- int compSlot = 0;
- for (final MaterialStack x : material.getComposites()) {
- if (!material.getComposites()
- .isEmpty()) {
- if (x != null) {
- if (x.getStackMaterial() != null) {
- if (x.getStackMaterial()
- .getDust(1) == null) {
- MaterialState f = x.getStackMaterial()
- .getState();
- if (f == MaterialState.GAS || f == MaterialState.LIQUID
- || f == MaterialState.PURE_LIQUID
- || f == MaterialState.PURE_GAS) {
- oxygen = x.getStackMaterial()
- .getFluidStack((int) (material.vSmallestRatio[compSlot] * 1000));
- }
- }
- }
- }
- }
- compSlot++;
- }
- }
+ // Is this a composite?
+ Logger.WARNING("mixer length: " + inputStacks.length);
+ if (!((inputStacks.length >= 1) && (inputStacks.length <= 4))) {
+ Logger.WARNING("InputStacks is out range 1-4 - " + material.getLocalizedName());
+ return false;
+ }
+ // Log Input items
+ Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
+ final long[] inputStackSize = material.vSmallestRatio;
+ Logger.WARNING("mixer is stacksizeVar not null? " + (inputStackSize != null));
+
+ // Is smallest ratio invalid?
+ if (inputStackSize == null) {
+ Logger.WARNING("inputStackSize == NUll - " + material.getLocalizedName());
+ return true;
+ }
- // Add mixer Recipe
- try {
- if (GT_Values.RA.addMixerRecipe(
- input1,
- input2,
- input3,
- input4,
- oxygen,
- null,
- outputStacks,
- (int) Math.max(material.getMass() * 2L * 1, 1),
- material.vVoltageMultiplier)) // Was 6, but let's try 2. This makes Potin LV, for
- // example.
- {
- Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success");
- return true;
- } else {
- Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Failed");
- return false;
- }
- } catch (Throwable t) {
- t.printStackTrace();
- }
- } else {
- Logger.WARNING("inputStackSize == NUll - " + material.getLocalizedName());
+ // set stack sizes on an input ItemStack[]
+ for (short x = 0; x < inputStacks.length; x++) {
+ if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) {
+ inputStacks[x].stackSize = (int) inputStackSize[x];
+ }
+ }
+
+ // Relog input values, with stack sizes
+ Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks));
+
+ // Get us four ItemStacks to input into the mixer
+ ItemStack input1, input2, input3, input4;
+ input1 = inputStacks[0];
+ input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1]) : null;
+ input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) : null;
+ input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) : null;
+
+ if (inputStacks.length == 1) {
+ input2 = input1;
+ input1 = GT_Utility.getIntegratedCircuit(20);
+ } else if (inputStacks.length == 2) {
+ input3 = input2;
+ input2 = input1;
+ input1 = GT_Utility.getIntegratedCircuit(20);
+
+ } else if (inputStacks.length == 3) {
+ input4 = input3;
+ input3 = input2;
+ input2 = input1;
+ input1 = GT_Utility.getIntegratedCircuit(20);
+ }
+
+ // Add mixer Recipe
+ FluidStack oxygen = GT_Values.NF;
+ if (material.getComposites() != null) {
+ int compSlot = 0;
+ for (final MaterialStack x : material.getComposites()) {
+
+ if (material.getComposites()
+ .isEmpty()) {
+ compSlot++;
+ continue;
+ }
+ if (x == null) {
+ compSlot++;
+ continue;
}
+
+ if (x.getStackMaterial() == null) {
+ compSlot++;
+ continue;
+ }
+
+ if (x.getStackMaterial()
+ .getDust(1) == null) {
+ compSlot++;
+ continue;
+ }
+
+ MaterialState f = x.getStackMaterial()
+ .getState();
+ if (f == MaterialState.GAS || f == MaterialState.LIQUID
+ || f == MaterialState.PURE_LIQUID
+ || f == MaterialState.PURE_GAS) {
+ oxygen = x.getStackMaterial()
+ .getFluidStack((int) (material.vSmallestRatio[compSlot] * 1000));
+ }
+ compSlot++;
+ }
+ }
+
+ // Add mixer Recipe
+ try {
+ if (oxygen == null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(input1, input2, input3, input4)
+ .itemOutputs(outputStacks)
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(mixerRecipes);
} else {
- Logger.WARNING("InputStacks is out range 1-4 - " + material.getLocalizedName());
+ GT_Values.RA.stdBuilder()
+ .itemInputs(input1, input2, input3, input4)
+ .itemOutputs(outputStacks)
+ .fluidInputs(oxygen)
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(mixerRecipes);
}
- } else {
- Logger.WARNING("InputStacks == NUll - " + material.getLocalizedName());
+
+ Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success");
+
+ } catch (Throwable t) {
+ t.printStackTrace();
}
- return false;
+ return true;
}
public static boolean generatePackagerRecipes(Material aMatInfo) {
- AutoMap<Boolean> aResults = new AutoMap<>();
// Small Dust
- aResults.put(
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(4L, new Object[] { aMatInfo.getSmallDust(4) }),
- ItemList.Schematic_Dust.get(0L, new Object[0]),
- aMatInfo.getDust(1),
- 100,
- 4));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(4, aMatInfo.getSmallDust(4)), ItemList.Schematic_Dust.get(0))
+ .itemOutputs(aMatInfo.getDust(1))
+ .duration(5 * SECONDS)
+ .eut(4)
+ .addTo(packagerRecipes);
+
// Tiny Dust
- aResults.put(
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(9L, new Object[] { aMatInfo.getTinyDust(9) }),
- ItemList.Schematic_Dust.get(0L, new Object[0]),
- aMatInfo.getDust(1),
- 100,
- 4));
-
- for (boolean b : aResults) {
- if (!b) {
- return false;
- }
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(4, aMatInfo.getTinyDust(9)), ItemList.Schematic_Dust.get(0))
+ .itemOutputs(aMatInfo.getDust(1))
+ .duration(5 * SECONDS)
+ .eut(4)
+ .addTo(packagerRecipes);
return true;
}
private void addMacerationRecipe(Material aMatInfo) {
try {
Logger.MATERIALS("Adding Maceration recipe for " + aMatInfo.getLocalizedName() + " Ingot -> Dusts");
- final int chance = (aMatInfo.vTier * 10) / MathUtils.randInt(10, 20);
- GT_ModHandler.addPulverisationRecipe(aMatInfo.getIngot(1), aMatInfo.getDust(1), null, chance);
+ int chance = (aMatInfo.vTier * 10) / MathUtils.randInt(10, 20);
+ chance = chance <= 0 ? 1000 : 100 * chance; // comes from RA1 -> RA2 conversion
+
+ RA.stdBuilder()
+ .itemInputs(aMatInfo.getIngot(1))
+ .itemOutputs(aMatInfo.getDust(1))
+ .outputChances(chance)
+ .eut(2)
+ .duration(20 * SECONDS)
+ .addTo(maceratorRecipes);
} catch (Throwable t) {
t.printStackTrace();
}
@@ -391,7 +426,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
if (aMatInfo.requiresBlastFurnace()) {
aOutput = aMatInfo.getHotIngot(1);
if (ItemUtils.checkForInvalidItems(aOutput)) {
- if (addBlastFurnaceRecipe(aMatInfo, aDust, null, aOutput, null, aMatInfo.getMeltingPointK())) {
+ if (addBlastFurnaceRecipe(aMatInfo, aDust, aOutput, aMatInfo.getMeltingPointK())) {
Logger
.MATERIALS("Successfully added a blast furnace recipe for " + aMatInfo.getLocalizedName());
} else {
@@ -403,7 +438,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
} else {
aOutput = aMatInfo.getIngot(1);
if (ItemUtils.checkForInvalidItems(aOutput)) {
- if (CORE.RA.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput)) {
+ if (GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput, false)) {
Logger.MATERIALS("Successfully added a furnace recipe for " + aMatInfo.getLocalizedName());
} else {
Logger.MATERIALS("Failed to add a furnace recipe for " + aMatInfo.getLocalizedName());
@@ -415,34 +450,26 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base {
}
}
- private boolean addBlastFurnaceRecipe(Material aMatInfo, final ItemStack input1, final ItemStack input2,
- final ItemStack output1, final ItemStack output2, final int tempRequired) {
-
- try {
- int timeTaken = 125 * aMatInfo.vTier * 10;
+ private boolean addBlastFurnaceRecipe(Material aMatInfo, final ItemStack input1, final ItemStack output1,
+ final int tempRequired) {
- if (aMatInfo.vTier <= 4) {
- timeTaken = 25 * aMatInfo.vTier * 10;
- }
- int aSlot = aMatInfo.vTier;
- if (aSlot < 2) {
- aSlot = 2;
- }
- long aVoltage = aMatInfo.vVoltageMultiplier;
-
- return GT_Values.RA.addBlastRecipe(
- input1,
- input2,
- GT_Values.NF,
- GT_Values.NF,
- output1,
- output2,
- timeTaken,
- (int) aVoltage,
- tempRequired);
- } catch (Throwable t) {
- t.printStackTrace();
- return false;
+ int timeTaken;
+ if (aMatInfo.vTier <= 4) {
+ timeTaken = 25 * aMatInfo.vTier * 10;
+ } else {
+ timeTaken = 125 * aMatInfo.vTier * 10;
}
+
+ long aVoltage = aMatInfo.vVoltageMultiplier;
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(input1)
+ .itemOutputs(output1)
+ .duration(timeTaken)
+ .eut(aVoltage)
+ .metadata(COIL_HEAT, tempRequired)
+ .addTo(blastFurnaceRecipes);
+ return true;
+
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
index a69a96b925..c559a77e23 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java
@@ -1,5 +1,8 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
import java.util.HashSet;
import java.util.Set;
@@ -50,110 +53,107 @@ public class RecipeGen_Extruder extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(material.getIngot(1))
&& ItemUtils.checkForInvalidItems(material.getBlock(1))) {
// Ingot Recipe
- if (GT_Values.RA.addExtruderRecipe(
- material.getBlock(1),
- shape_Ingot,
- material.getIngot(9),
- (int) Math.max(material.getMass() * 2L * 1, 1),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getBlock(1), shape_Ingot)
+ .itemOutputs(material.getIngot(9))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Success");
// Block Recipe
- if (GT_Values.RA.addExtruderRecipe(
- material.getIngot(9),
- shape_Block,
- material.getBlock(1),
- (int) Math.max(material.getMass() * 2L * 1, 1),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getIngot(9), shape_Block)
+ .itemOutputs(material.getBlock(1))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Success");
}
// Plate Recipe
if (ItemUtils.checkForInvalidItems(material.getIngot(1))
- && ItemUtils.checkForInvalidItems(material.getPlate(1)))
- if (GT_Values.RA.addExtruderRecipe(itemIngot, shape_Plate, itemPlate, 10, material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ && ItemUtils.checkForInvalidItems(material.getPlate(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Plate)
+ .itemOutputs(itemPlate)
+ .duration(10 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Success");
+ }
// Ring Recipe
- if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRing(1)))
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getRing(1))) {
if (!material.isRadioactive) {
- if (GT_Values.RA.addExtruderRecipe(
- itemIngot,
- shape_Ring,
- material.getRing(4),
- (int) Math.max(material.getMass() * 2L * 1, 1),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Ring)
+ .itemOutputs(material.getRing(4))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Success");
}
+ }
// Gear Recipe
if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getGear(1)))
if (!material.isRadioactive) {
- if (GT_Values.RA.addExtruderRecipe(
- material.getIngot(4),
- shape_Gear,
- itemGear,
- (int) Math.max(material.getMass() * 5L, 1),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getIngot(4), shape_Gear)
+ .itemOutputs(itemGear)
+ .duration((int) Math.max(material.getMass() * 5L, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Success");
}
// Rod Recipe
- if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRod(1)))
- if (GT_Values.RA.addExtruderRecipe(
- itemIngot,
- shape_Rod,
- material.getRod(2),
- (int) Math.max(material.getMass() * 2L * 1, 1),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Rod)
+ .itemOutputs(material.getRod(2))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Success");
+ }
// Bolt Recipe
if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1)))
if (!material.isRadioactive) {
- if (GT_Values.RA.addExtruderRecipe(
- itemIngot,
- shape_Bolt,
- material.getBolt(8),
- (int) Math.max(material.getMass() * 2L * 1, 1),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(itemIngot, shape_Bolt)
+ .itemOutputs(material.getBolt(8))
+ .duration((int) Math.max(material.getMass() * 2L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Success");
}
// Rotor Recipe
// Shape_Extruder_Rotor
if (ItemUtils.checkForInvalidItems(material.getIngot(1))
- && ItemUtils.checkForInvalidItems(material.getRotor(1)))
- if (GT_Values.RA.addExtruderRecipe(
- material.getIngot(5),
- ItemList.Shape_Extruder_Rotor.get(0),
- material.getRotor(1),
- (int) Math.max(material.getMass() * 5L * 1, 1),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ && ItemUtils.checkForInvalidItems(material.getRotor(1))) {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getIngot(5), ItemList.Shape_Extruder_Rotor.get(0))
+ .itemOutputs(material.getRotor(1))
+ .duration((int) Math.max(material.getMass() * 5L * 1, 1))
+ .eut(material.vVoltageMultiplier)
+ .addTo(extruderRecipes);
+
+ Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
index dd0c1b505c..06bb7a48c2 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java
@@ -1,5 +1,9 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
import java.util.HashSet;
import java.util.Set;
@@ -49,163 +53,156 @@ public class RecipeGen_Fluids extends RecipeGen_Base {
// Making Shapes from fluid
// Ingot
- if (ItemUtils.checkForInvalidItems(material.getIngot(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Ingot.get(0), // Item Shape
- material.getFluidStack(144), // Fluid Input
- material.getIngot(1), // output
- 32, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Ingot.get(0))
+ .itemOutputs(material.getIngot(1))
+ .fluidInputs(material.getFluidStack(144))
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING("144l fluid molder for 1 ingot Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("144l fluid molder for 1 ingot Recipe: " + material.getLocalizedName() + " - Failed");
}
// Plate
- if (ItemUtils.checkForInvalidItems(material.getPlate(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Plate.get(0), // Item Shape
- material.getFluidStack(144), // Fluid Input
- material.getPlate(1), // output
- 32, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getPlate(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Plate.get(0))
+ .itemOutputs(material.getPlate(1))
+ .fluidInputs(material.getFluidStack(144))
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING("144l fluid molder for 1 plate Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("144l fluid molder for 1 plate Recipe: " + material.getLocalizedName() + " - Failed");
}
// Nugget
- if (ItemUtils.checkForInvalidItems(material.getNugget(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Nugget.get(0), // Item Shape
- material.getFluidStack(16), // Fluid Input
- material.getNugget(1), // output
- 16, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getNugget(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Nugget.get(0))
+ .itemOutputs(material.getNugget(1))
+ .fluidInputs(material.getFluidStack(16))
+ .duration(16 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING("16l fluid molder for 1 nugget Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("16l fluid molder for 1 nugget Recipe: " + material.getLocalizedName() + " - Failed");
}
// Gears
- if (ItemUtils.checkForInvalidItems(material.getGear(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Gear.get(0), // Item Shape
- material.getFluidStack(576), // Fluid Input
- material.getGear(1), // output
- 128, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getGear(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Gear.get(0))
+ .itemOutputs(material.getGear(1))
+ .fluidInputs(material.getFluidStack(576))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING("576l fluid molder for 1 gear Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("576l fluid molder for 1 gear Recipe: " + material.getLocalizedName() + " - Failed");
+
}
// Blocks
- if (ItemUtils.checkForInvalidItems(material.getBlock(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Block.get(0), // Item Shape
- material.getFluidStack(144 * 9), // Fluid Input
- material.getBlock(1), // output
- 288, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getBlock(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Block.get(0))
+ .itemOutputs(material.getBlock(1))
+ .fluidInputs(material.getFluidStack(144 * 9))
+ .duration(14 * SECONDS + 8 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING(
(144 * 9) + "l fluid molder from 1 block Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING(
- (144 * 9) + "l fluid molder from 1 block Recipe: " + material.getLocalizedName() + " - Failed");
}
- // GTNH
-
// Rod
- if (ItemUtils.checkForInvalidItems(material.getRod(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Rod.get(0), // Item Shape
- material.getFluidStack(72), // Fluid Input
- material.getRod(1), // output
- 150, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Rod.get(0))
+ .itemOutputs(material.getRod(1))
+ .fluidInputs(material.getFluidStack(72))
+ .duration(7 * SECONDS + 10 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING(
(144 * 9) + "l fluid molder from 1 rod Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING(
- (144 * 9) + "l fluid molder from 1 rod Recipe: " + material.getLocalizedName() + " - Failed");
}
// Rod Long
- if (ItemUtils.checkForInvalidItems(material.getLongRod(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Rod_Long.get(0), // Item
- // Shape
- material.getFluidStack(144), // Fluid Input
- material.getLongRod(1), // output
- 300, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getLongRod(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Rod_Long.get(0))
+ .itemOutputs(material.getLongRod(1))
+ .fluidInputs(material.getFluidStack(144))
+ .duration(15 * SECONDS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING(
(144 * 9) + "l fluid molder from 1 rod long Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING(
- (144 * 9) + "l fluid molder from 1 rod long Recipe: " + material.getLocalizedName() + " - Failed");
}
// Bolt
- if (ItemUtils.checkForInvalidItems(material.getBolt(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Bolt.get(0), // Item Shape
- material.getFluidStack(18), // Fluid Input
- material.getBolt(1), // output
- 50, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getBolt(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Bolt.get(0))
+ .itemOutputs(material.getBolt(1))
+ .fluidInputs(material.getFluidStack(18))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING(
(144 * 9) + "l fluid molder from 1 bolt Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING(
- (144 * 9) + "l fluid molder from 1 bolt Recipe: " + material.getLocalizedName() + " - Failed");
}
// Screw
- if (ItemUtils.checkForInvalidItems(material.getScrew(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Screw.get(0), // Item Shape
- material.getFluidStack(18), // Fluid Input
- material.getScrew(1), // output
- 50, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getScrew(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Screw.get(0))
+ .itemOutputs(material.getScrew(1))
+ .fluidInputs(material.getFluidStack(18))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING(
(144 * 9) + "l fluid molder from 1 screw Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING(
- (144 * 9) + "l fluid molder from 1 screw Recipe: " + material.getLocalizedName() + " - Failed");
+
}
// Ring
- if (ItemUtils.checkForInvalidItems(material.getRing(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Ring.get(0), // Item Shape
- material.getFluidStack(36), // Fluid Input
- material.getRing(1), // output
- 100, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getRing(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Ring.get(0))
+ .itemOutputs(material.getRing(1))
+ .fluidInputs(material.getFluidStack(36))
+ .duration(5 * SECONDS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING(
(144 * 9) + "l fluid molder from 1 ring Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING(
- (144 * 9) + "l fluid molder from 1 ring Recipe: " + material.getLocalizedName() + " - Failed");
+
}
// Rotor
- if (ItemUtils.checkForInvalidItems(material.getRotor(1))) if (GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Rotor.get(0), // Item Shape
- material.getFluidStack(612), // Fluid Input
- material.getRotor(1), // output
- 100, // Duration
- material.vVoltageMultiplier // Eu Tick
- )) {
+ if (ItemUtils.checkForInvalidItems(material.getRotor(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Rotor.get(0))
+ .itemOutputs(material.getRotor(1))
+ .fluidInputs(material.getFluidStack(612))
+ .duration(5 * SECONDS)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidSolidifierRecipes);
+
Logger.WARNING(
(144 * 9) + "l fluid molder from 1 rotor Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING(
- (144 * 9) + "l fluid molder from 1 rotor Recipe: " + material.getLocalizedName() + " - Failed");
}
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
index a3ba819fb6..8d0ed2ff1d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
@@ -1,5 +1,15 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
+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 gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes;
+
import java.util.HashSet;
import java.util.Set;
@@ -7,10 +17,8 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
-import gregtech.api.util.GT_ModHandler;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
@@ -142,126 +150,122 @@ public class RecipeGen_Fluorite extends RecipeGen_Base {
* Macerate
*/
// Macerate ore to Crushed
- if (GT_Values.RA.addPulveriserRecipe(
- material.getOre(1),
- new ItemStack[] { material.getCrushed(2) },
- new int[] { 10000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getOre(1))
+ .itemOutputs(material.getCrushed(2))
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
+
// Macerate raw ore to Crushed
- if (GT_Values.RA.addPulveriserRecipe(
- material.getRawOre(1),
- new ItemStack[] { material.getCrushed(2) },
- new int[] { 10000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getRawOre(1))
+ .itemOutputs(material.getCrushed(2))
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'");
// Macerate Centrifuged to Pure Dust
- if (GT_Values.RA.addPulveriserRecipe(
- material.getCrushedCentrifuged(1),
- new ItemStack[] { matDust, matDustA },
- new int[] { 10000, 1000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'");
- }
- if (GT_ModHandler.addThermalCentrifugeRecipe(
- material.getCrushedPurified(1),
- (int) Math.min(5000L, Math.abs(material.getMass() * 20L)),
- material.getCrushedCentrifuged(1),
- tinyDustA,
- dustStone)) {
- Logger.MATERIALS(
- "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "
- + material.getCrushedPurified(1)
- .getDisplayName()
- + " | Outputs: "
- + material.getCrushedCentrifuged(1)
- .getDisplayName()
- + ", "
- + tinyDustA.getDisplayName()
- + ", "
- + dustStone.getDisplayName()
- + ".");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedCentrifuged(1))
+ .itemOutputs(matDust, matDustA)
+ .outputChances(100_00, 10_00)
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'");
- GT_Values.RA.addChemicalBathRecipe(
- FLUORIDES.FLUORITE.getCrushed(2),
- FluidUtils.getFluidStack("hydrogen", 2000),
- FLUORIDES.FLUORITE.getCrushedPurified(8),
- FLUORIDES.FLUORITE.getDustImpure(4),
- FLUORIDES.FLUORITE.getDustPurified(2),
- new int[] { 10000, 5000, 1000 },
- 30 * 20,
- 240);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedPurified(1))
+ .itemOutputs(material.getCrushedCentrifuged(1), tinyDustA, dustStone)
+ .duration(25 * SECONDS)
+ .eut(48)
+ .addTo(thermalCentrifugeRecipes);
+
+ Logger.MATERIALS(
+ "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "
+ + material.getCrushedPurified(1)
+ .getDisplayName()
+ + " | Outputs: "
+ + material.getCrushedCentrifuged(1)
+ .getDisplayName()
+ + ", "
+ + tinyDustA.getDisplayName()
+ + ", "
+ + dustStone.getDisplayName()
+ + ".");
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(FLUORIDES.FLUORITE.getCrushed(2))
+ .itemOutputs(
+ FLUORIDES.FLUORITE.getCrushedPurified(8),
+ FLUORIDES.FLUORITE.getDustImpure(4),
+ FLUORIDES.FLUORITE.getDustPurified(2))
+ .outputChances(100_00, 50_00, 10_00)
+ .fluidInputs(FluidUtils.getFluidStack("hydrogen", 2000))
+ .duration(30 * SECONDS)
+ .eut(240)
+ .addTo(chemicalBathRecipes);
/**
* Forge Hammer
*/
- if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier / 4)) {
- Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'");
- }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedCentrifuged(1))
+ .itemOutputs(matDust)
+ .duration(10 * TICKS)
+ .eut(tVoltageMultiplier / 4)
+ .addTo(hammerRecipes);
+
+ Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'");
/**
* Centrifuge
*/
// Purified Dust to Clean
- if (GT_Values.RA.addCentrifugeRecipe(
- material.getDustPurified(1),
- null,
- null, // In Fluid
- null, // Out Fluid
- matDust,
- tinyDustA,
- null,
- null,
- null,
- null,
- new int[] { 10000, 10000 }, // Chances
- (int) Math.max(1L, material.getMass() * 8L), // Time
- tVoltageMultiplier / 2)) { // Eu
- Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getDustPurified(1))
+ .itemOutputs(matDust, tinyDustA)
+ .eut(tVoltageMultiplier / 2)
+ .duration((int) Math.max(1L, material.getMass() * 8L))
+ .addTo(centrifugeRecipes);
+
+ Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust");
// Impure Dust to Clean
- if (GT_Values.RA.addCentrifugeRecipe(
- material.getDustImpure(1),
- null,
- null, // In Fluid
- null, // Out Fluid
- matDust,
- tinyDustB,
- null,
- null,
- null,
- null,
- new int[] { 10000, 10000 }, // Chances
- (int) Math.max(1L, material.getMass() * 8L), // Time
- tVoltageMultiplier / 2)) { // Eu
- Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getDustImpure(1))
+ .itemOutputs(matDust, tinyDustB)
+ .eut(tVoltageMultiplier / 2)
+ .duration((int) Math.max(1L, material.getMass() * 8L))
+ .addTo(centrifugeRecipes);
+
+ Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust");
// CaF2 + H2SO4 → CaSO4(solid) + 2 HF
FluidStack aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 16000);
if (aGregtechHydro == null) {
aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid", 16000);
}
-
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.getNumberedAdvancedCircuit(5), FLUORIDES.FLUORITE.getDust(37), },
- FluidUtils.getFluidStack("sulfuricacid", 8000),
- aGregtechHydro, // Fluid output (slot 2)
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 15),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(5), FLUORIDES.FLUORITE.getDust(37))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 15),
ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 2),
ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2) },
- new int[] { 10000, 1000, 1000, 3000, 2000 },
- 10 * 60 * 20,
- 240); // EU
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2))
+ .outputChances(100_00, 10_00, 10_00, 30_00, 20_00)
+ .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 8000))
+ .fluidOutputs(aGregtechHydro)
+ .eut(240)
+ .duration(10 * MINUTES)
+ .addTo(chemicalDehydratorRecipes);
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
index 83bbe6a6d7..6b96b558f9 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java
@@ -1,17 +1,22 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes;
+
+import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
import java.util.Set;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.data.Pair;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.MaterialStack;
@@ -143,6 +148,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
+ " as input.");
} else {
Logger.MATERIALS("[Centrifuge] Could not find valid input dust, exiting.");
+ return;
}
}
@@ -156,32 +162,33 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
}
}
- try {
- if (addCentrifgeRecipe(
- mainDust,
- emptyCell, // input 2
- null, // Input fluid 1
- null, // Output fluid 1
- mInternalOutputs[0],
- mInternalOutputs[1],
- mInternalOutputs[2],
- mInternalOutputs[3],
- mInternalOutputs[4],
- mInternalOutputs[5],
- mChances,
- 20 * 1 * (tVoltageMultiplier / 10),
- tVoltageMultiplier)) {
- Logger.MATERIALS(
- "[Centrifuge] Generated Centrifuge recipe for " + material.getDust(1)
- .getDisplayName());
- } else {
- Logger.MATERIALS(
- "[Centrifuge] Failed to generate Centrifuge recipe for " + material.getDust(1)
- .getDisplayName());
- }
- } catch (Throwable t) {
- t.printStackTrace();
+ // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct
+ // order
+ List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs);
+ internalOutputs.removeIf(Objects::isNull);
+ int[] chances = new int[internalOutputs.size()];
+ for (int i = 0; i < internalOutputs.size(); i++) {
+ chances[i] = mChances[i];
+ }
+
+ ItemStack[] inputs;
+ if (emptyCell == null) {
+ inputs = new ItemStack[] { mainDust };
+ } else {
+ inputs = new ItemStack[] { mainDust, emptyCell };
}
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs)
+ .itemOutputs(internalOutputs.toArray(new ItemStack[0]))
+ .outputChances(chances)
+ .eut(tVoltageMultiplier)
+ .duration((tVoltageMultiplier / 10) * SECONDS)
+ .addTo(centrifugeRecipes);
+
+ Logger.MATERIALS(
+ "[Centrifuge] Generated Centrifuge recipe for " + material.getDust(1)
+ .getDisplayName());
+
} else if (componentMap.size() > 6 && componentMap.size() <= 9) {
Logger.MATERIALS(
"[Issue][Electrolyzer] " + material.getLocalizedName()
@@ -258,6 +265,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
+ " as input.");
} else {
Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting.");
+ return;
}
}
@@ -270,49 +278,34 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base {
"[Dehydrator] Set slot " + j + " to " + mInternalOutputs[j].getDisplayName() + ".");
}
}
+ // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct
+ // order
+ List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs);
+ internalOutputs.removeIf(Objects::isNull);
+ int[] chances = new int[internalOutputs.size()];
+ for (int i = 0; i < internalOutputs.size(); i++) {
+ chances[i] = mChances[i];
+ }
- try {
-
- if (CORE.RA.addDehydratorRecipe(
- new ItemStack[] { mainDust, emptyCell },
- null,
- null,
- mInternalOutputs,
- mChances,
- 20 * 1 * (tVoltageMultiplier / 10),
- tVoltageMultiplier)) {
- Logger.MATERIALS(
- "[Dehydrator] Generated Dehydrator recipe for " + material.getDust(1)
- .getDisplayName());
- } else {
- Logger.MATERIALS(
- "[Dehydrator] Failed to generate Dehydrator recipe for " + material.getDust(1)
- .getDisplayName());
- }
- } catch (Throwable t) {
- t.printStackTrace();
+ ItemStack[] inputs;
+ if (emptyCell == null) {
+ inputs = new ItemStack[] { mainDust };
+ } else {
+ inputs = new ItemStack[] { mainDust, emptyCell };
}
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs)
+ .itemOutputs(internalOutputs.toArray(new ItemStack[0]))
+ .outputChances(chances)
+ .eut(tVoltageMultiplier)
+ .duration(20 * (tVoltageMultiplier / 10))
+ .addTo(chemicalDehydratorRecipes);
+
+ Logger.MATERIALS(
+ "[Dehydrator] Generated Dehydrator recipe for " + material.getDust(1)
+ .getDisplayName());
}
}
}
-
- @Deprecated
- public static boolean addCentrifgeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput,
- FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4,
- ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) {
- return GT_Values.RA.addCentrifugeRecipe(
- aInput1,
- aInput2,
- aFluidInput,
- aFluidOutput,
- aOutput1,
- aOutput2,
- aOutput3,
- aOutput4,
- aOutput5,
- aOutput6,
- aChances,
- aDuration,
- aEUt);
- }
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java
index f11b97cbda..ce17a8724c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java
@@ -1,13 +1,18 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
+import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import java.util.HashSet;
import java.util.Set;
import gregtech.api.enums.GT_Values;
-import gregtech.api.util.GT_ModHandler;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.util.minecraft.ItemUtils;
@@ -34,79 +39,83 @@ public class RecipeGen_MetalRecipe extends RecipeGen_Base {
Logger.WARNING("Generating Metal recipes for " + material.getLocalizedName());
if (ItemUtils.checkForInvalidItems(material.getIngot(1))
- && ItemUtils.checkForInvalidItems(material.getBlock(1)))
- if (GT_ModHandler.addCompressionRecipe(material.getIngot(9), material.getBlock(1))) {
- Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Failed");
- }
-
- if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRod(1)))
- if (GT_Values.RA.addLatheRecipe(
- material.getIngot(1),
- material.getRod(1),
- material.getSmallDust(2),
- (int) Math.max(material.getMass() / 8L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Failed");
- }
-
- if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1)))
- if (GT_Values.RA.addCutterRecipe(
- material.getRod(1),
- material.getBolt(4),
- null,
- (int) Math.max(material.getMass() * 2L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ && ItemUtils.checkForInvalidItems(material.getBlock(1))) {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getIngot(9))
+ .itemOutputs(material.getBlock(1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+ Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Success");
+
+ }
+
+ if (ItemUtils.checkForInvalidItems(material.getIngot(1))
+ && ItemUtils.checkForInvalidItems(material.getRod(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getIngot(1))
+ .itemOutputs(material.getRod(1), material.getSmallDust(2))
+ .duration(Math.max(material.getMass() / 8L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(latheRecipes);
+
+ Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getRod(1))
+ .itemOutputs(material.getBolt(4))
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(cutterRecipes);
+
+ Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Success");
+ }
if (ItemUtils.checkForInvalidItems(material.getIngot(1))
- && ItemUtils.checkForInvalidItems(material.getHotIngot(1)))
- if (CORE.RA.addVacuumFreezerRecipe(
- material.getHotIngot(1),
- material.getIngot(1),
- (int) Math.max(material.getMass() * 3L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ && ItemUtils.checkForInvalidItems(material.getHotIngot(1))) {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getHotIngot(1))
+ .itemOutputs(material.getIngot(1))
+ .duration((int) Math.max(material.getMass() * 3L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(vacuumFreezerRecipes);
+ Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Success");
+ }
if (ItemUtils.checkForInvalidItems(material.getRod(1))
&& ItemUtils.checkForInvalidItems(material.getLongRod(1))) {
- if (GT_Values.RA.addForgeHammerRecipe(
- material.getRod(2),
- material.getLongRod(1),
- (int) Math.max(material.getMass(), 1L),
- 16)) {
- Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Failed");
- }
-
- GT_Values.RA.addCutterRecipe(
- material.getLongRod(1),
- material.getRod(2),
- null,
- (int) Math.max(material.getMass(), 1L),
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getRod(2))
+ .itemOutputs(material.getLongRod(1))
+ .duration((int) Math.max(material.getMass(), 1L))
+ .eut(16)
+ .addTo(hammerRecipes);
+
+ Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Success");
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getLongRod(1))
+ .itemOutputs(material.getRod(2))
+ .duration(Math.max(material.getMass(), 1L))
+ .eut(4)
+ .addTo(cutterRecipes);
+
}
- if (ItemUtils.checkForInvalidItems(material.getBolt(1)) && ItemUtils.checkForInvalidItems(material.getScrew(1)))
- if (GT_Values.RA.addLatheRecipe(
- material.getBolt(1),
- material.getScrew(1),
- null,
- (int) Math.max(material.getMass() / 8L, 1L),
- 4)) {
- Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(material.getBolt(1))
+ && ItemUtils.checkForInvalidItems(material.getScrew(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getBolt(1))
+ .itemOutputs(material.getScrew(1))
+ .duration(Math.max(material.getMass() / 8L, 1L))
+ .eut(4)
+ .addTo(latheRecipes);
+
+ Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Success");
+ }
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index 32d6a1066b..eb55f2989c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -1,11 +1,22 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes;
+
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
import java.util.Set;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
@@ -14,7 +25,6 @@ import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.data.Pair;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.MaterialStack;
@@ -195,50 +205,57 @@ public class RecipeGen_Ore extends RecipeGen_Base {
* Macerate
*/
// Macerate ore to Crushed
- if (GT_Values.RA.addPulveriserRecipe(
- material.getOre(1),
- new ItemStack[] { material.getCrushed(2) },
- new int[] { 10000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getOre(1))
+ .itemOutputs(material.getCrushed(2))
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
+
// Macerate raw ore to Crushed
- if (GT_Values.RA.addPulveriserRecipe(
- material.getRawOre(1),
- new ItemStack[] { material.getCrushed(2) },
- new int[] { 10000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getRawOre(1))
+ .itemOutputs(material.getCrushed(2))
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'");
+
// Macerate Crushed to Impure Dust
- if (GT_Values.RA.addPulveriserRecipe(
- material.getCrushed(1),
- new ItemStack[] { material.getDustImpure(1), matDustA },
- new int[] { 10000, 1000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushed(1))
+ .itemOutputs(material.getDustImpure(1), matDustA)
+ .outputChances(100_00, 10_00)
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'");
+
// Macerate Washed to Purified Dust
- if (GT_Values.RA.addPulveriserRecipe(
- material.getCrushedPurified(1),
- new ItemStack[] { material.getDustPurified(1), matDustA },
- new int[] { 10000, 1000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedPurified(1))
+ .itemOutputs(material.getDustPurified(1), matDustA)
+ .outputChances(100_00, 10_00)
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'");
+
// Macerate Centrifuged to Pure Dust
- if (GT_Values.RA.addPulveriserRecipe(
- material.getCrushedCentrifuged(1),
- new ItemStack[] { matDust, matDustA },
- new int[] { 10000, 1000 },
- 20 * 20,
- tVoltageMultiplier / 2)) {
- Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedCentrifuged(1))
+ .itemOutputs(matDust, matDustA)
+ .outputChances(100_00, 10_00)
+ .duration(20 * SECONDS)
+ .eut(tVoltageMultiplier / 2)
+ .addTo(maceratorRecipes);
+
+ Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'");
/**
* Wash
@@ -280,14 +297,16 @@ public class RecipeGen_Ore extends RecipeGen_Base {
try {
// .08 compat
- if (GT_ModHandler.addThermalCentrifugeRecipe(
- material.getCrushed(1),
- new int[] { 10000, 1111, 10000 },
- (int) Math.min(5000L, Math.abs(material.getMass() * 20L)),
- material.getCrushedCentrifuged(1),
- matDustB,
- dustStone)) {
- Logger.MATERIALS(
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushed(1))
+ .itemOutputs(material.getCrushedCentrifuged(1), matDustB, dustStone)
+ .outputChances(100_00, 11_11, 100_00)
+ .duration(25 * SECONDS)
+ .eut(48)
+ .addTo(thermalCentrifugeRecipes);
+
+ Logger
+ .MATERIALS(
"[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: "
+ material.getCrushed(1)
.getDisplayName()
@@ -299,86 +318,85 @@ public class RecipeGen_Ore extends RecipeGen_Base {
+ ", "
+ dustStone.getDisplayName()
+ ".");
- }
+
} catch (Throwable t) {}
try {
- if (GT_ModHandler.addThermalCentrifugeRecipe(
- material.getCrushedPurified(1),
- new int[] { 10000, 1111, 10000 },
- (int) Math.min(5000L, Math.abs(material.getMass() * 20L)),
- material.getCrushedCentrifuged(1),
- matDustA,
- dustStone)) {
- Logger.MATERIALS(
- "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "
- + material.getCrushedPurified(1)
- .getDisplayName()
- + " | Outputs: "
- + material.getCrushedCentrifuged(1)
- .getDisplayName()
- + ", "
- + matDustA.getDisplayName()
- + ", "
- + dustStone.getDisplayName()
- + ".");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedPurified(1))
+ .itemOutputs(material.getCrushedCentrifuged(1), matDustA, dustStone)
+ .outputChances(100_00, 11_11, 100_00)
+ .duration(25 * SECONDS)
+ .eut(48)
+ .addTo(thermalCentrifugeRecipes);
+
+ Logger.MATERIALS(
+ "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: "
+ + material.getCrushedPurified(1)
+ .getDisplayName()
+ + " | Outputs: "
+ + material.getCrushedCentrifuged(1)
+ .getDisplayName()
+ + ", "
+ + matDustA.getDisplayName()
+ + ", "
+ + dustStone.getDisplayName()
+ + ".");
+
} catch (Throwable t) {}
/**
* Forge Hammer
*/
- if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier / 4)) {
- Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'");
- }
- if (GT_Values.RA.addForgeHammerRecipe(
- material.getCrushedPurified(1),
- material.getDustPurified(1),
- 10,
- tVoltageMultiplier / 4)) {
- Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'");
- }
- if (GT_Values.RA.addForgeHammerRecipe(material.getOre(1), material.getCrushed(1), 10, tVoltageMultiplier / 4)) {
- Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedCentrifuged(1))
+ .itemOutputs(matDust)
+ .duration(10 * TICKS)
+ .eut(tVoltageMultiplier / 4)
+ .addTo(hammerRecipes);
+
+ Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'");
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getCrushedPurified(1))
+ .itemOutputs(material.getDustPurified(1))
+ .duration(10 * TICKS)
+ .eut(tVoltageMultiplier / 4)
+ .addTo(hammerRecipes);
+ Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'");
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getOre(1))
+ .itemOutputs(material.getCrushed(1))
+ .duration(10 * TICKS)
+ .eut(tVoltageMultiplier / 4)
+ .addTo(hammerRecipes);
+
+ Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'");
/**
* Centrifuge
*/
// Purified Dust to Clean
- if (GT_Values.RA.addCentrifugeRecipe(
- material.getDustPurified(1),
- null,
- null, // In Fluid
- null, // Out Fluid
- matDust,
- matDustA,
- null,
- null,
- null,
- null,
- new int[] { 10000, 1111 }, // Chances
- (int) Math.max(1L, material.getMass() * 8L), // Time
- tVoltageMultiplier / 2)) { // Eu
- Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getDustPurified(1))
+ .itemOutputs(matDust, matDustA)
+ .outputChances(100_00, 11_11)
+ .eut(tVoltageMultiplier / 2)
+ .duration((int) Math.max(1L, material.getMass() * 8L))
+ .addTo(centrifugeRecipes);
+
+ Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust");
// Impure Dust to Clean
- if (GT_Values.RA.addCentrifugeRecipe(
- material.getDustImpure(1),
- null,
- null, // In Fluid
- null, // Out Fluid
- matDust,
- matDustB,
- null,
- null,
- null,
- null,
- new int[] { 10000, 1111 }, // Chances
- (int) Math.max(1L, material.getMass() * 8L), // Time
- tVoltageMultiplier / 2)) { // Eu
- Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust");
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getDustImpure(1))
+ .itemOutputs(matDust, matDustB)
+ .outputChances(100_00, 11_11)
+ .eut(tVoltageMultiplier / 2)
+ .duration((int) Math.max(1L, material.getMass() * 8L))
+ .addTo(centrifugeRecipes);
+
+ Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust");
/**
* Electrolyzer
@@ -458,6 +476,7 @@ public class RecipeGen_Ore extends RecipeGen_Base {
+ " as input.");
} else {
Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, exiting.");
+ return;
}
}
@@ -471,30 +490,30 @@ public class RecipeGen_Ore extends RecipeGen_Base {
}
}
- try {
- if (addElectrolyzerRecipe(
- mainDust,
- emptyCell, // input 2
- null, // Input fluid 1
- null, // Output fluid 1
- mInternalOutputs[0],
- mInternalOutputs[1],
- mInternalOutputs[2],
- mInternalOutputs[3],
- mInternalOutputs[4],
- mInternalOutputs[5],
- mChances,
- (int) Math.max(material.getMass() * 3L * 1, 1),
- tVoltageMultiplier)) {
- Logger
- .MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for " + matDust.getDisplayName());
- } else {
- Logger.MATERIALS(
- "[Electrolyzer] Failed to generate Electrolyzer recipe for " + matDust.getDisplayName());
- }
- } catch (Throwable t) {
- t.printStackTrace();
+ // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct
+ // order
+ List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs);
+ internalOutputs.removeIf(Objects::isNull);
+ int[] chances = new int[internalOutputs.size()];
+ for (int i = 0; i < internalOutputs.size(); i++) {
+ chances[i] = mChances[i];
+ }
+ ItemStack[] inputs;
+ if (emptyCell == null) {
+ inputs = new ItemStack[] { mainDust };
+ } else {
+ inputs = new ItemStack[] { mainDust, emptyCell };
}
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs)
+ .itemOutputs(internalOutputs.toArray(new ItemStack[0]))
+ .outputChances(chances)
+ .duration(Math.max(material.getMass() * 3L * 1, 1))
+ .eut(tVoltageMultiplier)
+ .addTo(electrolyzerRecipes);
+
+ Logger.MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for " + matDust.getDisplayName());
+
} else if (componentMap.size() > 6 && componentMap.size() <= 9) {
Logger.MATERIALS(
"[Issue][Electrolyzer] " + material.getLocalizedName()
@@ -573,6 +592,7 @@ public class RecipeGen_Ore extends RecipeGen_Base {
+ " as input.");
} else {
Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting.");
+ return;
}
}
@@ -586,33 +606,42 @@ public class RecipeGen_Ore extends RecipeGen_Base {
}
}
- try {
- if (CORE.RA.addDehydratorRecipe(
- new ItemStack[] { mainDust, emptyCell },
- null,
- null,
- mInternalOutputs,
- mChances,
- (int) Math.max(material.getMass() * 4L * 1, 1),
- tVoltageMultiplier)) {
- Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for " + matDust.getDisplayName());
- Logger.MATERIALS(
- "Inputs: " + mainDust.getDisplayName()
- + " x"
- + mainDust.stackSize
- + ", "
- + (emptyCell == null ? "No Cells"
- : "" + emptyCell.getDisplayName() + " x" + emptyCell.stackSize));
- Logger.MATERIALS("Outputs " + ItemUtils.getArrayStackNames(mInternalOutputs));
- Logger.MATERIALS("Time: " + ((int) Math.max(material.getMass() * 4L * 1, 1)));
- Logger.MATERIALS("EU: " + tVoltageMultiplier);
- } else {
- Logger.MATERIALS(
- "[Dehydrator] Failed to generate Dehydrator recipe for " + matDust.getDisplayName());
- }
- } catch (Throwable t) {
- t.printStackTrace();
+ // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct
+ // order
+ List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs);
+ internalOutputs.removeIf(Objects::isNull);
+ int[] chances = new int[internalOutputs.size()];
+ for (int i = 0; i < internalOutputs.size(); i++) {
+ chances[i] = mChances[i];
}
+
+ ItemStack[] inputs;
+ if (emptyCell == null) {
+ inputs = new ItemStack[] { mainDust };
+ } else {
+ inputs = new ItemStack[] { mainDust, emptyCell };
+ }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs)
+ .itemOutputs(internalOutputs.toArray(new ItemStack[0]))
+ .outputChances(chances)
+ .eut(tVoltageMultiplier)
+ .duration((int) Math.max(material.getMass() * 4L * 1, 1))
+ .addTo(chemicalDehydratorRecipes);
+
+ Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for " + matDust.getDisplayName());
+ Logger.MATERIALS(
+ "Inputs: " + mainDust.getDisplayName()
+ + " x"
+ + mainDust.stackSize
+ + ", "
+ + (emptyCell == null ? "No Cells"
+ : "" + emptyCell.getDisplayName() + " x" + emptyCell.stackSize));
+ Logger.MATERIALS("Outputs " + ItemUtils.getArrayStackNames(mInternalOutputs));
+ Logger.MATERIALS("Time: " + ((int) Math.max(material.getMass() * 4L * 1, 1)));
+ Logger.MATERIALS("EU: " + tVoltageMultiplier);
+
}
}
@@ -699,39 +728,6 @@ public class RecipeGen_Ore extends RecipeGen_Base {
// }
}
- public static boolean addElectrolyzerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput,
- FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4,
- ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) {
- if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) {
- Logger.MATERIALS("[Electrolyzer] Either both inputs or outputs are null.");
- return false;
- }
- if ((aInput1 != null) && (aDuration <= 0)) {
- Logger.MATERIALS("[Electrolyzer] Fail 1.");
- return false;
- }
- if ((aFluidInput != null) && (aDuration <= 0)) {
- Logger.MATERIALS("[Electrolyzer] Fail 2.");
- return false;
- }
- GT_Values.RA.addElectrolyzerRecipe(
- aInput1,
- aInput2,
- aFluidInput,
- aFluidOutput,
- aOutput1,
- aOutput2,
- aOutput3,
- aOutput4,
- aOutput5,
- aOutput6,
- aChances,
- aDuration,
- aEUt);
- Logger.MATERIALS("[Electrolyzer] Recipe added.");
- return true;
- }
-
public static ItemStack getTinyDust(Material m) {
ItemStack x = m.getTinyDust(1);
if (x == null) {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java
index 01d6f9bb02..2ece69065f 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java
@@ -1,11 +1,17 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
+
import java.util.HashSet;
import java.util.Set;
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GT_RecipeConstants;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.core.material.Material;
@@ -42,20 +48,42 @@ public class RecipeGen_Plasma extends RecipeGen_Base {
if (ItemUtils.checkForInvalidItems(new ItemStack[] { aPlasmaCell, aContainerItem })) {
switch (material.getUnlocalizedName()) {
case "Runite":
- GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aPlasmaCell), aContainerItem, 350_000, 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aPlasmaCell))
+ .itemOutputs(aContainerItem)
+ .metadata(FUEL_VALUE, 350_000)
+ .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.PlasmaTurbine.ordinal())
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
case "CelestialTungsten":
- GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aPlasmaCell), aContainerItem, 720_000, 4);
- default:
- GT_Values.RA.addFuel(
- GT_Utility.copyAmount(1L, aPlasmaCell),
- aContainerItem,
- (int) Math.max(1024L, 1024L * material.getMass()),
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aPlasmaCell))
+ .itemOutputs(aContainerItem)
+ .metadata(FUEL_VALUE, 720_000)
+ .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.PlasmaTurbine.ordinal())
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ default:
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aPlasmaCell))
+ .itemOutputs(aContainerItem)
+ .metadata(FUEL_VALUE, (int) Math.max(1024L, 1024L * material.getMass()))
+ .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.PlasmaTurbine.ordinal())
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
}
if (ItemUtils.checkForInvalidItems(new ItemStack[] { aCell, aPlasmaCell })) {
- GT_Values.RA.addVacuumFreezerRecipe(aPlasmaCell, aCell, (int) Math.max(material.getMass() * 2L, 1L));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aPlasmaCell)
+ .itemOutputs(aCell)
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(TierEU.RECIPE_MV)
+ .addTo(vacuumFreezerRecipes);
}
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
index 7eebc16af7..f126e80834 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java
@@ -1,5 +1,10 @@
package gtPlusPlus.xmod.gregtech.loaders;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+
import java.util.HashSet;
import java.util.Set;
@@ -9,12 +14,11 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
-import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.ItemUtils;
public class RecipeGen_Plates extends RecipeGen_Base {
@@ -37,7 +41,6 @@ public class RecipeGen_Plates extends RecipeGen_Base {
private void generateRecipes(final Material material) {
- final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15;
final ItemStack ingotStackOne = material.getIngot(1);
final ItemStack ingotStackTwo = material.getIngot(2);
final ItemStack ingotStackThree = material.getIngot(3);
@@ -54,172 +57,124 @@ public class RecipeGen_Plates extends RecipeGen_Base {
Logger.WARNING("Generating Plate recipes for " + material.getLocalizedName());
// Forge Hammer
- if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single))
- if (addForgeHammerRecipe(
- ingotStackThree,
- plate_SingleTwo,
- (int) Math.max(material.getMass(), 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ingotStackThree)
+ .itemOutputs(plate_SingleTwo)
+ .duration(Math.max(material.getMass(), 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(hammerRecipes);
+
+ Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
// Bender
- if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(plate_Single))
- if (addBenderRecipe(
- ingotStackOne,
- plate_Single,
- (int) Math.max(material.getMass() * 1L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
- }
- if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(foil_SingleFour))
- if (addBenderRecipe(
- ingotStackOne,
- CI.getNumberedCircuit(10),
- foil_SingleFour,
- (int) Math.max(material.getMass() * 2L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(plate_Single)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ingotStackOne, GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(plate_Single)
+ .duration(Math.max(material.getMass() * 1L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(benderRecipes);
+
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(foil_SingleFour)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ingotStackOne, GT_Utility.getIntegratedCircuit(10))
+ .itemOutputs(foil_SingleFour)
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(benderRecipes);
+
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
// Alloy Smelter
- if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single))
- if (GT_Values.RA.addAlloySmelterRecipe(
- ingotStackTwo,
- shape_Mold,
- plate_Single,
- (int) Math.max(material.getMass() * 2L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ingotStackTwo, shape_Mold)
+ .itemOutputs(plate_Single)
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(alloySmelterRecipes);
+
+ Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Success");
+ }
// Cutting Machine
- if (ItemUtils.checkForInvalidItems(block) && ItemUtils.checkForInvalidItems(plate_Single))
- if (GT_Values.RA.addCutterRecipe(
- block,
- plate_SingleNine,
- null,
- (int) Math.max(material.getMass() * 10L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(block) && ItemUtils.checkForInvalidItems(plate_Single)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(block)
+ .itemOutputs(plate_SingleNine)
+ .duration(Math.max(material.getMass() * 10L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(cutterRecipes);
+
+ Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Success");
+ }
// Making Double Plates
- if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Double))
- if (addBenderRecipe(
- ingotStackTwo,
- plate_Double,
- (int) Math.max(material.getMass() * 2L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
- }
-
- if (ItemUtils.checkForInvalidItems(plate_SingleTwo) && ItemUtils.checkForInvalidItems(plate_Double))
- if (addBenderRecipe(
- plate_SingleTwo,
- plate_Double,
- (int) Math.max(material.getMass() * 2L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Double)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ingotStackTwo, GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(plate_Double)
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(benderRecipes);
+
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ }
+
+ if (ItemUtils.checkForInvalidItems(plate_SingleTwo) && ItemUtils.checkForInvalidItems(plate_Double)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(plate_SingleTwo, GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(plate_Double)
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(benderRecipes);
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ }
// Bender
- if (ItemUtils.checkForInvalidItems(material.getPlate(1)) && ItemUtils.checkForInvalidItems(material.getFoil(1)))
- if (addBenderRecipe(
- material.getPlate(1),
- material.getFoil(4),
- (int) Math.max(material.getMass(), 1L),
- material.vVoltageMultiplier)) {
- GregTech_API.registerCover(
- material.getFoil(1),
- new GT_RenderedTexture(material.getTextureSet().mTextures[70], material.getRGBA(), false),
- null);
- Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Failed");
- }
+ if (ItemUtils.checkForInvalidItems(material.getPlate(1))
+ && ItemUtils.checkForInvalidItems(material.getFoil(1))) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(material.getPlate(1), GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(material.getFoil(4))
+ .duration(Math.max(material.getMass(), 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(benderRecipes);
+
+ GregTech_API.registerCover(
+ material.getFoil(1),
+ new GT_RenderedTexture(material.getTextureSet().mTextures[70], material.getRGBA(), false),
+ null);
+ Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Success");
+ }
// Making Dense Plates
- if (ItemUtils.checkForInvalidItems(ingotStackNine) && ItemUtils.checkForInvalidItems(plate_Dense))
- if (addBenderRecipe(
- ingotStackNine,
- plate_Dense,
- (int) Math.max(material.getMass() * 2L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
- }
-
- if (ItemUtils.checkForInvalidItems(plate_SingleNine) && ItemUtils.checkForInvalidItems(plate_Dense))
- if (addBenderRecipe(
- plate_SingleNine,
- plate_Dense,
- (int) Math.max(material.getMass() * 2L, 1L),
- material.vVoltageMultiplier)) {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
- } else {
- Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed");
- }
- }
-
- public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aOutput1, int aDuration,
- final int aEUt) {
- return GT_Values.RA.addBenderRecipe(aInput1, aOutput1, aDuration, aEUt);
- }
+ if (ItemUtils.checkForInvalidItems(ingotStackNine) && ItemUtils.checkForInvalidItems(plate_Dense)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ingotStackNine, GT_Utility.getIntegratedCircuit(9))
+ .itemOutputs(plate_Dense)
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(benderRecipes);
+
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
+ }
- public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aCircuit, final ItemStack aOutput1,
- int aDuration, final int aEUt) {
- return GT_Values.RA.addBenderRecipe(aInput1, aCircuit, aOutput1, aDuration, aEUt);
- }
+ if (ItemUtils.checkForInvalidItems(plate_SingleNine) && ItemUtils.checkForInvalidItems(plate_Dense)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(plate_SingleNine, GT_Utility.getIntegratedCircuit(9))
+ .itemOutputs(plate_Dense)
+ .duration(Math.max(material.getMass() * 2L, 1L))
+ .eut(material.vVoltageMultiplier)
+ .addTo(benderRecipes);
- public static boolean addExtruderRecipe(final ItemStack aInput, final ItemStack aShape, final ItemStack aOutput,
- int aDuration, final int aEUt) {
- if ((aInput == null) || (aShape == null) || (aOutput == null)) {
- return false;
- }
- if (aDuration <= 0) {
- return false;
+ Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success");
}
- RecipeMaps.extruderRecipes.addRecipe(
- true,
- new ItemStack[] { aInput, aShape },
- new ItemStack[] { aOutput },
- null,
- null,
- null,
- aDuration,
- aEUt,
- 0);
- return true;
- }
- public static boolean addForgeHammerRecipe(final ItemStack aInput1, final ItemStack aOutput1, final int aDuration,
- final int aEUt) {
- if ((aInput1 == null) || (aOutput1 == null)) {
- return false;
- }
- RecipeMaps.hammerRecipes.addRecipe(
- true,
- new ItemStack[] { aInput1 },
- new ItemStack[] { aOutput1 },
- null,
- null,
- null,
- aDuration,
- aEUt,
- 0);
- return true;
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
index 044ce58c62..d780e4dcbe 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java
@@ -1,26 +1,29 @@
package gtPlusPlus.xmod.gregtech.loaders;
-import static gregtech.api.enums.GT_Values.L;
import static gregtech.api.enums.GT_Values.M;
+import static gregtech.api.enums.GT_Values.RA;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import java.util.ArrayList;
import java.util.Map;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.commons.lang3.reflect.FieldUtils;
+import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
-import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.data.Pair;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
@@ -83,114 +86,86 @@ public class RecipeGen_Recycling implements Runnable {
}
}
- if (mValidPairs.length > 0) {
- int validCounter = 0;
- Pair<OrePrefixes, ItemStack>[] temp = mValidPairs;
- for (Pair<OrePrefixes, ItemStack> temp2 : mValidPairs) {
- if (temp2 != null) {
- Logger.WARNING(
- "Valid: " + temp2.getValue()
- .getDisplayName());
- validCounter++;
- }
- }
- Pair<OrePrefixes, ItemStack> temp3[] = new Pair[validCounter];
- int temp4 = 0;
- for (Pair<OrePrefixes, ItemStack> r : mValidPairs) {
- if (r != null) {
- temp3[temp4++] = r;
- }
- }
- if (temp3.length > 0) {
- mValidPairs = temp3.clone();
+ int validCounter = 0;
+ Pair<OrePrefixes, ItemStack>[] temp = mValidPairs;
+ for (Pair<OrePrefixes, ItemStack> temp2 : mValidPairs) {
+ if (temp2 == null) {
+ continue;
}
+ Logger.WARNING(
+ "Valid: " + temp2.getValue()
+ .getDisplayName());
+ validCounter++;
}
+ Pair<OrePrefixes, ItemStack> temp3[] = new Pair[validCounter];
+ int temp4 = 0;
+ for (Pair<OrePrefixes, ItemStack> r : mValidPairs) {
+ if (r == null) {
+ continue;
+ }
- if (mValidPrefixesAsString.length >= 1) {
- for (final Pair<OrePrefixes, ItemStack> validPrefix : mValidPairs) {
- try {
+ temp3[temp4++] = r;
+ }
+ if (temp3.length > 0) {
+ mValidPairs = temp3.clone();
+ }
- if (material == null || validPrefix == null
- || (material.getState() != MaterialState.SOLID && material.getState() != MaterialState.LIQUID)
- || validPrefix.getKey() == OrePrefixes.ingotHot) {
- continue;
- }
+ for (final Pair<OrePrefixes, ItemStack> validPrefix : mValidPairs) {
+ if (material == null || validPrefix == null
+ || (material.getState() != MaterialState.SOLID && material.getState() != MaterialState.LIQUID)
+ || validPrefix.getKey() == OrePrefixes.ingotHot) {
+ continue;
+ }
- final ItemStack tempStack = validPrefix.getValue();
- final ItemStack mDust = getDust(material, validPrefix.getKey());
- final Pair<OrePrefixes, ItemStack> mData = getDustData(material, validPrefix.getKey());
- int mFluidAmount = (int) GT_Utility
- .translateMaterialToFluidAmount(validPrefix.getKey().mMaterialAmount, true);
-
- // Maceration
- if (ItemUtils.checkForInvalidItems(tempStack)) {
- // mValidItems[mSlotIndex++] = tempStack;
- if ((mDust != null) && GT_ModHandler.addPulverisationRecipe(tempStack, mDust)) {
- Logger.WARNING(
- "Recycle Recipe: " + material.getLocalizedName()
- + " - Success - Recycle "
- + tempStack.getDisplayName()
- + " and obtain "
- + mDust.getDisplayName());
- } else {
- Logger.WARNING("Recycle Recipe: " + material.getLocalizedName() + " - Failed");
- if (mDust == null) {
- Logger.WARNING("Invalid Dust output.");
- }
- }
- }
+ final ItemStack tempStack = validPrefix.getValue();
+ final ItemStack mDust = getDust(material, validPrefix.getKey());
+
+ // Maceration
+ if (ItemUtils.checkForInvalidItems(tempStack) && mDust != null) {
+ RA.stdBuilder()
+ .itemInputs(tempStack)
+ .itemOutputs(mDust)
+ .eut(2)
+ .duration(20 * SECONDS)
+ .addTo(maceratorRecipes);
+ Logger.WARNING(
+ "Recycle Recipe: " + material.getLocalizedName()
+ + " - Success - Recycle "
+ + tempStack.getDisplayName()
+ + " and obtain "
+ + mDust.getDisplayName());
+ }
- // Arc Furnace
- if (ItemUtils.checkForInvalidItems(tempStack)) {}
-
- // Fluid Extractor
- if (ItemUtils.checkForInvalidItems(tempStack)) {
- // mValidItems[mSlotIndex++] = tempStack;
-
- int aFluidAmount = (int) ((L * validPrefix.getKey().mMaterialAmount)
- / (M * tempStack.stackSize));
- int aDuration = (int) Math.max(1, (24 * validPrefix.getKey().mMaterialAmount) / M);
- boolean aGenFluidExtraction = CORE.RA.addFluidExtractionRecipe(
- tempStack,
- material.getFluidStack(aFluidAmount),
- aDuration,
- material.vVoltageMultiplier);
- if (aGenFluidExtraction /*
- * (mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack,
- * material.getFluidStack(mFluidAmount), 30,
- * material.vVoltageMultiplier)
- */) {
- Logger.WARNING(
- "Fluid Recycle Recipe: " + material.getLocalizedName()
- + " - Success - Recycle "
- + tempStack.getDisplayName()
- + " and obtain "
- + aFluidAmount
- + "mb of "
- + material.getFluidStack(1)
- .getLocalizedName()
- + ". Time: "
- + aDuration
- + ", Voltage: "
- + material.vVoltageMultiplier);
- } else {
- Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Failed");
- if (mDust == null) {
- Logger.WARNING("Invalid Dust output.");
- }
- }
- }
+ // Fluid Extractor
+ if (ItemUtils.checkForInvalidItems(tempStack)) {
+ int aFluidAmount = (int) ((144 * validPrefix.getKey().mMaterialAmount) / (M * tempStack.stackSize));
+ int aDuration = (int) Math.max(1, (24 * validPrefix.getKey().mMaterialAmount) / M);
+ FluidStack fluidInput = material.getFluidStack(aFluidAmount);
+ if (fluidInput != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(tempStack)
+ .fluidOutputs()
+ .duration(aDuration)
+ .eut(material.vVoltageMultiplier)
+ .addTo(fluidExtractionRecipes);
- } catch (final Throwable t) {
- t.printStackTrace();
- // Utils.LOG_WARNING("Returning Null. Throwable Info:
- // "+t.getMessage());
- // Utils.LOG_WARNING("Throwable Info: "+t.toString());
- // Utils.LOG_WARNING("Throwable Info:
- // "+t.getCause().toString());
+ Logger.WARNING(
+ "Fluid Recycle Recipe: " + material.getLocalizedName()
+ + " - Success - Recycle "
+ + tempStack.getDisplayName()
+ + " and obtain "
+ + aFluidAmount
+ + "mb of "
+ + material.getFluidStack(1)
+ .getLocalizedName()
+ + ". Time: "
+ + aDuration
+ + ", Voltage: "
+ + material.vVoltageMultiplier);
}
}
}
+
}
public static Pair<OrePrefixes, ItemStack> getDustData(final Material aMaterial, final OrePrefixes aPrefix) {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java
index dfa6d9dea6..07beb07256 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java
@@ -6,9 +6,14 @@ import static gregtech.api.enums.Mods.GalaxySpace;
import static gregtech.api.enums.Mods.GoodGenerator;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.fusionRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
+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.FUSION_THRESHOLD;
+import static gregtech.api.util.GT_RecipeConstants.QFT_FOCUS_TIER;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.quantumForceTransformerRecipes;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
@@ -30,7 +35,6 @@ import gregtech.api.util.GT_Utility;
import gregtech.common.items.CombType;
import gregtech.loaders.misc.GT_Bees;
import gtPlusPlus.core.item.chemistry.GenericChem;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.MISC_MATERIALS;
@@ -65,442 +69,550 @@ public class RecipeLoader_ChemicalSkips {
ItemStack stemcells = GT_Utility.copyAmountUnsafe(64 * 32, ItemList.Circuit_Chip_Stemcell.get(1));
ItemStack biocells = GT_Utility.copyAmountUnsafe(64 * 32, ItemList.Circuit_Chip_Biocell.get(1));
// Platline
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32),
- ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0) },
- new FluidStack[] {},
- new FluidStack[] {},
- new ItemStack[] { Materials.Platinum.getDust(64), Materials.Palladium.getDust(64),
- Materials.Iridium.getDust(64), Materials.Osmium.getDust(64),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32),
+ ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0))
+ .itemOutputs(
+ Materials.Platinum.getDust(64),
+ Materials.Palladium.getDust(64),
+ Materials.Iridium.getDust(64),
+ Materials.Osmium.getDust(64),
WerkstoffLoader.Rhodium.get(OrePrefixes.dust, 64),
- WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64) },
- new int[] { 1667, 1667, 1667, 1667, 1667, 1667 },
- 20 * 20,
- (int) TierEU.RECIPE_UV,
- 1);
-
+ WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64))
+ .outputChances(1667, 1667, 1667, 1667, 1667, 1667)
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(QFT_FOCUS_TIER, 1)
+ .addTo(quantumForceTransformerRecipes);
// Early Plastics
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Carbon.getDust(64),
- ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 0) },
- new FluidStack[] { Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16),
- Materials.Chlorine.getGas(1000 * 16), Materials.Fluorine.getGas(1000 * 16) },
- new FluidStack[] { Materials.Plastic.getMolten(144 * 256), Materials.PolyvinylChloride.getMolten(144 * 128),
- Materials.Polystyrene.getMolten(144 * 64), Materials.Polytetrafluoroethylene.getMolten(144 * 128),
- Materials.Epoxid.getMolten(144 * 64), Materials.Polybenzimidazole.getMolten(144 * 64) },
- null,
- new int[] { 2000, 2000, 2000, 2000, 2000, 2000 },
- 20 * 20,
- (int) TierEU.RECIPE_ZPM,
- 1);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 0))
+ .fluidInputs(
+ Materials.Oxygen.getGas(1000 * 16),
+ Materials.Hydrogen.getGas(1000 * 16),
+ Materials.Chlorine.getGas(1000 * 16),
+ Materials.Fluorine.getGas(1000 * 16))
+ .fluidOutputs(
+ Materials.Plastic.getMolten(144 * 256),
+ Materials.PolyvinylChloride.getMolten(144 * 128),
+ Materials.Polystyrene.getMolten(144 * 64),
+ Materials.Polytetrafluoroethylene.getMolten(144 * 128),
+ Materials.Epoxid.getMolten(144 * 64),
+ Materials.Polybenzimidazole.getMolten(144 * 64))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .metadata(QFT_FOCUS_TIER, 1)
+ .addTo(quantumForceTransformerRecipes);
// Early Rubbers/Cable Materials
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Carbon.getDust(64),
- ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 0) },
- new FluidStack[] { Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16),
- Materials.Chlorine.getGas(1000 * 16) },
- new FluidStack[] { Materials.Silicone.getMolten(144 * 64),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 0))
+ .fluidInputs(
+ Materials.Oxygen.getGas(1000 * 16),
+ Materials.Hydrogen.getGas(1000 * 16),
+ Materials.Chlorine.getGas(1000 * 16))
+ .fluidOutputs(
+ Materials.Silicone.getMolten(144 * 64),
Materials.StyreneButadieneRubber.getMolten(144 * 64),
- Materials.PolyphenyleneSulfide.getMolten(144 * 128), Materials.Rubber.getMolten(144 * 256) },
- null,
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_ZPM,
- 1);
-
+ Materials.PolyphenyleneSulfide.getMolten(144 * 128),
+ Materials.Rubber.getMolten(144 * 256))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .metadata(QFT_FOCUS_TIER, 1)
+ .addTo(quantumForceTransformerRecipes);
// Glues and Solders
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Carbon.getDust(32), Materials.Bismuth.getDust(32),
- ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 0) },
- new FluidStack[] { Materials.Oxygen.getGas(10000), Materials.Hydrogen.getGas(10000) },
- new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1000 * 32),
- Materials.AdvancedGlue.getFluid(1000 * 16), ALLOY.INDALLOY_140.getFluidStack(144 * 64),
- Materials.SolderingAlloy.getMolten(144 * 128) },
- new ItemStack[] { ItemList.StableAdhesive.get(1) },
- new int[] { 2000, 2000, 2000, 2000, 2000 },
- 20 * 20,
- (int) TierEU.RECIPE_UV,
- 1);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.Carbon.getDust(32),
+ Materials.Bismuth.getDust(32),
+ ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 0))
+ .itemOutputs(ItemList.StableAdhesive.get(1))
+ .outputChances(2000)
+ .fluidInputs(Materials.Oxygen.getGas(10000), Materials.Hydrogen.getGas(10000))
+ .fluidOutputs(
+ MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1000 * 32),
+ Materials.AdvancedGlue.getFluid(1000 * 16),
+ ALLOY.INDALLOY_140.getFluidStack(144 * 64),
+ Materials.SolderingAlloy.getMolten(144 * 128))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(QFT_FOCUS_TIER, 1)
+ .addTo(quantumForceTransformerRecipes);
// Titanium, Tungsten, Indium
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Lead.getDust(16), Materials.Bauxite.getDust(32),
- Materials.Tungstate.getDust(16), ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0) },
- new FluidStack[] {},
- new FluidStack[] {},
- new ItemStack[] { Materials.Titanium.getDust(64), Materials.TungstenSteel.getDust(64),
- Materials.TungstenCarbide.getDust(64), Materials.Indium.getDust(64) },
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_UV,
- 1);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.Lead.getDust(16),
+ Materials.Bauxite.getDust(32),
+ Materials.Tungstate.getDust(16),
+ ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0))
+ .itemOutputs(
+ Materials.Titanium.getDust(64),
+ Materials.TungstenSteel.getDust(64),
+ Materials.TungstenCarbide.getDust(64),
+ Materials.Indium.getDust(64))
+ .outputChances(2500, 2500, 2500, 2500)
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(QFT_FOCUS_TIER, 1)
+ .addTo(quantumForceTransformerRecipes);
// Thorium, Uranium, Plutonium
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Thorium.getDust(32), Materials.Uranium.getDust(32),
- ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 0) },
- new FluidStack[] {},
- new FluidStack[] {},
- new ItemStack[] { ELEMENT.getInstance().THORIUM232.getDust(64),
- ELEMENT.getInstance().URANIUM233.getDust(64), Materials.Uranium235.getDust(64),
- ELEMENT.getInstance().PLUTONIUM238.getDust(64), Materials.Plutonium.getDust(64),
- Materials.Plutonium241.getDust(64) },
- new int[] { 1667, 1667, 1667, 1667, 1667, 1667 },
- 20 * 20,
- (int) TierEU.RECIPE_UV,
- 1);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.Thorium.getDust(32),
+ Materials.Uranium.getDust(32),
+ ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 0))
+ .itemOutputs(
+ ELEMENT.getInstance().THORIUM232.getDust(64),
+ ELEMENT.getInstance().URANIUM233.getDust(64),
+ Materials.Uranium235.getDust(64),
+ ELEMENT.getInstance().PLUTONIUM238.getDust(64),
+ Materials.Plutonium.getDust(64),
+ Materials.Plutonium241.getDust(64))
+ .outputChances(1667, 1667, 1667, 1667, 1667, 1667)
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(QFT_FOCUS_TIER, 1)
+ .addTo(quantumForceTransformerRecipes);
// Monaline
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Monazite.getDust(32),
- ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0) },
- new FluidStack[] {},
- new FluidStack[] {},
- new ItemStack[] { Materials.Cerium.getDust(64), Materials.Gadolinium.getDust(64),
- Materials.Samarium.getDust(64), getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11002), // Hafnia
- getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11007), // Zirconium
- ItemList.SuperconductorComposite.get(1) },
- new int[] { 1667, 1667, 1667, 1667, 1667, 1667 },
- 20 * 20,
- (int) TierEU.RECIPE_UHV,
- 2);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.Monazite.getDust(32),
+ ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0))
+ .itemOutputs(
+ Materials.Cerium.getDust(64),
+ Materials.Gadolinium.getDust(64),
+ Materials.Samarium.getDust(64),
+ getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11002),
+ getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11007),
+ ItemList.SuperconductorComposite.get(1))
+ .outputChances(1667, 1667, 1667, 1667, 1667, 1667)
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .metadata(QFT_FOCUS_TIER, 2)
+ .addTo(quantumForceTransformerRecipes);
// Bastline
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Bastnasite.getDust(32),
- ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0) },
- null,
- null,
- new ItemStack[] { Materials.Holmium.getDust(64), Materials.Cerium.getDust(64),
- Materials.Samarium.getDust(64), Materials.Gadolinium.getDust(64), Materials.Lanthanum.getDust(64) },
- new int[] { 2000, 2000, 2000, 2000, 2000 },
- 20 * 20,
- (int) TierEU.RECIPE_UHV,
- 2);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.Bastnasite.getDust(32),
+ ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0))
+ .itemOutputs(
+ Materials.Holmium.getDust(64),
+ Materials.Cerium.getDust(64),
+ Materials.Samarium.getDust(64),
+ Materials.Gadolinium.getDust(64),
+ Materials.Lanthanum.getDust(64))
+ .outputChances(2000, 2000, 2000, 2000, 2000)
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .metadata(QFT_FOCUS_TIER, 2)
+ .addTo(quantumForceTransformerRecipes);
// Early Waterline skip (first 4 tiers)
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 0) },
- new FluidStack[] { Materials.Water.getFluid(40000L) },
- new FluidStack[] { Materials.Grade1PurifiedWater.getFluid(20000L),
- Materials.Grade2PurifiedWater.getFluid(10000L), Materials.Grade3PurifiedWater.getFluid(5000L),
- Materials.Grade4PurifiedWater.getFluid(1000L) },
- new ItemStack[] {},
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_UHV,
- 2);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 0))
+ .fluidInputs(Materials.Water.getFluid(40000L))
+ .fluidOutputs(
+ Materials.Grade1PurifiedWater.getFluid(20000L),
+ Materials.Grade2PurifiedWater.getFluid(10000L),
+ Materials.Grade3PurifiedWater.getFluid(5000L),
+ Materials.Grade4PurifiedWater.getFluid(1000L))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .metadata(QFT_FOCUS_TIER, 2)
+ .addTo(quantumForceTransformerRecipes);
// Stem Cells
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Calcium.getDust(32), Materials.MeatRaw.getDust(32),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.Calcium.getDust(32),
+ Materials.MeatRaw.getDust(32),
getModItem(NewHorizonsCoreMod.ID, "GTNHBioItems", 32, 2),
- ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 0) },
- new FluidStack[] {},
- new FluidStack[] { Materials.GrowthMediumRaw.getFluid(1000 * 1024),
- Materials.GrowthMediumSterilized.getFluid(1000 * 512) },
- new ItemStack[] { stemcells },
- new int[] { 3333, 3333, 3333 },
- 20 * 20,
- (int) TierEU.RECIPE_UEV,
- 3);
-
+ ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 0))
+ .itemOutputs(stemcells)
+ .outputChances(3333)
+ .fluidOutputs(
+ Materials.GrowthMediumRaw.getFluid(1000 * 1024),
+ Materials.GrowthMediumSterilized.getFluid(1000 * 512))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .metadata(QFT_FOCUS_TIER, 3)
+ .addTo(quantumForceTransformerRecipes);
// Unknown Particles
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 0) },
- new FluidStack[] { Materials.Hydrogen.getGas(10000L), Materials.Deuterium.getGas(1000L) },
- new FluidStack[] { FluidUtils.getFluidStack("plasma.hydrogen", 1000) },
- new ItemStack[] { Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.GRAVITON),
- Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.ELECTRON) },
- new int[] { 2000, 2000, 2000, 2000, 2000 },
- 5 * 20,
- (int) TierEU.RECIPE_UEV,
- 3);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 0))
+ .itemOutputs(
+ Particle.getBaseParticle(Particle.UNKNOWN),
+ Particle.getBaseParticle(Particle.GRAVITON),
+ Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.ELECTRON))
+ .outputChances(2000, 2000, 2000, 2000)
+ .fluidInputs(Materials.Hydrogen.getGas(10000L), Materials.Deuterium.getGas(1000L))
+ .fluidOutputs(FluidUtils.getFluidStack("plasma.hydrogen", 1000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .metadata(QFT_FOCUS_TIER, 3)
+ .addTo(quantumForceTransformerRecipes);
// Lategame Plastics (Missing Radox Polymer and Heavy Radox)
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { Materials.Carbon.getDust(64), Materials.Osmium.getDust(24),
- ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) },
- new FluidStack[] { Materials.Hydrogen.getGas(1000 * 16), Materials.Nitrogen.getGas(1000 * 16) },
- new FluidStack[] { FluidUtils.getFluidStack("xenoxene", 1000 * 16),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.Carbon.getDust(64),
+ Materials.Osmium.getDust(24),
+ ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0))
+ .fluidInputs(Materials.Hydrogen.getGas(1000 * 16), Materials.Nitrogen.getGas(1000 * 16))
+ .fluidOutputs(
+ FluidUtils.getFluidStack("xenoxene", 1000 * 16),
FluidUtils.getFluidStack("molten.radoxpoly", 144 * 64),
- FluidUtils.getFluidStack("heavyradox", 1000 * 16), MaterialsKevlar.Kevlar.getMolten(144 * 64) },
- new ItemStack[] {},
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_UIV,
- 4);
-
+ FluidUtils.getFluidStack("heavyradox", 1000 * 16),
+ MaterialsKevlar.Kevlar.getMolten(144 * 64))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .metadata(QFT_FOCUS_TIER, 4)
+ .addTo(quantumForceTransformerRecipes);
// Lategame Kevlar using Kevlar bee comb
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { GT_Bees.combs.getStackForType(CombType.KEVLAR, 24), Materials.Carbon.getDust(64),
- ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) },
- new FluidStack[] { Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16) },
- new FluidStack[] { MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32),
- MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32), MaterialsKevlar.Kevlar.getMolten(144 * 64) },
- new ItemStack[] {},
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_UIV,
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Bees.combs.getStackForType(CombType.KEVLAR, 24),
+ Materials.Carbon.getDust(64),
+ ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0))
+ .fluidInputs(Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16))
+ .fluidOutputs(
+ MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32),
+ MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32),
+ MaterialsKevlar.Kevlar.getMolten(144 * 64))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .metadata(QFT_FOCUS_TIER, 4)
+ .addTo(quantumForceTransformerRecipes);
// Platline skip using Platline Combs (Palladium, Osmium, Iridium, Platinum)
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { GT_Bees.combs.getStackForType(CombType.PLATINUM, 32),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Bees.combs.getStackForType(CombType.PLATINUM, 32),
GT_Bees.combs.getStackForType(CombType.PALLADIUM, 32),
- GT_Bees.combs.getStackForType(CombType.OSMIUM, 32), GT_Bees.combs.getStackForType(CombType.IRIDIUM, 32),
- ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0) },
- new FluidStack[] {},
- new FluidStack[] { Materials.Osmium.getMolten(144 * 256), Materials.Palladium.getMolten(144 * 256),
- Materials.Iridium.getMolten(144 * 256), Materials.Platinum.getMolten(144 * 256) },
- new ItemStack[] {},
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_UV,
- 1);
+ GT_Bees.combs.getStackForType(CombType.OSMIUM, 32),
+ GT_Bees.combs.getStackForType(CombType.IRIDIUM, 32),
+ ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0))
+ .fluidOutputs(
+ Materials.Osmium.getMolten(144 * 256),
+ Materials.Palladium.getMolten(144 * 256),
+ Materials.Iridium.getMolten(144 * 256),
+ Materials.Platinum.getMolten(144 * 256))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(QFT_FOCUS_TIER, 1)
+ .addTo(quantumForceTransformerRecipes);
// Bio Cells and Mutated Solder
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { ItemList.Circuit_Chip_Stemcell.get(16), Materials.InfinityCatalyst.getDust(4),
- ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 0) },
- new FluidStack[] {},
- new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 128),
- Materials.BioMediumSterilized.getFluid(1000 * 256), Materials.BioMediumRaw.getFluid(1000 * 512) },
- new ItemStack[] { biocells },
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_UIV,
- 4);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Circuit_Chip_Stemcell.get(16),
+ Materials.InfinityCatalyst.getDust(4),
+ ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 0))
+ .itemOutputs(biocells)
+ .outputChances(2500)
+ .fluidOutputs(
+ MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 128),
+ Materials.BioMediumSterilized.getFluid(1000 * 256),
+ Materials.BioMediumRaw.getFluid(1000 * 512))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .metadata(QFT_FOCUS_TIER, 4)
+ .addTo(quantumForceTransformerRecipes);
// Advanced Waterline skip (last 4 tiers)
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 0) },
- new FluidStack[] { Materials.Water.getFluid(40000L) },
- new FluidStack[] { Materials.Grade5PurifiedWater.getFluid(20000L),
- Materials.Grade6PurifiedWater.getFluid(10000L), Materials.Grade7PurifiedWater.getFluid(5000L),
- Materials.Grade8PurifiedWater.getFluid(1000L) },
- new ItemStack[] {},
- new int[] { 2500, 2500, 2500, 2500 },
- 20 * 20,
- (int) TierEU.RECIPE_UIV,
- 4);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 0))
+ .fluidInputs(Materials.Water.getFluid(40000L))
+ .fluidOutputs(
+ Materials.Grade5PurifiedWater.getFluid(20000L),
+ Materials.Grade6PurifiedWater.getFluid(10000L),
+ Materials.Grade7PurifiedWater.getFluid(5000L),
+ Materials.Grade8PurifiedWater.getFluid(1000L))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .metadata(QFT_FOCUS_TIER, 4)
+ .addTo(quantumForceTransformerRecipes);
// Rare Particles
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 0),
- GregtechItemList.Laser_Lens_Special.get(1) },
- new FluidStack[] { FluidUtils.getFluidStack("plasma.hydrogen", 30000), Materials.Helium.getPlasma(30000L),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 0),
+ GregtechItemList.Laser_Lens_Special.get(1))
+ .itemOutputs(
+ Particle.getBaseParticle(Particle.Z_BOSON),
+ Particle.getBaseParticle(Particle.W_BOSON),
+ Particle.getBaseParticle(Particle.LAMBDA),
+ Particle.getBaseParticle(Particle.OMEGA),
+ Particle.getBaseParticle(Particle.HIGGS_BOSON))
+ .outputChances(2000, 2000, 2000, 2000, 2000)
+ .fluidInputs(
+ FluidUtils.getFluidStack("plasma.hydrogen", 30000),
+ Materials.Helium.getPlasma(30000L),
Materials.Americium.getPlasma(30000L),
- new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 30000) },
- new FluidStack[] {},
- new ItemStack[] { Particle.getBaseParticle(Particle.Z_BOSON), Particle.getBaseParticle(Particle.W_BOSON),
- Particle.getBaseParticle(Particle.LAMBDA), Particle.getBaseParticle(Particle.OMEGA),
- Particle.getBaseParticle(Particle.HIGGS_BOSON) },
- new int[] { 2000, 2000, 2000, 2000, 2000 },
- 200 * 20,
- (int) TierEU.RECIPE_UIV,
- 4);
+ new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 30000))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .metadata(QFT_FOCUS_TIER, 4)
+ .addTo(quantumForceTransformerRecipes);
if (GalaxySpace.isModLoaded()) {
// Seaweed
ItemStack seaweed = GT_Utility
.copyAmountUnsafe(64 * 32, getModItem(GalaxySpace.ID, "tcetiedandelions", 1, 4));
- CORE.RA.addQuantumTransformerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get("cropSeaweed", 64), Materials.Mytryl.getDust(16),
- ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 0) },
- new FluidStack[] { FluidUtils.getFluidStack("unknowwater", 25_000) },
- new FluidStack[] { FluidUtils.getFluidStack("seaweedbroth", 50_000),
- FluidUtils.getFluidStack("iodine", 64_000) },
- new ItemStack[] { seaweed, getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 16) },
- new int[] { 2_500, 2_500, 2_500, 2_500 },
- 20 * SECONDS,
- (int) TierEU.RECIPE_UIV,
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get("cropSeaweed", 64),
+ Materials.Mytryl.getDust(16),
+ ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 0))
+ .itemOutputs(seaweed, getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 16))
+ .outputChances(25_00, 25_00)
+ .fluidInputs(FluidUtils.getFluidStack("unknowwater", 25_000))
+ .fluidOutputs(
+ FluidUtils.getFluidStack("seaweedbroth", 50_000),
+ FluidUtils.getFluidStack("iodine", 64_000))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .metadata(QFT_FOCUS_TIER, 4)
+ .addTo(quantumForceTransformerRecipes);
+
}
}
private static void fusionReactorRecipes() {
- GT_Values.RA.addFusionReactorRecipe(
- new FluidStack[] { Materials.Radon.getPlasma(100), Materials.Nitrogen.getPlasma(100) },
- new FluidStack[] { new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 100) },
- 30 * 20,
- (int) TierEU.RECIPE_UHV,
- 1_000_000_000);
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Radon.getPlasma(100), Materials.Nitrogen.getPlasma(100))
+ .fluidOutputs(new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 100))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .metadata(FUSION_THRESHOLD, 1_000_000_000)
+ .addTo(fusionRecipes);
- GT_Values.RA.addFusionReactorRecipe(
- new FluidStack[] { Materials.Americium.getPlasma(100), Materials.Boron.getPlasma(100) },
- new FluidStack[] { new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 100) },
- 30 * 20,
- (int) TierEU.RECIPE_UHV,
- 1_000_000_000);
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Americium.getPlasma(100), Materials.Boron.getPlasma(100))
+ .fluidOutputs(new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 100))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .metadata(FUSION_THRESHOLD, 1_000_000_000)
+ .addTo(fusionRecipes);
// MK5 versions
- GT_Values.RA.addFusionReactorRecipe(
- new FluidStack[] { new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 288),
- Materials.Yttrium.getMolten(288) },
- new FluidStack[] { new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 288) },
- 1 * SECONDS + 12 * TICKS,
- (int) TierEU.RECIPE_UEV,
- 1_000_000_000);
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 288), Materials.Yttrium.getMolten(288))
+ .fluidOutputs(new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 288))
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(TierEU.RECIPE_UEV)
+ .metadata(FUSION_THRESHOLD, 1_000_000_000)
+ .addTo(fusionRecipes);
- GT_Values.RA.addFusionReactorRecipe(
- new FluidStack[] { new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 288),
- Materials.Rubidium.getMolten(288) },
- new FluidStack[] { new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 288) },
- 1 * SECONDS + 12 * TICKS,
- (int) TierEU.RECIPE_UEV,
- 1_000_000_000);
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 288), Materials.Rubidium.getMolten(288))
+ .fluidOutputs(new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 288))
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(TierEU.RECIPE_UEV)
+ .metadata(FUSION_THRESHOLD, 1_000_000_000)
+ .addTo(fusionRecipes);
}
private static void catalystRecipes() {
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
- getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 88), Materials.Osmiridium.getDust(64),
- Materials.Carbon.getNanite(64) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360),
- ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UEV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
- Materials.Polybenzimidazole.getDust(64), Materials.Polytetrafluoroethylene.getDust(64),
- Materials.Carbon.getNanite(64) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360),
- ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UEV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Silicone.getDust(64),
- Materials.StyreneButadieneRubber.getDust(64), Materials.Carbon.getNanite(64) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360),
- ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UEV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ALLOY.INDALLOY_140.getDust(64),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getCell(64), Materials.Carbon.getNanite(64) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360),
- ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UHV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.TungstenSteel.getDust(64),
- Materials.Indium.getDust(64), Materials.Carbon.getNanite(64) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360),
- ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UHV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
- ELEMENT.getInstance().URANIUM235.getDust(64), ELEMENT.getInstance().PLUTONIUM241.getDust(64),
- Materials.Carbon.getNanite(64) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360),
- ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UHV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Samarium.getDust(64),
- Materials.Gadolinium.getDust(64), Materials.Silver.getNanite(1) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216),
- ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UEV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 88),
+ Materials.Osmiridium.getDust(64),
+ Materials.Carbon.getNanite(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ Materials.Polybenzimidazole.getDust(64),
+ Materials.Polytetrafluoroethylene.getDust(64),
+ Materials.Carbon.getNanite(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ Materials.Silicone.getDust(64),
+ Materials.StyreneButadieneRubber.getDust(64),
+ Materials.Carbon.getNanite(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ ALLOY.INDALLOY_140.getDust(64),
+ MISC_MATERIALS.ETHYL_CYANOACRYLATE.getCell(64),
+ Materials.Carbon.getNanite(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ Materials.TungstenSteel.getDust(64),
+ Materials.Indium.getDust(64),
+ Materials.Carbon.getNanite(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ ELEMENT.getInstance().URANIUM235.getDust(64),
+ ELEMENT.getInstance().PLUTONIUM241.getDust(64),
+ Materials.Carbon.getNanite(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ Materials.Samarium.getDust(64),
+ Materials.Gadolinium.getDust(64),
+ Materials.Silver.getNanite(1))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
WerkstoffLoader.Hedenbergit.get(OrePrefixes.lens, 1),
GT_OreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 1, false),
- ItemList.Circuit_Silicon_Wafer6.get(64) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216),
- ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UEV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Naquadah.getDust(64),
- Materials.Adamantium.getDust(64), Materials.Silver.getNanite(1) },
- ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216),
- ItemUtils.getSimpleStack(GenericChem.mSimpleNaquadahCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UEV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Naquadria.getDust(64),
- Materials.Trinium.getDust(64), Materials.Gold.getNanite(1) },
- MaterialsUEVplus.SpaceTime.getMolten(9216L),
- ItemUtils.getSimpleStack(GenericChem.mAdvancedNaquadahCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UIV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ItemList.Circuit_Chip_Stemcell.get(64),
- Materials.Gold.getNanite(1) },
- MaterialsUEVplus.SpaceTime.getMolten(9216L),
- ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UIV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
+ ItemList.Circuit_Silicon_Wafer6.get(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ Materials.Naquadah.getDust(64),
+ Materials.Adamantium.getDust(64),
+ Materials.Silver.getNanite(1))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mSimpleNaquadahCatalyst, 1))
+ .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ Materials.Naquadria.getDust(64),
+ Materials.Trinium.getDust(64),
+ Materials.Gold.getNanite(1))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mAdvancedNaquadahCatalyst, 1))
+ .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(9216L))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ ItemList.Circuit_Chip_Stemcell.get(64),
+ Materials.Gold.getNanite(1))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 1))
+ .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(9216L))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
GregtechItemList.Laser_Lens_Special.get(64),
- GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 10) },
- MaterialsUEVplus.SpaceTime.getMolten(9216L),
- ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UIV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), MaterialsKevlar.Kevlar.getDust(64),
- MaterialsUEVplus.TranscendentMetal.getNanite(1) },
- FluidUtils.getFluidStack("molten.shirabon", 92160),
- ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UMV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ItemList.Circuit_Chip_Biocell.get(64),
- MaterialsUEVplus.TranscendentMetal.getNanite(1) },
- FluidUtils.getFluidStack("molten.shirabon", 92160),
- ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UMV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
+ GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 10))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 1))
+ .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(9216L))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ MaterialsKevlar.Kevlar.getDust(64),
+ MaterialsUEVplus.TranscendentMetal.getNanite(1))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 1))
+ .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ ItemList.Circuit_Chip_Biocell.get(64),
+ MaterialsUEVplus.TranscendentMetal.getNanite(1))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 1))
+ .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
WerkstoffLoader.Hedenbergit.get(OrePrefixes.lens, 64),
GT_OreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 64, false),
- ItemList.Circuit_Silicon_Wafer6.get(64) },
- FluidUtils.getFluidStack("molten.shirabon", 92160),
- ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UMV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
- Particle.getBaseParticle(Particle.HIGGS_BOSON), Particle.getIon("Helium", 0),
- Particle.getIon("Hydrogen", 0), MaterialsUEVplus.Eternity.getNanite(16) },
- FluidUtils.getFluidStack("molten.shirabon", 92160),
- ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UMV);
-
- CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1),
- GT_OreDictUnificator.get("blockShirabon", 16), MaterialsUEVplus.Universium.getNanite(1),
- ItemList.Timepiece.get(1) },
- Materials.DarkIron.getMolten(92160),
- ItemUtils.getSimpleStack(GenericChem.TemporalHarmonyCatalyst, 1),
- 60 * 20,
- (int) TierEU.RECIPE_UXV);
+ ItemList.Circuit_Silicon_Wafer6.get(64))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 1))
+ .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ Particle.getBaseParticle(Particle.HIGGS_BOSON),
+ Particle.getIon("Helium", 0),
+ Particle.getIon("Hydrogen", 0),
+ MaterialsUEVplus.Eternity.getNanite(16))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 1))
+ .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(10),
+ CI.getEmptyCatalyst(1),
+ GT_OreDictUnificator.get("blockShirabon", 16),
+ MaterialsUEVplus.Universium.getNanite(1),
+ ItemList.Timepiece.get(1))
+ .itemOutputs(ItemUtils.getSimpleStack(GenericChem.TemporalHarmonyCatalyst, 1))
+ .fluidInputs(Materials.DarkIron.getMolten(92160))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
- CI.getNumberedCircuit(10),
+ GT_Utility.getIntegratedCircuit(10),
CI.getEmptyCatalyst(1),
getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 64),
GT_OreDictUnificator.get("dustIodine", 64),
@@ -650,12 +762,17 @@ public class RecipeLoader_ChemicalSkips {
120 * 20,
(int) TierEU.RECIPE_UXV);
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { new ItemStack(QuantumGlassBlock.INSTANCE, 1), ItemList.Field_Generator_ZPM.get(1),
- ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getLongRod(6), ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getPlate(6) },
- ALLOY.QUANTUM.getFluidStack(144 * 6),
- GregtechItemList.ForceFieldGlass.get(1),
- 10 * 20,
- (int) TierEU.RECIPE_UEV);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ new ItemStack(QuantumGlassBlock.INSTANCE, 1),
+ ItemList.Field_Generator_ZPM.get(1),
+ ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getLongRod(6),
+ ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getPlate(6))
+ .itemOutputs(GregtechItemList.ForceFieldGlass.get(1))
+ .fluidInputs(ALLOY.QUANTUM.getFluidStack(144 * 6))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java
index 4aa13a0072..680a4291e8 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java
@@ -1,5 +1,11 @@
package gtPlusPlus.xmod.gregtech.loaders.recipe;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.fusionRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD;
+
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
@@ -8,38 +14,43 @@ import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
+import gregtech.api.enums.TierEU;
import gtPlusPlus.core.material.ELEMENT;
public class RecipeLoader_GTNH {
public static void generate() {
- GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Ball.get(0L),
- new FluidStack(FluidRegistry.getFluid("ender"), 250),
- new ItemStack(Items.ender_pearl, 1, 0),
- 100,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Ball.get(0L))
+ .itemOutputs(new ItemStack(Items.ender_pearl, 1, 0))
+ .fluidInputs(new FluidStack(FluidRegistry.getFluid("ender"), 250))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(fluidSolidifierRecipes);
+
// MK4
- GT_Values.RA.addFusionReactorRecipe(
- Materials.Plutonium241.getMolten(144),
- Materials.Helium.getGas(1000),
- ELEMENT.getInstance().CURIUM.getFluidStack(144),
- 96,
- 98304,
- 500000000);
- GT_Values.RA.addFusionReactorRecipe(
- ELEMENT.getInstance().CURIUM.getFluidStack(144),
- Materials.Helium.getPlasma(144),
- ELEMENT.getInstance().CALIFORNIUM.getFluidStack(144),
- 128,
- 196608,
- 750000000);
- GT_Values.RA.addFusionReactorRecipe(
- Materials.Plutonium241.getMolten(144),
- Materials.Calcium.getPlasma(144),
- Materials.Flerovium.getMolten(144),
- 160,
- 196608,
- 1000000000);
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Plutonium241.getMolten(144), Materials.Helium.getGas(1000))
+ .fluidOutputs(ELEMENT.getInstance().CURIUM.getFluidStack(144))
+ .duration(4 * SECONDS + 16 * TICKS)
+ .eut(98304)
+ .metadata(FUSION_THRESHOLD, 500_000_000)
+ .addTo(fusionRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(ELEMENT.getInstance().CURIUM.getFluidStack(144), Materials.Helium.getPlasma(144))
+ .fluidOutputs(ELEMENT.getInstance().CALIFORNIUM.getFluidStack(144))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(196608)
+ .metadata(FUSION_THRESHOLD, 750_000_000)
+ .addTo(fusionRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Plutonium241.getMolten(144), Materials.Calcium.getPlasma(144))
+ .fluidOutputs(Materials.Flerovium.getMolten(144))
+ .duration(8 * SECONDS)
+ .eut(196608)
+ .metadata(FUSION_THRESHOLD, 1_000_000_000)
+ .addTo(fusionRecipes);
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java
index 2dae8a3f75..40cf569df6 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java
@@ -2,12 +2,22 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe;
import static gregtech.api.enums.Mods.GalacticraftCore;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
+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.CHEMPLANT_CASING_TIER;
import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
@@ -20,12 +30,10 @@ import gregtech.api.util.GT_Utility;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.GenericChem;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.MISC_MATERIALS;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.plugin.agrichem.BioRecipes;
public class RecipeLoader_GlueLine {
@@ -47,103 +55,122 @@ public class RecipeLoader_GlueLine {
private static void chemicalPlantRecipes() {
// CO + C3H6O2 = C4H6O3
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(GenericChem.mBlueCatalyst, 0) },
- new FluidStack[] { FluidUtils.getFluidStack("carbonmonoxide", 1000),
- FluidUtils.getFluidStack("methylacetate", 1000), },
- new ItemStack[] {},
- new FluidStack[] { MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000) },
- 10 * 20,
- 500,
- 3);
-
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] { CI.getNumberedCircuit(18) },
- new FluidStack[] { FluidUtils.getFluidStack("aceticacid", 1000), FluidUtils.getFluidStack("chlorine", 1000),
- MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000) },
- new ItemStack[] {},
- new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000),
- MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(950) },
- 150 * 20,
- 1000,
- 4);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(17), ItemUtils.getSimpleStack(GenericChem.mBlueCatalyst, 0))
+ .fluidInputs(
+ FluidUtils.getFluidStack("carbonmonoxide", 1000),
+ FluidUtils.getFluidStack("methylacetate", 1000))
+ .fluidOutputs(MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000))
+ .duration(10 * SECONDS)
+ .eut(500)
+ .metadata(CHEMPLANT_CASING_TIER, 3)
+ .addTo(chemicalPlantRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(18))
+ .fluidInputs(
+ FluidUtils.getFluidStack("aceticacid", 1000),
+ FluidUtils.getFluidStack("chlorine", 1000),
+ MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000))
+ .fluidOutputs(
+ MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000),
+ MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(950))
+ .duration(2 * MINUTES + 30 * SECONDS)
+ .eut(1000)
+ .metadata(CHEMPLANT_CASING_TIER, 4)
+ .addTo(chemicalPlantRecipes);
// Na2CO3 + NaCN + C2H3O2Cl + 2HCl = C3H3NO2 + 3NaCl + CO2 + H2O
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6),
- MISC_MATERIALS.SODIUM_CYANIDE.getDust(3) },
- new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(1000),
- FluidUtils.getFluidStack("hydrochloricacid_gt5u", 2000) },
- new ItemStack[] { MISC_MATERIALS.CYANOACETIC_ACID.getDust(9), Materials.Salt.getDust(6) },
- new FluidStack[] { Materials.CarbonDioxide.getGas(1000), GT_ModHandler.getWater(1000) },
- 20 * 20,
- 1000,
- 4);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(19),
+ ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6),
+ MISC_MATERIALS.SODIUM_CYANIDE.getDust(3))
+ .itemOutputs(MISC_MATERIALS.CYANOACETIC_ACID.getDust(9), Materials.Salt.getDust(6))
+ .fluidInputs(
+ MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(1000),
+ FluidUtils.getFluidStack("hydrochloricacid_gt5u", 2000))
+ .fluidOutputs(Materials.CarbonDioxide.getGas(1000), GT_ModHandler.getWater(1000))
+ .duration(20 * SECONDS)
+ .eut(1000)
+ .metadata(CHEMPLANT_CASING_TIER, 4)
+ .addTo(chemicalPlantRecipes);
// CuSO4 + 5C3H3NO2 + 5C2H6O = CuSO4·5(H2O) + 5C5H7NO2
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0),
- MISC_MATERIALS.COPPER_SULFATE.getDust(6), MISC_MATERIALS.CYANOACETIC_ACID.getDust(45) },
- new FluidStack[] { Materials.Ethanol.getFluid(5000) },
- new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11) },
- new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(5000) },
- 500 * 20,
- 6000,
- 5);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(20),
+ ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0),
+ MISC_MATERIALS.COPPER_SULFATE.getDust(6),
+ MISC_MATERIALS.CYANOACETIC_ACID.getDust(45))
+ .itemOutputs(MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11))
+ .fluidInputs(Materials.Ethanol.getFluid(5000))
+ .fluidOutputs(MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(5000))
+ .duration(8 * MINUTES + 20 * SECONDS)
+ .eut(6000)
+ .metadata(CHEMPLANT_CASING_TIER, 5)
+ .addTo(chemicalPlantRecipes);
// C3H3NO2 + C2H6O = C5H7NO2 + H2O
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] { CI.getNumberedCircuit(21), MISC_MATERIALS.CYANOACETIC_ACID.getDust(9) },
- new FluidStack[] { Materials.Ethanol.getFluid(1000) },
- new ItemStack[] {},
- new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(1000) },
- 1000 * 20,
- 6000,
- 5);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(21), MISC_MATERIALS.CYANOACETIC_ACID.getDust(9))
+ .fluidInputs(Materials.Ethanol.getFluid(1000))
+ .fluidOutputs(MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(1000))
+ .duration(16 * MINUTES + 40 * SECONDS)
+ .eut(6000)
+ .metadata(CHEMPLANT_CASING_TIER, 5)
+ .addTo(chemicalPlantRecipes);
BioRecipes.mFormaldehyde = FluidUtils.getFluidStack("fluid.formaldehyde", 1)
.getFluid();
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] { CI.getNumberedCircuit(22), ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0) },
- new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(100),
- FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 100) },
- new ItemStack[] {},
- new FluidStack[] { MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100), FluidUtils.getWater(1000) },
- 10 * 20,
- 8000,
- 5);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(22),
+ ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0))
+ .fluidInputs(
+ MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(100),
+ FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 100))
+ .fluidOutputs(MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100), FluidUtils.getWater(1000))
+ .duration(10 * SECONDS)
+ .eut(8000)
+ .metadata(CHEMPLANT_CASING_TIER, 5)
+ .addTo(chemicalPlantRecipes);
// CH4 + NH3 + 3O = HCN + 3H2O
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] { CI.getNumberedCircuit(23), ItemUtils.getSimpleStack(GenericChem.mPinkCatalyst, 0) },
- new FluidStack[] { FluidUtils.getFluidStack("methane", 2000), FluidUtils.getFluidStack("ammonia", 2000),
- FluidUtils.getFluidStack("oxygen", 6000) },
- new ItemStack[] {},
- new FluidStack[] { MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(2000), FluidUtils.getWater(6000) },
- 10 * 20,
- 500,
- 3);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(23), ItemUtils.getSimpleStack(GenericChem.mPinkCatalyst, 0))
+ .fluidInputs(
+ FluidUtils.getFluidStack("methane", 2000),
+ FluidUtils.getFluidStack("ammonia", 2000),
+ FluidUtils.getFluidStack("oxygen", 6000))
+ .fluidOutputs(MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(2000), FluidUtils.getWater(6000))
+ .duration(10 * SECONDS)
+ .eut(500)
+ .metadata(CHEMPLANT_CASING_TIER, 3)
+ .addTo(chemicalPlantRecipes);
+
}
private static void chemicalReactorRecipes() {
// NaOH + HCN = NaCN + H2O
- GT_Values.RA.addChemicalRecipe(
- CI.getNumberedCircuit(17),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3),
- MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000),
- FluidUtils.getWater(1000),
- MISC_MATERIALS.SODIUM_CYANIDE.getDust(3),
- 10 * 20);
- // #addChemicalRecipe won't generate LCR recipe if config >= 10
- GT_Values.RA.addMultiblockChemicalRecipe(
- new ItemStack[] { CI.getNumberedCircuit(17),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3) },
- new FluidStack[] { MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000) },
- new FluidStack[] { FluidUtils.getWater(1000) },
- new ItemStack[] { MISC_MATERIALS.SODIUM_CYANIDE.getDust(3) },
- 10 * 20,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(17),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3))
+ .itemOutputs(MISC_MATERIALS.SODIUM_CYANIDE.getDust(3))
+ .fluidInputs(MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000))
+ .fluidOutputs(FluidUtils.getWater(1000))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(chemicalReactorRecipes);
+
+ // #UniversalChemical recipemap won't generate LCR recipe if config >= 10
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(17),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3))
+ .itemOutputs(MISC_MATERIALS.SODIUM_CYANIDE.getDust(3))
+ .fluidInputs(MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000))
+ .fluidOutputs(FluidUtils.getWater(1000))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(multiblockChemicalReactorRecipes);
// CaCO3 + 2HCl = CaCl2 + CO2 + H2O
GT_Values.RA.stdBuilder()
@@ -157,220 +184,243 @@ public class RecipeLoader_GlueLine {
// Cu + 2H2SO4 = CuSO4 + SO2 + 2H2O
// SO2 + 2H2O -> diluted sulfuric acid
- GT_Values.RA.addChemicalRecipe(
- CI.getNumberedCircuit(19),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1),
- FluidUtils.getFluidStack("sulfuricacid", 2000),
- FluidUtils.getFluidStack("dilutedsulfuricacid", 1000),
- MISC_MATERIALS.COPPER_SULFATE.getDust(6),
- 5 * 20);
- // #addChemicalRecipe won't generate LCR recipe if config >= 10
- GT_Values.RA.addMultiblockChemicalRecipe(
- new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1) },
- new FluidStack[] { FluidUtils.getFluidStack("sulfuricacid", 2000) },
- new FluidStack[] { FluidUtils.getFluidStack("dilutedsulfuricacid", 1000) },
- new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE.getDust(6) },
- 5 * 20,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(19), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1))
+ .itemOutputs(MISC_MATERIALS.COPPER_SULFATE.getDust(6))
+ .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 2000))
+ .fluidOutputs(FluidUtils.getFluidStack("dilutedsulfuricacid", 1000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(chemicalReactorRecipes);
+
+ // #UniversalChemical won't generate LCR recipe if config >= 10
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(19), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1))
+ .itemOutputs(MISC_MATERIALS.COPPER_SULFATE.getDust(6))
+ .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 2000))
+ .fluidOutputs(FluidUtils.getFluidStack("dilutedsulfuricacid", 1000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(multiblockChemicalReactorRecipes);
}
private static void dehydratorRecipes() {
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11), },
- null,
- GT_ModHandler.getWater(5000),
- new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE.getDust(6) },
- new int[] { 10000, 10000, 10000 },
- 300 * 20,
- 10);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11))
+ .itemOutputs(MISC_MATERIALS.COPPER_SULFATE.getDust(6))
+ .fluidOutputs(GT_ModHandler.getWater(5000))
+ .eut(10)
+ .duration(5 * MINUTES)
+ .addTo(chemicalDehydratorRecipes);
}
private static void distillationTowerRecipes() {
- GT_Values.RA.addDistillationTowerRecipe(
- MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000),
- new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(100),
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000))
+ .fluidOutputs(
+ MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(100),
MISC_MATERIALS.DICHLOROACETIC_ACID.getFluidStack(450),
- MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(450) },
- null,
- 4 * 20,
- MaterialUtils.getVoltageForTier(5));
+ MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(450))
+ .duration(4 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(distillationTowerRecipes);
+
}
private static void fluidHeaterRecipes() {
- CORE.RA.addFluidHeaterRecipe(
- CI.getNumberedCircuit(16),
- MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100),
- 30 * 30,
- 500);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(16))
+ .fluidInputs(MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100))
+ .fluidOutputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100))
+ .duration(45 * SECONDS)
+ .eut(500)
+ .addTo(fluidHeaterRecipes);
}
private static void mixerRecipes() {
- GT_Values.RA.addMixerRecipe(
- CI.getNumberedCircuit(1),
- MISC_MATERIALS.DICHLOROACETIC_ACID.getCell(1),
- null,
- null,
- MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(1000),
- MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(2000),
- CI.emptyCells(1),
- 100,
- 100);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1), MISC_MATERIALS.DICHLOROACETIC_ACID.getCell(1))
+ .itemOutputs(CI.emptyCells(1))
+ .fluidInputs(MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(1000))
+ .fluidOutputs(MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(2000))
+ .duration(5 * SECONDS)
+ .eut(100)
+ .addTo(mixerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1),
+ GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(CI.emptyCells(1))
+ .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 1000))
+ .fluidOutputs(MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000))
+ .duration(5 * SECONDS)
+ .eut(40)
+ .addTo(mixerRecipes);
- GT_Values.RA.addMixerRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1),
- CI.getNumberedCircuit(2),
- null,
- null,
- FluidUtils.getFluidStack("sulfuricacid", 1000),
- MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000),
- CI.emptyCells(1),
- 100,
- 40);
}
private static void glueUsageRecipes() {
// Braintech Tape recipe, PBI and superglue make 16 tape at once
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Polybenzimidazole, 1L),
- GT_ModHandler.getIC2Item("carbonMesh", 1L), CI.getNumberedCircuit(10) },
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100),
- ItemList.Duct_Tape.get(16L),
- 120,
- 30);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Polybenzimidazole, 1L),
+ GT_ModHandler.getIC2Item("carbonMesh", 1L),
+ GT_Utility.getIntegratedCircuit(10))
+ .itemOutputs(ItemList.Duct_Tape.get(16L))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
// Maintenance Hatch recipe, using Braintech Tape
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { ItemList.Hull_LV.get(1), ItemList.Duct_Tape.get(1), CI.getNumberedCircuit(1) },
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100),
- ItemList.Hatch_Maintenance.get(1),
- 120,
- 30);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Hull_LV.get(1), ItemList.Duct_Tape.get(1), GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Hatch_Maintenance.get(1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
// Graphene recipes from later wafer tiers, using superglue instead of the bronze age glue
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64),
- ItemList.Circuit_Silicon_Wafer4.get(2L), CI.getNumberedCircuit(2) },
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(500),
- ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64),
- 400,
- 30720);
-
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64),
- ItemList.Circuit_Silicon_Wafer5.get(1L), CI.getNumberedCircuit(2) },
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(250),
- ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64),
- 80,
- 122880);
-
- GT_Values.RA.addMixerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4L),
- GT_Values.NI,
- GT_Values.NI,
- GT_Utility.getIntegratedCircuit(1),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100),
- null,
- ItemList.SFMixture.get(32),
- 1600,
- 16);
-
- GT_Values.RA.addMixerRecipe(
- ItemList.GelledToluene.get(1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Polybenzimidazole, 1L),
- GT_Values.NI,
- GT_Values.NI,
- GT_Utility.getIntegratedCircuit(1),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100),
- null,
- ItemList.SFMixture.get(64),
- 1600,
- 16);
-
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 8),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 32),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(200),
- new ItemStack(Items.book, 64, 0),
- 32,
- 8);
-
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 18),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(144),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32505", 1),
- 300,
- 7680);
-
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 6),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(288),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32506", 1),
- 200,
- 30720);
-
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.ElectrumFlux, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 18),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32507", 1),
- 300,
- 122880);
-
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.ElectrumFlux, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 24),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1152),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32561", 1),
- 100,
- 491520);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64),
+ ItemList.Circuit_Silicon_Wafer4.get(2L),
+ GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(500))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64),
+ ItemList.Circuit_Silicon_Wafer5.get(1L),
+ GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(250))
+ .duration(4 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.ElectrumFlux, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahEnriched, 36),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(2304),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32562", 1),
- 200,
- 1966080);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.SFMixture.get(32))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(16)
+ .addTo(mixerRecipes);
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.ElectrumFlux, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 48),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(4608),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32563", 1),
- 300,
- 1966080);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.GelledToluene.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Polybenzimidazole, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.SFMixture.get(64))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(16)
+ .addTo(mixerRecipes);
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 56),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(9216),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32564", 1),
- 600,
- 1966080);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 8),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 32))
+ .itemOutputs(new ItemStack(Items.book, 64, 0))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(200))
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(8)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 18))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32505", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(144))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 6))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32506", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(288))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.ElectrumFlux, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 18))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32507", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.ElectrumFlux, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 24))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32561", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1152))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.ElectrumFlux, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahEnriched, 36))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32562", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(2304))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.ElectrumFlux, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 48))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32563", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(4608))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 56))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32564", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(9216))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 64))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32565", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(18432))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
- GT_Values.RA.addAssemblerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 64),
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(18432),
- ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32565", 1),
- 1200,
- 1966080);
if (NewHorizonsCoreMod.isModLoaded() && GalacticraftCore.isModLoaded()) {
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { ItemUtils.getItemStackFromFQRN("GalacticraftMars:item.itemBasicAsteroids:7", 1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getItemStackFromFQRN("GalacticraftMars:item.itemBasicAsteroids:7", 1),
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Titanium, 8),
- ItemUtils.getItemStackFromFQRN("dreamcraft:item.TungstenString", 8), CI.getNumberedCircuit(1) },
- MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576),
- ItemUtils.getItemStackFromFQRN("GalaxySpace:item.ThermalClothT2", 1),
- 600,
- 1024);
+ ItemUtils.getItemStackFromFQRN("dreamcraft:item.TungstenString", 8),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("GalaxySpace:item.ThermalClothT2", 1))
+ .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576))
+ .duration(30 * SECONDS)
+ .eut(1024)
+ .addTo(assemblerRecipes);
+
}
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java
index 81fde457ae..d5a41b8ba2 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java
@@ -1,13 +1,17 @@
package gtPlusPlus.xmod.gregtech.loaders.recipe;
-import net.minecraft.item.ItemStack;
+import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeConstants.LFTR_OUTPUT_POWER;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes;
+
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
+import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.util.GasSpargingRecipeMap;
import gtPlusPlus.api.objects.data.AutoMap;
-import gtPlusPlus.api.recipe.GTPPRecipeMaps;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
@@ -60,49 +64,45 @@ public class RecipeLoader_LFTR {
FluidStack Li2BeF4 = NUCLIDE.Li2BeF4.getFluidStack(200);
// LiFBeF2ThF4UF4 - T3
- GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe(
- false,
- new ItemStack[] {},
- new ItemStack[] {},
- null,
- new int[] { 10000, 10000, 5000, 2500 },
- new FluidStack[] { NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100), Li2BeF4 },
- new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(100), NUCLIDE.LiFBeF2ThF4.getFluidStack(200),
- FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(20), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10) },
- 100 * 20, // time
- 0, // cost
- 32768 * 4 // fuel value
- );
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100), Li2BeF4)
+ .fluidOutputs(
+ NUCLIDE.LiFBeF2UF4FP.getFluidStack(100),
+ NUCLIDE.LiFBeF2ThF4.getFluidStack(200),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(20),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(0)
+ .metadata(LFTR_OUTPUT_POWER, 32768 * 4)
+ .addTo(liquidFluorineThoriumReactorRecipes);
// LiFBeF2ZrF4UF4 - T2
- GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe(
- false,
- new ItemStack[] {},
- new ItemStack[] {},
- null,
- new int[] { 10000, 10000, 2500, 1250 },
- new FluidStack[] { NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(100), Li2BeF4 },
- new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(50), NUCLIDE.LiFBeF2ThF4.getFluidStack(100),
- FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(5) },
- 100 * 20, // time
- 0, // cost
- 8192 * 4 // fuel value
- );
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(100), Li2BeF4)
+ .fluidOutputs(
+ NUCLIDE.LiFBeF2UF4FP.getFluidStack(50),
+ NUCLIDE.LiFBeF2ThF4.getFluidStack(100),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(5))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(0)
+ .metadata(LFTR_OUTPUT_POWER, 8192 * 4)
+ .noOptimize()
+ .addTo(liquidFluorineThoriumReactorRecipes);
// LiFBeF2ZrF4U235 - T1
- GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe(
- false,
- new ItemStack[] {},
- new ItemStack[] {},
- null,
- new int[] { 10000, 10000, 1000, 500 },
- new FluidStack[] { NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(100), Li2BeF4 },
- new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(25), NUCLIDE.LiFThF4.getFluidStack(50),
- FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(4), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(2) },
- 100 * 20, // time
- 0, // cost
- 8192 // fuel value
- );
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(100), Li2BeF4)
+ .fluidOutputs(
+ NUCLIDE.LiFBeF2UF4FP.getFluidStack(25),
+ NUCLIDE.LiFThF4.getFluidStack(50),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(4),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(2))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(0)
+ .metadata(LFTR_OUTPUT_POWER, 8192)
+ .noOptimize()
+ .addTo(liquidFluorineThoriumReactorRecipes);
// Sparging NEI Recipes
GasSpargingRecipeMap.addRecipe(
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java
index cd576dbc8d..df9ef3b1b3 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java
@@ -3,23 +3,26 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe;
import static advsolar.utils.MTRecipeManager.transformerRecipes;
import static gregtech.api.enums.Mods.AdvancedSolarPanel;
import static gregtech.api.enums.Mods.GalaxySpace;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.molecularTransformerRecipes;
import advsolar.utils.MTRecipeRecord;
+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_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.minecraft.MaterialUtils;
public class RecipeLoader_MolecularTransformer {
public static void run() {
for (MTRecipeRecord aRecipe : transformerRecipes) {
- int aEU = MaterialUtils.getVoltageForTier(5);
+ int aEU = (int) TierEU.RECIPE_IV;
Logger.INFO("=======================");
Logger.INFO("Generating GT recipe for Molecular Transformer.");
Logger.INFO(
@@ -30,49 +33,56 @@ public class RecipeLoader_MolecularTransformer {
int aTicksRoundedUp = MathUtils.roundToClosestInt(Math.ceil(aTicks));
Logger.INFO("Ticks: " + aTicksRoundedUp);
Logger.INFO("Total EU equal or greater? " + ((aTicksRoundedUp * aEU) >= aRecipe.energyPerOperation));
- CORE.RA.addMolecularTransformerRecipe(aRecipe.inputStack, aRecipe.outputStack, aTicksRoundedUp, aEU, 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aRecipe.inputStack)
+ .itemOutputs(aRecipe.outputStack)
+ .duration(aTicksRoundedUp)
+ .eut(aEU)
+ .addTo(molecularTransformerRecipes);
+
Logger.INFO("=======================");
}
transformerRecipes.clear();
if (AdvancedSolarPanel.isModLoaded() && GalaxySpace.isModLoaded()) {
- CORE.RA.addMolecularTransformerRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L),
- GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9),
- 600,
- 1920,
- 2);
- CORE.RA.addMolecularTransformerRecipe(
- GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 0),
- GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9),
- 150,
- 7680,
- 2);
- CORE.RA.addMolecularTransformerRecipe(
- GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 1),
- GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9),
- 38,
- 30720,
- 2);
- CORE.RA.addMolecularTransformerRecipe(
- GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 2),
- GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9),
- 10,
- 122880,
- 2);
- CORE.RA.addMolecularTransformerRecipe(
- GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 3),
- GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9),
- 3,
- 491520,
- 2);
- CORE.RA.addMolecularTransformerRecipe(
- GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 4),
- GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9),
- 1,
- 1996080,
- 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L))
+ .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(molecularTransformerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 0))
+ .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9))
+ .duration(7 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(molecularTransformerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 1))
+ .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9))
+ .duration(1 * SECONDS + 18 * TICKS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(molecularTransformerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 2))
+ .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9))
+ .duration(10 * TICKS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(molecularTransformerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 3))
+ .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9))
+ .duration(3 * TICKS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(molecularTransformerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 4))
+ .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9))
+ .duration(1 * TICKS)
+ .eut(1996080)
+ .addTo(molecularTransformerRecipes);
+
}
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java
index 8b30a3e344..c78fc8a9bd 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java
@@ -1,11 +1,23 @@
package gtPlusPlus.xmod.gregtech.loaders.recipe;
+import static gregtech.api.enums.GT_Values.RA;
+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.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes;
import static gregtech.api.recipe.RecipeMaps.fusionRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.sifterRecipes;
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.FUSION_THRESHOLD;
+import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes;
import net.minecraft.item.ItemStack;
@@ -16,12 +28,10 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TierEU;
-import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.chemistry.GenericChem;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.MISC_MATERIALS;
@@ -56,39 +66,32 @@ public class RecipeLoader_Nuclear {
}
private static void autoclave() {
-
- GT_Values.RA.addAutoclaveRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
- FluidUtils.getFluidStack("chlorine", 4000),
- ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1),
- 0,
- 15 * 20,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1))
+ .fluidInputs(FluidUtils.getFluidStack("chlorine", 4_000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(autoclaveRecipes);
}
private static void blastFurnace() {
- GT_Values.RA.addBlastRecipe(
- FLUORIDES.LITHIUM_FLUORIDE.getDust(4),
- FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3),
- GT_Values.NF,
- GT_Values.NF,
- NUCLIDE.Li2BeF4.getDust(7),
- null,
- 140 * 20,
- 2000,
- 3000);
-
- GT_Values.RA.addBlastRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1),
- null,
- GT_Values.NF,
- GT_Values.NF,
- ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1),
- null,
- 60 * 20,
- 340,
- 300);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(FLUORIDES.LITHIUM_FLUORIDE.getDust(4), FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3))
+ .itemOutputs(NUCLIDE.Li2BeF4.getDust(7))
+ .duration(2 * MINUTES + 20 * SECONDS)
+ .eut(2000)
+ .metadata(COIL_HEAT, 3000)
+ .addTo(blastFurnaceRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1))
+ .duration(1 * MINUTES)
+ .eut(340)
+ .metadata(COIL_HEAT, 300)
+ .addTo(blastFurnaceRecipes);
}
private static void centrifugeRecipes() {
@@ -160,36 +163,39 @@ public class RecipeLoader_Nuclear {
private static void chemicalBathRecipes() {
int[] chances = { 9000, 6000, 3000 };
- GT_Values.RA.addChemicalBathRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12),
- FluidUtils.getFluidStack("chlorine", 2400),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 4),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 5),
- chances,
- 30 * 20,
- 480);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 5))
+ .outputChances(chances)
+ .fluidInputs(FluidUtils.getFluidStack("chlorine", 2400))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalBathRecipes);
chances = new int[] { 9000, 3000, 1000 };
- GT_Values.RA.addChemicalBathRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustRutile", 5),
- FluidUtils.getFluidStack("chlorine", 4000),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
- ItemUtils.getItemStackOfAmountFromOreDict("dustTitanium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1),
- chances,
- 30 * 20,
- 1024);
-
- GT_Values.RA.addChemicalBathRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3),
- FluidUtils.getFluidStack("hydrofluoricacid", 500),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2),
- null,
- null,
- new int[] {},
- 9 * 20,
- 480);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustRutile", 5))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTitanium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1))
+ .outputChances(chances)
+ .fluidInputs(FluidUtils.getFluidStack("chlorine", 4000))
+ .duration(30 * SECONDS)
+ .eut(1024)
+ .addTo(chemicalBathRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2))
+ .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 500))
+ .duration(9 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalBathRecipes);
+
}
private static void chemicalReactorRecipes() {
@@ -197,100 +203,110 @@ public class RecipeLoader_Nuclear {
ItemStack aGtHydrofluoricAcid = ItemUtils
.getItemStackOfAmountFromOreDictNoBroken("cellHydrofluoricAcid_GT5U", 2);
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 6), // Input
- ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input
- null, // Fluid Input
- null, // Fluid Output
- ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11),
- 600 * 20);
-
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3), // Input
- null, // Input Stack 2
- FluidUtils.getFluidStack("hydrofluoricacid", 500),
- FluidUtils.getFluidStack("water", 1000), // Fluid Output
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2),
- 120 * 20);
-
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 8),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16),
- FluidUtils.getFluidStack("water", 8000),
- FluidUtils.getFluidStack("lithiumhydroxide", 6912),
- CI.emptyCells(8),
- 300 * 20);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 6),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11))
+ .duration(10 * MINUTES)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2))
+ .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 500))
+ .fluidOutputs(FluidUtils.getFluidStack("water", 1000))
+ .duration(2 * MINUTES)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 8),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16))
+ .itemOutputs(CI.emptyCells(8))
+ .fluidInputs(FluidUtils.getFluidStack("water", 8000))
+ .fluidOutputs(FluidUtils.getFluidStack("lithiumhydroxide", 6912))
+ .duration(5 * MINUTES)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
// LFTR Fuel Related Compounds
// Hydroxide
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getGregtechCircuit(3),
- ELEMENT.getInstance().OXYGEN.getCell(1),
- ELEMENT.getInstance().HYDROGEN.getFluidStack(1000),
- MISC_MATERIALS.HYDROXIDE.getFluidStack(1000),
- CI.emptyCells(1),
- GT_Values.NI,
- 8 * 20,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(3), ELEMENT.getInstance().OXYGEN.getCell(1))
+ .itemOutputs(CI.emptyCells(1))
+ .fluidInputs(ELEMENT.getInstance().HYDROGEN.getFluidStack(1000))
+ .fluidOutputs(MISC_MATERIALS.HYDROXIDE.getFluidStack(1000))
+ .duration(8 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
// Beryllium Hydroxide
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getGregtechCircuit(3),
- ELEMENT.getInstance().BERYLLIUM.getDust(1),
- MISC_MATERIALS.HYDROXIDE.getFluidStack(2000),
- FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(432),
- GT_Values.NI,
- 4 * 20,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(3), ELEMENT.getInstance().BERYLLIUM.getDust(1))
+ .fluidInputs(MISC_MATERIALS.HYDROXIDE.getFluidStack(2000))
+ .fluidOutputs(FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(432))
+ .duration(4 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
// Ammonium Bifluoride
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getGregtechCircuit(3),
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1),
- MISC_MATERIALS.AMMONIA.getFluidStack(1000),
- FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576),
- CI.emptyCells(1),
- 20 * 20,
- 30);
- if (aGtHydrofluoricAcid != null) {
- // Ammonium Bifluoride
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getGregtechCircuit(3),
- aGtHydrofluoricAcid,
- MISC_MATERIALS.AMMONIA.getFluidStack(1000),
- FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576),
- CI.emptyCells(2),
- 40 * 20,
- 30);
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1))
+ .itemOutputs(CI.emptyCells(1))
+ .fluidInputs(MISC_MATERIALS.AMMONIA.getFluidStack(1000))
+ .fluidOutputs(FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
+ // Ammonium Bifluoride
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(3), aGtHydrofluoricAcid)
+ .itemOutputs(CI.emptyCells(2))
+ .fluidInputs(MISC_MATERIALS.AMMONIA.getFluidStack(1000))
+ .fluidOutputs(FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
// Ammonium
// To be deprecated now that it is no longer needed for ammonium bifluoride
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getGregtechCircuit(3),
- ELEMENT.getInstance().HYDROGEN.getCell(1),
- MISC_MATERIALS.AMMONIA.getFluidStack(1000),
- MISC_MATERIALS.AMMONIUM.getFluidStack(2000),
- CI.emptyCells(1),
- GT_Values.NI,
- 20 * 20,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(3), ELEMENT.getInstance().HYDROGEN.getCell(1))
+ .itemOutputs(CI.emptyCells(1))
+ .fluidInputs(MISC_MATERIALS.AMMONIA.getFluidStack(1000))
+ .fluidOutputs(MISC_MATERIALS.AMMONIUM.getFluidStack(2000))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
// Sodium Fluoride
- GT_Values.RA.addChemicalRecipe(
- CI.getNumberedBioCircuit(15),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3),
- FluidUtils.getFluidStack("hydrofluoricacid", 500),
- FluidUtils.getWater(1000),
- FLUORIDES.SODIUM_FLUORIDE.getDust(2),
- 60 * 20);
-
- if (FluidUtils.doesFluidExist("hydrofluoricacid_gt5u")) {
- GT_Values.RA.addChemicalRecipe(
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
CI.getNumberedBioCircuit(15),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3),
- FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1000),
- FluidUtils.getWater(1000),
- FLUORIDES.SODIUM_FLUORIDE.getDust(2),
- 60 * 20);
- }
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3))
+ .itemOutputs(FLUORIDES.SODIUM_FLUORIDE.getDust(2))
+ .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 500))
+ .fluidOutputs(FluidUtils.getWater(1000))
+ .duration(1 * MINUTES)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedBioCircuit(15),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3))
+ .itemOutputs(FLUORIDES.SODIUM_FLUORIDE.getDust(2))
+ .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1000))
+ .fluidOutputs(FluidUtils.getWater(1000))
+ .duration(1 * MINUTES)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
}
private static void dehydratorRecipes() {
@@ -310,37 +326,31 @@ public class RecipeLoader_Nuclear {
.addTo(chemicalDehydratorRecipes);
// Makes Lithium Carbonate
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.emptyCells(12), ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20) }, // Item
- // input
- // (Array,
- // up
- // to
- // 2)
- FluidUtils.getFluidStack("sulfuricacid", 10000),
- FluidUtils.getFluidStack("sulfuriclithium", 10000),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.emptyCells(12), ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1),
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4),
ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 10),
ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), // LithiumCarbonate
- }, // Output Array of Items - Upto 9,
- new int[] { 10000, 10000, 10000, 10000, 10000 },
- 75 * 20, // Time in ticks
- 1000); // EU
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3))
+ .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 10000))
+ .fluidOutputs(FluidUtils.getFluidStack("sulfuriclithium", 10000))
+ .eut(1_000)
+ .duration(1 * MINUTES + 15 * SECONDS)
+ .addTo(chemicalDehydratorRecipes);
// Calcium Hydroxide
if (ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) {
// CaO + H2O = Ca(OH)2
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.getNumberedBioCircuit(20),
- ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 2) },
- FluidUtils.getFluidStack("water", 1000),
- null, // Fluid output (slot 2)
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5) }, // Output
- new int[] { 10000 },
- 12 * 20, // Time in ticks
- 120); // EU
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedBioCircuit(20), ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 2))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5))
+ .fluidInputs(FluidUtils.getFluidStack("water", 1000))
+ .eut(TierEU.RECIPE_MV)
+ .duration(12 * SECONDS)
+ .addTo(chemicalDehydratorRecipes);
+
} else {
Logger.INFO("[dustCalciumHydroxide] FAILED TO LOAD RECIPE");
if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) {
@@ -349,143 +359,164 @@ public class RecipeLoader_Nuclear {
}
// 2 LiOH + CaCO3
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.getNumberedAdvancedCircuit(20),
- ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11) }, // Item
- null, // Fluid input (slot 1)
- null, // Fluid output (slot 2)
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 6),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5) }, // Output
- new int[] { 10000, 10000 },
- 240 * 20, // Time in ticks
- 1000); // EU
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedAdvancedCircuit(20),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 6),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5))
+ .eut(1_000)
+ .duration(6 * MINUTES)
+ .addTo(chemicalDehydratorRecipes);
// LiOH Liquid to Dust
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.getNumberedAdvancedCircuit(22) },
- FluidUtils.getFluidStack("lithiumhydroxide", 144),
- null,
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1) },
- new int[] { 10000 },
- 1 * 20, // Time in ticks
- 64); // EU
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(22))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1))
+ .fluidInputs(FluidUtils.getFluidStack("lithiumhydroxide", 144))
+ .eut(64)
+ .duration(1 * SECONDS)
+ .addTo(chemicalDehydratorRecipes);
// Zirconium Chloride -> TetraFluoride
FluidStack aHydrogenChloride = new FluidStack(GenericChem.HydrochloricAcid, 800);
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.getNumberedAdvancedCircuit(11),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1), }, // Item
- FluidUtils.getFluidStack("hydrofluoricacid", 400),
- aHydrogenChloride,
- new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1) },
- new int[] { 10000 },
- 15 * 20, // Time in ticks
- 500); // EU
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedAdvancedCircuit(11),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1))
+ .itemOutputs()
+ .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 400))
+ .fluidOutputs(aHydrogenChloride)
+ .eut(500)
+ .duration(15 * SECONDS)
+ .addTo(chemicalDehydratorRecipes);
// Zirconium Chloride -> TetraFluoride
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.getNumberedAdvancedCircuit(10),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1) },
- FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 800),
- aHydrogenChloride,
- new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1) },
- new int[] { 10000 },
- 30 * 20, // Time in ticks
- 500); // EU
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedAdvancedCircuit(10),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1))
+ .itemOutputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1))
+ .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 800))
+ .fluidOutputs(aHydrogenChloride)
+ .eut(500)
+ .duration(30 * SECONDS)
+ .addTo(chemicalDehydratorRecipes);
// Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O
// Inputs use solid rule because they are molten forms of solids
// Outputs use fluid rule because they are not molten forms of solids
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { FLUORIDES.BERYLLIUM_HYDROXIDE.getDust(3), CI.emptyCells(2) },
- FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(1152), // Fluid input (slot 1)
- FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2) },
- new int[] { 10000 },
- 6 * 20, // Time in ticks
- 64); // EU
+ GT_Values.RA.stdBuilder()
+ .itemInputs(FLUORIDES.BERYLLIUM_HYDROXIDE.getDust(3), CI.emptyCells(2))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2))
+ .fluidInputs(FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(1152))
+ .fluidOutputs(FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000))
+ .eut(64)
+ .duration(6 * SECONDS)
+ .addTo(chemicalDehydratorRecipes);
// (NH4)2BeF4 → 2 NH3 + 2 HF + BeF2
// Ammonium tetrafluoroberyllate uses fluid rule because it is not a molten form of a solid
// Beryllium fluoride uses solid rule
// Industrial strength hydrofluoric acid follows its usual convention where it is twice as dense as regular
// hydrofluoric acid
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.emptyCells(3) },
- FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000),
- null,
- new ItemStack[] { MISC_MATERIALS.AMMONIA.getCell(2),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(17), CI.emptyCells(3))
+ .itemOutputs(
+ MISC_MATERIALS.AMMONIA.getCell(2),
ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1),
- FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3) },
- new int[] { 10000, 10000, 10000 },
- 5 * 60 * 20,
- 120);
+ FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3))
+ .fluidInputs(FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000))
+ .eut(TierEU.RECIPE_MV)
+ .duration(5 * MINUTES)
+ .addTo(chemicalDehydratorRecipes);
}
private static void electroMagneticSeperator() {
// Zirconium
- GT_Values.RA.addElectromagneticSeparatorRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1),
- new int[] { 10000, 2500, 4000 },
- 20 * 20,
- 24);
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1))
+ .outputChances(10000, 2500, 4000)
+ .duration(20 * SECONDS)
+ .eut(24)
+ .addTo(electroMagneticSeparatorRecipes);
// Zircon
- GT_Values.RA.addElectromagneticSeparatorRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMagnetite", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1),
- new int[] { 10000, 1250, 2500 },
- 20 * 20,
- 24);
- GT_Values.RA.addElectromagneticSeparatorRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1),
- new int[] { 10000, 1250, 2500 },
- 20 * 20,
- 24);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMagnetite", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1))
+ .outputChances(10000, 1250, 2500)
+ .duration(20 * SECONDS)
+ .eut(24)
+ .addTo(electroMagneticSeparatorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1))
+ .outputChances(10000, 1250, 2500)
+ .duration(20 * SECONDS)
+ .eut(24)
+ .addTo(electroMagneticSeparatorRecipes);
+
}
private static void fluidExtractorRecipes() {
// FLiBe fuel
- CORE.RA.addFluidExtractionRecipe(NUCLIDE.Li2BeF4.getDust(1), NUCLIDE.Li2BeF4.getFluidStack(144), 100, 500);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(NUCLIDE.Li2BeF4.getDust(1))
+ .fluidOutputs(NUCLIDE.Li2BeF4.getFluidStack(144))
+ .duration(5 * SECONDS)
+ .eut(500)
+ .addTo(fluidExtractionRecipes);
+
// Lithium Fluoride
- CORE.RA.addFluidExtractionRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 1),
- FLUORIDES.LITHIUM_FLUORIDE.getFluidStack(144),
- 100,
- 500);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 1))
+ .fluidOutputs(FLUORIDES.LITHIUM_FLUORIDE.getFluidStack(144))
+ .duration(5 * SECONDS)
+ .eut(500)
+ .addTo(fluidExtractionRecipes);
+
// LFTR Fuel 1
- CORE.RA.addFluidExtractionRecipe(
- NUCLIDE.LiFBeF2ZrF4U235.getDust(1),
- NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(144),
- 250,
- 1000);
- CORE.RA.addFluidExtractionRecipe(
- NUCLIDE.LiFBeF2ZrF4UF4.getDust(1),
- NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(144),
- 150,
- 1500);
- CORE.RA.addFluidExtractionRecipe(
- NUCLIDE.LiFBeF2ThF4UF4.getDust(1),
- NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(144),
- 150,
- 2000);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(NUCLIDE.LiFBeF2ZrF4U235.getDust(1))
+ .fluidOutputs(NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(144))
+ .duration(12 * SECONDS + 10 * TICKS)
+ .eut(1000)
+ .addTo(fluidExtractionRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(NUCLIDE.LiFBeF2ZrF4UF4.getDust(1))
+ .fluidOutputs(NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(144))
+ .duration(7 * SECONDS + 10 * TICKS)
+ .eut(1500)
+ .addTo(fluidExtractionRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(NUCLIDE.LiFBeF2ThF4UF4.getDust(1))
+ .fluidOutputs(NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(144))
+ .duration(7 * SECONDS + 10 * TICKS)
+ .eut(2000)
+ .addTo(fluidExtractionRecipes);
// ZIRCONIUM_TETRAFLUORIDE
- CORE.RA.addFluidExtractionRecipe(
- FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1),
- FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(144),
- 200,
- 512 + 256);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1))
+ .fluidOutputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(144))
+ .duration(10 * SECONDS)
+ .eut(512 + 256)
+ .addTo(fluidExtractionRecipes);
}
private static void fusionChainRecipes() {
@@ -495,7 +526,7 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 1000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LuV)
- .metadata(FUSION_THRESHOLD, 100000000)
+ .metadata(FUSION_THRESHOLD, 100_000_000)
.addTo(fusionRecipes);
GT_Values.RA.stdBuilder()
@@ -505,7 +536,7 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 1000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LuV)
- .metadata(FUSION_THRESHOLD, 100000000)
+ .metadata(FUSION_THRESHOLD, 100_000_000)
.addTo(fusionRecipes);
// Mk2
@@ -514,7 +545,7 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 144))
.duration(32 * TICKS)
.eut(TierEU.RECIPE_ZPM)
- .metadata(FUSION_THRESHOLD, 300000000)
+ .metadata(FUSION_THRESHOLD, 300_000_000)
.addTo(fusionRecipes);
GT_Values.RA.stdBuilder()
@@ -524,7 +555,7 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 1000))
.duration(32 * TICKS)
.eut(TierEU.RECIPE_ZPM)
- .metadata(FUSION_THRESHOLD, 300000000)
+ .metadata(FUSION_THRESHOLD, 300_000_000)
.addTo(fusionRecipes);
GT_Values.RA.stdBuilder()
@@ -534,7 +565,7 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.STANDALONE.RUNITE.getPlasma(), 1000))
.duration(32 * TICKS)
.eut(TierEU.RECIPE_ZPM)
- .metadata(FUSION_THRESHOLD, 300000000)
+ .metadata(FUSION_THRESHOLD, 300_000_000)
.addTo(fusionRecipes);
// Mk3
@@ -543,7 +574,7 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 144))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_UV)
- .metadata(FUSION_THRESHOLD, 500000000)
+ .metadata(FUSION_THRESHOLD, 500_000_000)
.addTo(fusionRecipes);
GT_Values.RA.stdBuilder()
@@ -553,7 +584,7 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 1000))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_UV)
- .metadata(FUSION_THRESHOLD, 500000000)
+ .metadata(FUSION_THRESHOLD, 500_000_000)
.addTo(fusionRecipes);
GT_Values.RA.stdBuilder()
@@ -563,15 +594,17 @@ public class RecipeLoader_Nuclear {
.fluidOutputs(new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 1000))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_UV)
- .metadata(FUSION_THRESHOLD, 500000000)
+ .metadata(FUSION_THRESHOLD, 500_000_000)
.addTo(fusionRecipes);
}
private static void macerator() {
-
- GT_ModHandler.addPulverisationRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 5));
+ RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 5))
+ .eut(2)
+ .duration(20 * SECONDS)
+ .addTo(maceratorRecipes);
}
private static void mixerRecipes() {
@@ -580,112 +613,121 @@ public class RecipeLoader_Nuclear {
// UF4 uses solid rule due to item form even though item form currently is inaccessible because item form may be
// accessible in future and must be consistent
// UF4 solid rule also assumes 1:144 item:fluid ratio in this case
- GT_Values.RA.addMixerRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4),
- ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1),
- null,
- null,
- FluidUtils.getFluidStack("hydrofluoricacid", 10000),
- FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(3600),
- null,
- 3000,
- 500);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1))
+ .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 10000))
+ .fluidOutputs(FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(3600))
+ .duration(2 * MINUTES + 30 * SECONDS)
+ .eut(500)
+ .addTo(mixerRecipes);
+
}
private static void sifter() {
-
// Zirconium
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIlmenite", 1),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIlmenite", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustWroughtIron", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1) },
- new int[] { 5000, 278, 1000, 1000, 300, 300 },
- 20 * 30,
- 500);
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1))
+ .outputChances(5000, 278, 1000, 1000, 300, 300)
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(sifterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZinc", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) },
- new int[] { 10000, 556, 1500, 1000, 500, 500 },
- 20 * 30,
- 500);
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1))
+ .outputChances(10000, 556, 1500, 1000, 500, 500)
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(sifterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) },
- new int[] { 10000, 556, 1500, 1000, 500, 500 },
- 20 * 30,
- 500);
-
+ ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1))
+ .outputChances(10000, 556, 1500, 1000, 500, 500)
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(sifterRecipes);
// Radium
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedThorium", 1),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedThorium", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
- new int[] { 10000, 500, 300, 200, 100, 100 },
- 20 * 30,
- 500);
-
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1))
+ .outputChances(10000, 500, 300, 200, 100, 100)
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(sifterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
- new int[] { 10000, 556, 1000, 500, 500, 500 },
- 20 * 30,
- 500);
-
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1))
+ .outputChances(10000, 556, 1000, 500, 500, 500)
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(sifterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
- new int[] { 10000, 556, 500, 250, 250, 250 },
- 20 * 30,
- 500);
-
- GT_Values.RA.addSifterRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1),
- new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1))
+ .outputChances(10000, 556, 500, 250, 250, 250)
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(sifterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1))
+ .itemOutputs(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) },
- new int[] { 10000, 556, 500, 250, 250, 250 },
- 20 * 30,
- 500);
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1))
+ .outputChances(10000, 556, 500, 250, 250, 250)
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(sifterRecipes);
+
}
private static void fluidHeater() {
-
- CORE.RA.addFluidHeaterRecipe(
- FLUORIDES.SODIUM_FLUORIDE.getDust(1),
- null,
- FLUORIDES.SODIUM_FLUORIDE.getFluidStack(144),
- 20 * 30,
- 500);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(FLUORIDES.SODIUM_FLUORIDE.getDust(1))
+ .fluidOutputs(FLUORIDES.SODIUM_FLUORIDE.getFluidStack(144))
+ .duration(30 * SECONDS)
+ .eut(500)
+ .addTo(fluidHeaterRecipes);
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java
index dec6fd426a..30066acf66 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java
@@ -2,25 +2,28 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe;
import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.HOURS;
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 gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.coldTrapRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.fissionFuelProcessingRecipes;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.reactorProcessingUnitRecipes;
-import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.TierEU;
import gtPlusPlus.core.item.chemistry.NuclearChem;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.core.util.minecraft.MaterialUtils;
public class RecipeLoader_NuclearFuelProcessing {
@@ -39,159 +42,170 @@ public class RecipeLoader_NuclearFuelProcessing {
final FluidStack aLiFBeF2ThF4UF4 = NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100);
// 7LiF - BeF2 - ZrF4 - U235 - 590C
- CORE.RA.addFissionFuel(
- FluidUtils.getFluidStack(aLithiumFluoride, 550),
- FluidUtils.getFluidStack(aBerylliumFluoride, 150),
- FluidUtils.getFluidStack(aZirconiumFluoride, 60),
- FluidUtils.getFluidStack(aUranium235, 240),
- null,
- null,
- null,
- null,
- null, // Extra 5 inputs
- FluidUtils.getFluidStack(aLiFBeF2ZrF4U235, 1000),
- null,
- 30 * 60 * 20, // Duration
- MaterialUtils.getVoltageForTier(4));
-
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ FluidUtils.getFluidStack(aLithiumFluoride, 550),
+ FluidUtils.getFluidStack(aBerylliumFluoride, 150),
+ FluidUtils.getFluidStack(aZirconiumFluoride, 60),
+ FluidUtils.getFluidStack(aUranium235, 240))
+ .fluidOutputs(FluidUtils.getFluidStack(aLiFBeF2ZrF4U235, 1000))
+ .duration(30 * MINUTES)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(fissionFuelProcessingRecipes);
// 7LiF - BeF2 - ZrF4 - UF4 - 650C
- CORE.RA.addFissionFuel(
- FluidUtils.getFluidStack(aLithiumFluoride, 600),
- FluidUtils.getFluidStack(aBerylliumFluoride, 250),
- FluidUtils.getFluidStack(aZirconiumFluoride, 80),
- FluidUtils.getFluidStack(aUraniumTetraFluoride, 70),
- null,
- null,
- null,
- null,
- null, // Extra 5 inputs
- FluidUtils.getFluidStack(aLiFBeF2ZrF4UF4, 1000),
- null,
- 40 * 60 * 20,
- MaterialUtils.getVoltageForTier(5));
-
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ FluidUtils.getFluidStack(aLithiumFluoride, 600),
+ FluidUtils.getFluidStack(aBerylliumFluoride, 250),
+ FluidUtils.getFluidStack(aZirconiumFluoride, 80),
+ FluidUtils.getFluidStack(aUraniumTetraFluoride, 70))
+ .fluidOutputs(FluidUtils.getFluidStack(aLiFBeF2ZrF4UF4, 1000))
+ .duration(40 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(fissionFuelProcessingRecipes);
// 7liF - BeF2 - ThF4 - UF4 - 566C
- CORE.RA.addFissionFuel(
- FluidUtils.getFluidStack(aLithiumFluoride, 580),
- FluidUtils.getFluidStack(aBerylliumFluoride, 270),
- FluidUtils.getFluidStack(aThoriumFluoride, 80),
- FluidUtils.getFluidStack(aUraniumTetraFluoride, 70),
- null,
- null,
- null,
- null,
- null, // Extra 5 inputs
- FluidUtils.getFluidStack(aLiFBeF2ThF4UF4, 1000),
- null,
- 50 * 60 * 20, // Duration
- MaterialUtils.getVoltageForTier(5));
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ FluidUtils.getFluidStack(aLithiumFluoride, 580),
+ FluidUtils.getFluidStack(aBerylliumFluoride, 270),
+ FluidUtils.getFluidStack(aThoriumFluoride, 80),
+ FluidUtils.getFluidStack(aUraniumTetraFluoride, 70))
+ .fluidOutputs(FluidUtils.getFluidStack(aLiFBeF2ThF4UF4, 1000))
+ .duration(50 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(fissionFuelProcessingRecipes);
// Reprocess Fuels
// Reactor Blanket step 1 - Fluorination
- CORE.RA.addReactorProcessingUnitRecipe(
- CI.getNumberedAdvancedCircuit(17),
- ELEMENT.getInstance().FLUORINE.getCell(6),
- NUCLIDE.LiFThF4.getFluidStack(10000),
- new ItemStack[] { CI.emptyCells(5), FLUORIDES.LITHIUM_FLUORIDE.getCell(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1) },
- new int[] { 10000, 10000, 500, 500, 500, 250, 250, 250 },
- NUCLIDE.UF6F2.getFluidStack(1500),
- 20 * 60 * 10,
- MaterialUtils.getVoltageForTier(5));
- CORE.RA.addReactorProcessingUnitRecipe(
- CI.getNumberedAdvancedCircuit(18),
- ELEMENT.getInstance().FLUORINE.getCell(6),
- NUCLIDE.LiFBeF2ThF4.getFluidStack(10000),
- new ItemStack[] { CI.emptyCells(4), FLUORIDES.LITHIUM_FLUORIDE.getCell(1),
- FLUORIDES.BERYLLIUM_FLUORIDE.getCell(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1) },
- new int[] { 10000, 10000, 10000, 1000, 1000, 1000, 500, 500, 500 },
- NUCLIDE.UF6F2.getFluidStack(3000),
- 20 * 60 * 10,
- MaterialUtils.getVoltageForTier(5));
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(17), ELEMENT.getInstance().FLUORINE.getCell(6))
+ .itemOutputs(
+ CI.emptyCells(5),
+ FLUORIDES.LITHIUM_FLUORIDE.getCell(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1))
+ .outputChances(10000, 10000, 500, 500, 500, 250, 250, 250)
+ .fluidInputs(NUCLIDE.LiFThF4.getFluidStack(10000))
+ .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(1500))
+ .duration(10 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(reactorProcessingUnitRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(18), ELEMENT.getInstance().FLUORINE.getCell(6))
+ .itemOutputs(
+ CI.emptyCells(4),
+ FLUORIDES.LITHIUM_FLUORIDE.getCell(1),
+ FLUORIDES.BERYLLIUM_FLUORIDE.getCell(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1))
+ .outputChances(10000, 10000, 10000, 1000, 1000, 1000, 500, 500, 500)
+ .fluidInputs(NUCLIDE.LiFBeF2ThF4.getFluidStack(10000))
+ .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(3000))
+ .duration(10 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(reactorProcessingUnitRecipes);
// Reactor Blanket step 1 - Fluorination
- CORE.RA.addReactorProcessingUnitRecipe(
- CI.getNumberedAdvancedCircuit(7),
- ELEMENT.getInstance().FLUORINE.getCell(6),
- NUCLIDE.Sparged_LiFThF4.getFluidStack(10000),
- new ItemStack[] { CI.emptyCells(4), FLUORIDES.LITHIUM_FLUORIDE.getCell(2),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1) },
- new int[] { 10000, 10000, 1000, 1000, 1000, 1000, 1000, 1000 },
- NUCLIDE.UF6F2.getFluidStack(3000),
- 20 * 60 * 5,
- MaterialUtils.getVoltageForTier(5));
- CORE.RA.addReactorProcessingUnitRecipe(
- CI.getNumberedAdvancedCircuit(8),
- ELEMENT.getInstance().FLUORINE.getCell(6),
- NUCLIDE.Sparged_LiFBeF2ThF4.getFluidStack(10000),
- new ItemStack[] { CI.emptyCells(2), FLUORIDES.LITHIUM_FLUORIDE.getCell(2),
- FLUORIDES.BERYLLIUM_FLUORIDE.getCell(2), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1),
- ELEMENT.getInstance().PROTACTINIUM.getDust(1) },
- new int[] { 10000, 10000, 10000, 2000, 2000, 2000, 2000, 2000, 2000 },
- NUCLIDE.UF6F2.getFluidStack(6000),
- 20 * 60 * 5,
- MaterialUtils.getVoltageForTier(5));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(7), ELEMENT.getInstance().FLUORINE.getCell(6))
+ .itemOutputs(
+ CI.emptyCells(4),
+ FLUORIDES.LITHIUM_FLUORIDE.getCell(2),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1))
+ .outputChances(10000, 10000, 1000, 1000, 1000, 1000, 1000, 1000)
+ .fluidInputs(NUCLIDE.Sparged_LiFThF4.getFluidStack(10000))
+ .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(3000))
+ .duration(5 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(reactorProcessingUnitRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(8), ELEMENT.getInstance().FLUORINE.getCell(6))
+ .itemOutputs(
+ CI.emptyCells(2),
+ FLUORIDES.LITHIUM_FLUORIDE.getCell(2),
+ FLUORIDES.BERYLLIUM_FLUORIDE.getCell(2),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1),
+ ELEMENT.getInstance().PROTACTINIUM.getDust(1))
+ .outputChances(10000, 10000, 10000, 2000, 2000, 2000, 2000, 2000, 2000)
+ .fluidInputs(NUCLIDE.Sparged_LiFBeF2ThF4.getFluidStack(10000))
+ .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(6000))
+ .duration(5 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(reactorProcessingUnitRecipes);
// Reactor Blanket step 2 - Sorption + Cold Trap
- CORE.RA.addColdTrapRecipe(
- 8,
- FLUORIDES.SODIUM_FLUORIDE.getCell(4),
- NUCLIDE.UF6F2.getFluidStack(3000),
- new ItemStack[] { ELEMENT.getInstance().FLUORINE.getCell(2), FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2),
- ELEMENT.getInstance().URANIUM233.getDust(1), ELEMENT.getInstance().URANIUM233.getDust(1),
- ELEMENT.getInstance().URANIUM233.getDust(1) },
- new int[] { 10000, 10000, 3000, 2000, 1000 },
- FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000),
- 20 * 60 * 10,
- MaterialUtils.getVoltageForTier(3));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(8), FLUORIDES.SODIUM_FLUORIDE.getCell(4))
+ .itemOutputs(
+ ELEMENT.getInstance().FLUORINE.getCell(2),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2),
+ ELEMENT.getInstance().URANIUM233.getDust(1),
+ ELEMENT.getInstance().URANIUM233.getDust(1),
+ ELEMENT.getInstance().URANIUM233.getDust(1))
+ .outputChances(10000, 10000, 3000, 2000, 1000)
+ .fluidInputs(NUCLIDE.UF6F2.getFluidStack(3000))
+ .fluidOutputs(FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000))
+ .duration(10 * MINUTES)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(coldTrapRecipes);
// LiBeF2UF4FP + F2 = LiFBeF2 & UF6F2FP
// Reactor Core step 1 - Process Burnt Salt
- CORE.RA.addReactorProcessingUnitRecipe(
- CI.getNumberedAdvancedCircuit(1),
- ELEMENT.getInstance().FLUORINE.getCell(1),
- NUCLIDE.LiFBeF2UF4FP.getFluidStack(1000),
- new ItemStack[] { NUCLIDE.UF6F2FP.getCell(1) },
- new int[] { 10000 },
- FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 1000),
- 20 * 60 * 120,
- MaterialUtils.getVoltageForTier(3));
-
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(1), ELEMENT.getInstance().FLUORINE.getCell(1))
+ .itemOutputs(NUCLIDE.UF6F2FP.getCell(1))
+ .outputChances(10000)
+ .fluidInputs(NUCLIDE.LiFBeF2UF4FP.getFluidStack(1000))
+ .fluidOutputs(FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 1000))
+ .duration(2 * HOURS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(reactorProcessingUnitRecipes);
// LiBeF2UF4FP + F2 = LiFBeF2 & UF6F2FP
// Reactor Core step 1 - Process Burnt Salt
- CORE.RA.addReactorProcessingUnitRecipe(
- CI.getNumberedAdvancedCircuit(1),
- ELEMENT.getInstance().FLUORINE.getCell(3),
- NUCLIDE.Sparged_LiFBeF2UF4FP.getFluidStack(1000),
- new ItemStack[] { CI.emptyCells(1), NUCLIDE.UF6F2FP.getCell(2) },
- new int[] { 10000 },
- FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 2000),
- 20 * 60 * 60,
- MaterialUtils.getVoltageForTier(3));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(1), ELEMENT.getInstance().FLUORINE.getCell(3))
+ .itemOutputs(CI.emptyCells(1), NUCLIDE.UF6F2FP.getCell(2))
+ .fluidInputs(NUCLIDE.Sparged_LiFBeF2UF4FP.getFluidStack(1000))
+ .fluidOutputs(FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 2000))
+ .duration(60 * MINUTES)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(reactorProcessingUnitRecipes);
// Reactor Core step 2A - Sorption + Cold Trap
- CORE.RA.addColdTrapRecipe(
- 8,
- FLUORIDES.SODIUM_FLUORIDE.getCell(3),
- NUCLIDE.UF6F2FP.getFluidStack(2000),
- new ItemStack[] { ELEMENT.getInstance().FLUORINE.getCell(1), FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2),
- ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1),
- ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1),
- ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1) },
- new int[] { 10000, 10000, 5000, 5000, 5000, 5000, 5000, 5000 },
- FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000),
- 20 * 60 * 10,
- MaterialUtils.getVoltageForTier(4));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(8), FLUORIDES.SODIUM_FLUORIDE.getCell(3))
+ .itemOutputs(
+ ELEMENT.getInstance().FLUORINE.getCell(1),
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2),
+ ELEMENT.getInstance().PHOSPHORUS.getDust(1),
+ ELEMENT.getInstance().PHOSPHORUS.getDust(1),
+ ELEMENT.getInstance().PHOSPHORUS.getDust(1),
+ ELEMENT.getInstance().PHOSPHORUS.getDust(1),
+ ELEMENT.getInstance().PHOSPHORUS.getDust(1),
+ ELEMENT.getInstance().PHOSPHORUS.getDust(1))
+ .outputChances(10000, 10000, 5000, 5000, 5000, 5000, 5000, 5000)
+ .fluidInputs(NUCLIDE.UF6F2FP.getFluidStack(2000))
+ .fluidOutputs(FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000))
+ .duration(10 * MINUTES)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(coldTrapRecipes);
// Reactor Core step 2B - Distillation
GT_Values.RA.stdBuilder()
@@ -214,45 +228,28 @@ public class RecipeLoader_NuclearFuelProcessing {
.addTo(blastFurnaceRecipes);
// Alternative recipe to the above, for chemplant, to not use cells
- CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] {},
- new FluidStack[] { FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(1000), NUCLIDE.LiFBeF2.getFluidStack(1000),
- ELEMENT.getInstance().HYDROGEN.getFluidStack(2000) },
- new ItemStack[] {},
- new FluidStack[] { NUCLIDE.LiFBeF2UF4.getFluidStack(3000),
- FluidUtils.getFluidStack("hydrofluoricacid", 2000) },
- 300 * 10,
- MaterialUtils.getVoltageForTier(5),
- 4);
-
- CORE.RA.addFissionFuel(
- FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(100),
- NUCLIDE.LiFBeF2UF4.getFluidStack(900),
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(1000),
- null,
- 20 * 60 * 12, // Duration
- MaterialUtils.getVoltageForTier(5));
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(1000),
+ NUCLIDE.LiFBeF2.getFluidStack(1000),
+ ELEMENT.getInstance().HYDROGEN.getFluidStack(2000))
+ .fluidOutputs(NUCLIDE.LiFBeF2UF4.getFluidStack(3000), FluidUtils.getFluidStack("hydrofluoricacid", 2000))
+ .duration(2 * MINUTES + 30 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .metadata(CHEMPLANT_CASING_TIER, 4)
+ .addTo(chemicalPlantRecipes);
- CORE.RA.addFissionFuel(
- FLUORIDES.THORIUM_TETRAFLUORIDE.getFluidStack(100),
- NUCLIDE.LiFBeF2UF4.getFluidStack(900),
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(1000),
- null,
- 20 * 60 * 15, // Duration
- MaterialUtils.getVoltageForTier(5));
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(100), NUCLIDE.LiFBeF2UF4.getFluidStack(900))
+ .fluidOutputs(NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(1000))
+ .duration(12 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(fissionFuelProcessingRecipes);
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(FLUORIDES.THORIUM_TETRAFLUORIDE.getFluidStack(100), NUCLIDE.LiFBeF2UF4.getFluidStack(900))
+ .fluidOutputs(NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(1000))
+ .duration(15 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(fissionFuelProcessingRecipes);
}
}