aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders')
-rw-r--r--src/main/java/gregtech/loaders/load/GT_FuelLoader.java186
-rw-r--r--src/main/java/gregtech/loaders/load/GT_ItemIterator.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java23
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java16
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java31
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java8
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java28
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java19
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java238
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java6
10 files changed, 266 insertions, 293 deletions
diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
index 0343362c77..bed97ca010 100644
--- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
+++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
@@ -3,6 +3,12 @@ package gregtech.loaders.load;
import static gregtech.api.enums.Mods.BloodMagic;
import static gregtech.api.enums.Mods.EnderIO;
import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.recipe.RecipeMaps.extremeNaquadahReactorFuels;
+import static gregtech.api.recipe.RecipeMaps.hugeNaquadahReactorFuels;
+import static gregtech.api.recipe.RecipeMaps.largeNaquadahReactorFuels;
+import static gregtech.api.recipe.RecipeMaps.magicFuels;
+import static gregtech.api.recipe.RecipeMaps.smallNaquadahReactorFuels;
+import static gregtech.api.recipe.RecipeMaps.ultraHugeNaquadahReactorFuels;
import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
@@ -16,11 +22,9 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.fluid.GT_FluidFactory;
-import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_RecipeConstants;
public class GT_FuelLoader implements Runnable {
@@ -39,117 +43,79 @@ public class GT_FuelLoader implements Runnable {
ItemList.sLeadZincSolution = GT_FluidFactory
.of("leadzincsolution", "Lead-Zinc solution", null, FluidState.LIQUID, 295);
ItemList.sRocketFuel = GT_FluidFactory.of("rocket_fuel", "Rocket Fuel", null, FluidState.LIQUID, 295);
- new GT_Recipe(
- new ItemStack(Items.lava_bucket),
- new ItemStack(Blocks.obsidian),
- GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L),
- GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L),
- GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L),
- 30,
- 2);
- RecipeMaps.smallNaquadahReactorFuels.addRecipe(
- true,
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L) },
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 50000);
- RecipeMaps.largeNaquadahReactorFuels.addRecipe(
- true,
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L) },
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 250000);
- RecipeMaps.hugeNaquadahReactorFuels.addRecipe(
- true,
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L) },
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 500000);
- RecipeMaps.extremeNaquadahReactorFuels.addRecipe(
- true,
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L) },
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 250000);
- RecipeMaps.ultraHugeNaquadahReactorFuels.addRecipe(
- true,
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L) },
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 1000000);
- RecipeMaps.fluidNaquadahReactorFuels.addRecipe(
- true,
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NaquadahEnriched, 1L) },
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naquadah, 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 1400000);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 50_000)
+ .addTo(smallNaquadahReactorFuels);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 250_000)
+ .addTo(largeNaquadahReactorFuels);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 500_000)
+ .addTo(hugeNaquadahReactorFuels);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 250_000)
+ .addTo(extremeNaquadahReactorFuels);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 1_000_000)
+ .addTo(ultraHugeNaquadahReactorFuels);
// BloodMagic
- RecipeMaps.magicFuels.addRecipe(
- true,
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) },
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 400);
- RecipeMaps.magicFuels.addRecipe(
- true,
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) },
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 1000);
- RecipeMaps.magicFuels.addRecipe(
- true,
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) },
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 8000);
- RecipeMaps.magicFuels.addRecipe(
- true,
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27) },
- new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) },
- null,
- null,
- null,
- 0,
- 0,
- 20000);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L))
+ .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 400)
+ .addTo(magicFuels);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L))
+ .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 1000)
+ .addTo(magicFuels);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L))
+ .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 8000)
+ .addTo(magicFuels);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27))
+ .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L))
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, 20000)
+ .addTo(magicFuels);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4))
diff --git a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java
index 26534f5414..a44b411ba0 100644
--- a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java
+++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java
@@ -240,10 +240,6 @@ public class GT_ItemIterator implements Runnable {
.duration(20 * SECONDS)
.eut(2)
.addTo(maceratorRecipes);
- GT_ModHandler.addSawmillRecipe(
- new ItemStack(tItem, 1, 0),
- new ItemStack(Items.stick, 4),
- new ItemStack(Items.stick, 2));
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(tItem, 1, 1))
.itemOutputs(new ItemStack(Items.stick, 4))
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
index 5a6bdfcf13..f7057065eb 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
@@ -1,8 +1,11 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.enums.GT_Values.RA;
import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.extractorRecipes;
import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
@@ -11,7 +14,6 @@ import java.util.ArrayList;
import net.minecraft.item.ItemStack;
-import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -39,11 +41,16 @@ public class ProcessingCell implements IOreRecipeRegistrator {
if (aMaterial == Materials.Empty) {
GT_ModHandler.removeRecipeByOutputDelayed(aStack);
if (aModName.equalsIgnoreCase("AtomicScience")) {
- GT_ModHandler.addExtractionRecipe(ItemList.Cell_Empty.get(1L), aStack);
+ RA.stdBuilder()
+ .itemInputs(ItemList.Cell_Empty.get(1L))
+ .itemOutputs(aStack)
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
}
} else {
if (aMaterial.mFuelPower > 0) {
- GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ GT_RecipeBuilder recipeBuilder = RA.stdBuilder();
recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack));
if (GT_Utility.getFluidForFilledItem(aStack, true) == null
&& GT_Utility.getContainerItem(aStack, true) != null) {
@@ -122,7 +129,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
// Electrolyzer recipe
if (GT_Utility.getFluidForFilledItem(aStack, true) == null) {
// dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide
- GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ GT_RecipeBuilder recipeBuilder = RA.stdBuilder();
if (tCapsuleCount > 0L) {
recipeBuilder.itemInputs(
GT_Utility.copyAmount(tItemAmount, aStack),
@@ -140,7 +147,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
.addTo(electrolyzerRecipes);
} else {
long tCellBalance = tCapsuleCount + tItemAmount - 1;
- GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ GT_RecipeBuilder recipeBuilder = RA.stdBuilder();
if (tCellBalance > 0L) {
recipeBuilder.itemInputs(aStack, ItemList.Cell_Empty.get(tCellBalance));
} else {
@@ -157,7 +164,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
}
}
if ((aMaterial.mExtraData & 0x2) != 0) {
- GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ GT_RecipeBuilder recipeBuilder = RA.stdBuilder();
if (tCapsuleCount > 0L) {
recipeBuilder.itemInputs(
GT_Utility.copyAmount(tItemAmount, aStack),
@@ -180,7 +187,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
if (aMaterial == Materials.Empty) {
GT_ModHandler.removeRecipeByOutputDelayed(aStack);
} else {
- GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ GT_RecipeBuilder recipeBuilder = RA.stdBuilder();
recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack));
if (GT_Utility.getFluidForFilledItem(aStack, true) == null
&& GT_Utility.getContainerItem(aStack, true) != null) {
@@ -426,7 +433,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
.addTo(GT_RecipeConstants.Fuel);
}
if (GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L) != null) {
- GT_Values.RA.stdBuilder()
+ RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L))
.duration(((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS)
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
index 7cb26f7c36..c8a3af1130 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
@@ -290,16 +290,12 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L));
break;
case "Oilsands":
- centrifugeRecipes.addRecipe(
- true,
- new ItemStack[] { GT_Utility.copyAmount(1, aStack) },
- null,
- null,
- null,
- new FluidStack[] { Materials.OilHeavy.getFluid(1000) },
- 660,
- 8,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, aStack))
+ .fluidOutputs(Materials.OilHeavy.getFluid(1000))
+ .duration(33 * SECONDS)
+ .eut(8)
+ .addTo(centrifugeRecipes);
break;
case "HydratedCoal":
GT_ModHandler.addSmeltingRecipe(
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
index f3e82c0b0e..9661033e6a 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
@@ -1,8 +1,11 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.enums.GT_Values.RA;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeBuilder.WILDCARD;
import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
import java.util.Locale;
@@ -59,21 +62,21 @@ public class ProcessingDye implements IOreRecipeRegistrator {
}
public void registerAlloySmelter(ItemStack stack, Dyes dye) {
- GT_ModHandler.addAlloySmelterRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L),
- GT_Utility.copyAmount(1, stack),
- new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex),
- 200,
- 8,
- false);
+ RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L),
+ GT_Utility.copyAmount(1, stack))
+ .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex))
+ .duration(10 * SECONDS)
+ .eut(8)
+ .addTo(alloySmelterRecipes);
- GT_ModHandler.addAlloySmelterRecipe(
- new ItemStack(Blocks.glass, 8, 32767),
- GT_Utility.copyAmount(1, stack),
- new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex),
- 200,
- 8,
- false);
+ RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.glass, 8, WILDCARD), GT_Utility.copyAmount(1, stack))
+ .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex))
+ .duration(10 * SECONDS)
+ .eut(8)
+ .addTo(alloySmelterRecipes);
}
public void registerChemicalReactor(ItemStack stack, Dyes dye) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
index 737ef4682a..5985e24dc7 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
@@ -187,10 +187,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(10 * SECONDS)
.eut(8)
.addTo(cutterRecipes);
- GT_ModHandler.addSawmillRecipe(
- new ItemStack(aStack.getItem(), 1, i),
- tPlanks,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
GT_ModHandler.removeRecipeDelayed(new ItemStack(aStack.getItem(), 1, i));
GT_ModHandler.addCraftingRecipe(
GT_Utility.copyAmount(
@@ -260,10 +256,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(10 * SECONDS)
.eut(8)
.addTo(cutterRecipes);
- GT_ModHandler.addSawmillRecipe(
- GT_Utility.copyAmount(1, aStack),
- tPlanks,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
GT_ModHandler.removeRecipeDelayed(GT_Utility.copyAmount(1, aStack));
GT_ModHandler.addCraftingRecipe(
GT_Utility.copyAmount(
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
index be8322f30c..801eaa8354 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
@@ -2,6 +2,7 @@ package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.GT_Values.L;
import static gregtech.api.enums.GT_Values.NI;
+import static gregtech.api.enums.GT_Values.RA;
import static gregtech.api.enums.GT_Values.W;
import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
@@ -15,6 +16,7 @@ import static gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLIS
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_RecipeBuilder.WILDCARD;
import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -552,20 +554,18 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.addTo(alloySmelterRecipes);
}
case "plateAlloyAdvanced" -> {
- GT_ModHandler.addAlloySmelterRecipe(
- GT_Utility.copyAmount(1, aStack),
- new ItemStack(Blocks.glass, 3, W),
- GT_ModHandler.getIC2Item("reinforcedGlass", 4L),
- 400,
- 4,
- false);
- GT_ModHandler.addAlloySmelterRecipe(
- GT_Utility.copyAmount(1, aStack),
- Materials.Glass.getDust(3),
- GT_ModHandler.getIC2Item("reinforcedGlass", 4L),
- 400,
- 4,
- false);
+ RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, aStack), new ItemStack(Blocks.glass, 3, WILDCARD))
+ .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L))
+ .duration(20 * SECONDS)
+ .eut(4)
+ .addTo(alloySmelterRecipes);
+ RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, aStack), Materials.Glass.getDust(3))
+ .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L))
+ .duration(20 * SECONDS)
+ .eut(4)
+ .addTo(alloySmelterRecipes);
}
case "plateAlloyIridium" ->
diff --git a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java
index 92221025bd..d4e653dba2 100644
--- a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java
+++ b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java
@@ -1,18 +1,23 @@
package gregtech.loaders.postload;
import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_ModHandler;
public class GT_FakeRecipeLoader implements Runnable {
@Override
public void run() {
- GT_Values.RA.addIC2ReactorBreederCell(
- GT_ModHandler.getIC2Item("reactorLithiumCell", 1),
- GT_ModHandler.getIC2Item("TritiumCell", 1),
- true,
- 3000,
- 1,
- 10000);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getIC2Item("reactorLithiumCell", 1))
+ .itemOutputs(GT_ModHandler.getIC2Item("TritiumCell", 1))
+ .setNEIDesc(
+ "Neutron reflecting Breeder",
+ String.format("Every %d reactor hull heat", 3_000),
+ String.format("increase speed by %d00%%", 1),
+ String.format("Required pulses: %d", 10_000))
+ .duration(0)
+ .eut(0)
+ .addTo(RecipeMaps.ic2NuclearFakeRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
index dabcd93a8d..1765d9693a 100644
--- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
@@ -4,11 +4,13 @@ import static gregtech.api.enums.Mods.BartWorks;
import static gregtech.api.enums.Mods.GTPlusPlus;
import static gregtech.api.enums.Mods.GoodGenerator;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.recipe.RecipeMaps.nanoForgeRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
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.AssemblyLine;
+import static gregtech.api.util.GT_RecipeConstants.NANO_FORGE_TIER;
import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM;
import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME;
@@ -23,9 +25,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.MaterialsUEVplus;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TierEU;
-import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_RecipeBuilder;
public class GT_NaniteChain {
@@ -86,135 +86,143 @@ public class GT_NaniteChain {
*/
// Carbon Nanites - Used to make more Nano Forge Controllers
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUVTierLens, getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776),
- ItemList.Circuit_Chip_SoC.get(64) },
- new FluidStack[] { Materials.UUMatter.getFluid(200_000) },
- new ItemStack[] { Materials.Carbon.getNanite(64), },
- null,
- null,
- 500 * 20,
- 10_000_000,
- 1);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUVTierLens,
+ getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776),
+ ItemList.Circuit_Chip_SoC.get(64))
+ .itemOutputs(Materials.Carbon.getNanite(64))
+ .fluidInputs(Materials.UUMatter.getFluid(200_000))
+ .metadata(NANO_FORGE_TIER, 1)
+ .duration(8 * MINUTES + 20 * SECONDS)
+ .eut(10_000_000)
+ .addTo(nanoForgeRecipes);
// Silver Nanites - Used in Tier 2 PCB Factory to improve board production
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) },
- new FluidStack[] { Materials.UUMatter.getFluid(200000) },
- new ItemStack[] { Materials.Silver.getNanite(1) },
- null,
- null,
- 750 * 20,
- 10_000_000,
- 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16))
+ .itemOutputs(Materials.Silver.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(200_000))
+ .metadata(NANO_FORGE_TIER, 2)
+ .duration(37 * MINUTES + 30 * SECONDS)
+ .eut(10_000_000)
+ .addTo(nanoForgeRecipes);
// Neutronium Nanites - Used to upgrade the Nano Forge to Tier 2
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUHVTierLens, Materials.Neutronium.getBlocks(8), ItemList.Circuit_Chip_SoC2.get(64),
- ItemList.Circuit_Chip_SoC2.get(32) },
- new FluidStack[] { Materials.UUMatter.getFluid(200000) },
- new ItemStack[] { Materials.Neutronium.getNanite(1) },
- null,
- null,
- 100 * 20,
- 100_000_000,
- 1);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUHVTierLens,
+ Materials.Neutronium.getBlocks(8),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(32))
+ .itemOutputs(Materials.Neutronium.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(200_000))
+ .metadata(NANO_FORGE_TIER, 1)
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(100_000_000)
+ .addTo(nanoForgeRecipes);
// Glowstone Nanites - Used in the optical circuit line
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUEVTierLens, getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double
- // compressed
- // glowstone
- // blocks
- // (yes, it's
- // not
- // obsidian)
- ItemList.Circuit_Chip_SoC2.get(64) },
- new FluidStack[] { Materials.UUMatter.getFluid(50000) },
- new ItemStack[] { Materials.Glowstone.getNanite(64) },
- null,
- null,
- 200 * 20,
- 50_000_000,
- 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUEVTierLens,
+ getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double compressed glowstone blocks (yes,
+ // it's not obsidian)
+ ItemList.Circuit_Chip_SoC2.get(64))
+ .itemOutputs(Materials.Glowstone.getNanite(64))
+ .fluidInputs(Materials.UUMatter.getFluid(50_000))
+ .metadata(NANO_FORGE_TIER, 2)
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(50_000_000)
+ .addTo(nanoForgeRecipes);
// Gold Nanites - Used in Tier 3 PCB Factory to improve board production
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) },
- new FluidStack[] { Materials.UUMatter.getFluid(300000) },
- new ItemStack[] { Materials.Gold.getNanite(1) },
- null,
- null,
- 1_000 * 20,
- 100_000_000,
- 3);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16))
+ .itemOutputs(Materials.Gold.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(300_000))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(16 * MINUTES + 40 * SECONDS)
+ .eut(100_000_000)
+ .addTo(nanoForgeRecipes);
// Transcendent Metal Nanites - Used to upgrade the Nano Forge to Tier 3
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUIVTierLens, MaterialsUEVplus.TranscendentMetal.getBlocks(8),
- ItemList.Circuit_Chip_SoC2.get(64), ItemList.Circuit_Chip_SoC2.get(64),
- ItemList.Circuit_Chip_SoC2.get(64) },
- new FluidStack[] { Materials.UUMatter.getFluid(2000000) },
- new ItemStack[] { MaterialsUEVplus.TranscendentMetal.getNanite(1) },
- null,
- null,
- 750 * 20,
- 1_000_000_000,
- 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUIVTierLens,
+ MaterialsUEVplus.TranscendentMetal.getBlocks(8),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(64))
+ .itemOutputs(MaterialsUEVplus.TranscendentMetal.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(2_000_000))
+ .metadata(NANO_FORGE_TIER, 2)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(1_000_000_000)
+ .addTo(nanoForgeRecipes);
// White Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter.
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto
- // lens
- getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any
- // better naming
- MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUMVTierLens,
+ getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens
+ getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better
+ // naming
+ MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8),
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32),
getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit
- },
- new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000),
- MaterialsUEVplus.Space.getMolten(720), },
- new ItemStack[] { MaterialsUEVplus.WhiteDwarfMatter.getNanite(4) },
- null,
- null,
- 750 * 20,
- 2_000_000_000,
- 3);
+ )
+ .itemOutputs(MaterialsUEVplus.WhiteDwarfMatter.getNanite(4))
+ .fluidInputs(
+ Materials.UUMatter.getFluid(500_000),
+ MaterialsUEVplus.RawStarMatter.getFluid(50_000),
+ MaterialsUEVplus.Space.getMolten(720))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(2_000_000_000)
+ .addTo(nanoForgeRecipes);
// Black Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter.
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto
- // lens
- getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any
- // better naming
- MaterialsUEVplus.BlackDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUMVTierLens,
+ getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens
+ getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better
+ // naming
+ MaterialsUEVplus.BlackDwarfMatter.getBlocks(8),
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32),
getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit
- },
- new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000),
- MaterialsUEVplus.Time.getMolten(720), },
- new ItemStack[] { MaterialsUEVplus.BlackDwarfMatter.getNanite(4) },
- null,
- null,
- 750 * 20,
- 2_000_000_000,
- 3);
+ )
+ .itemOutputs(MaterialsUEVplus.BlackDwarfMatter.getNanite(4))
+ .fluidInputs(
+ Materials.UUMatter.getFluid(500_000),
+ MaterialsUEVplus.RawStarMatter.getFluid(50_000),
+ MaterialsUEVplus.Time.getMolten(720))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(2_000_000_000)
+ .addTo(nanoForgeRecipes);
// Universium nanites.
- GT_Values.RA.addNanoForgeRecipe(
- new ItemStack[] { aUMVTierLens,
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUMVTierLens,
// Quantum Anomaly, couldn't find any better naming.
- getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), MaterialsUEVplus.Universium.getBlocks(8),
-
- ItemList.Optically_Perfected_CPU.get(16), ItemList.Optically_Compatible_Memory.get(16),
+ getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105),
+ MaterialsUEVplus.Universium.getBlocks(8),
+ ItemList.Optically_Perfected_CPU.get(16),
+ ItemList.Optically_Compatible_Memory.get(16),
getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit
- },
- new FluidStack[] { MaterialsUEVplus.SpaceTime.getMolten(144), Materials.Infinity.getMolten(576),
- MaterialsUEVplus.PrimordialMatter.getFluid(64_000), },
- new ItemStack[] { MaterialsUEVplus.Universium.getNanite(2) },
- null,
- null,
- 750 * 20,
- 2_000_000_000,
- 3);
+ )
+ .itemOutputs(MaterialsUEVplus.Universium.getNanite(2))
+ .fluidInputs(
+ MaterialsUEVplus.SpaceTime.getMolten(144),
+ Materials.Infinity.getMolten(576),
+ MaterialsUEVplus.PrimordialMatter.getFluid(64_000))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(2_000_000_000)
+ .addTo(nanoForgeRecipes);
// Eternity nanites
GT_Values.RA.stdBuilder()
@@ -229,12 +237,12 @@ public class GT_NaniteChain {
.itemOutputs(MaterialsUEVplus.Eternity.getNanite(4))
.fluidInputs(
MaterialsUEVplus.Space.getMolten(1152),
- MaterialsUEVplus.ExcitedDTSC.getFluid(50000),
+ MaterialsUEVplus.ExcitedDTSC.getFluid(50_000),
MaterialsUEVplus.PrimordialMatter.getFluid(64_000))
- .duration(750 * GT_RecipeBuilder.SECONDS)
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
.eut(TierEU.RECIPE_MAX)
- .specialValue(3)
- .addTo(RecipeMaps.nanoForgeRecipes);
+ .addTo(nanoForgeRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java
index e8a52dd1f8..e700ee0730 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java
@@ -28,7 +28,7 @@ public class PrinterRecipes implements Runnable {
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Paper_Punch_Card_Empty.get(1L))
- .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data"))
+ .special(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data"))
.itemOutputs(ItemList.Paper_Punch_Card_Encoded.get(1L))
.fluidInputs(getFluidStack("squidink", 36))
.duration(5 * SECONDS)
@@ -37,7 +37,7 @@ public class PrinterRecipes implements Runnable {
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3L))
- .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data"))
+ .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data"))
.itemOutputs(ItemList.Paper_Printed_Pages.get(1L))
.fluidInputs(getFluidStack("squidink", 144))
.duration(20 * SECONDS)
@@ -46,7 +46,7 @@ public class PrinterRecipes implements Runnable {
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.map, 1, 32767))
- .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data"))
+ .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data"))
.itemOutputs(new ItemStack(Items.filled_map, 1, 0))
.fluidInputs(getFluidStack("squidink", 144))
.duration(20 * SECONDS)