aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/oreprocessing
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders/oreprocessing')
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java93
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java27
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java98
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java863
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java18
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java102
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java18
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java172
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java225
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java122
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java28
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java141
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java575
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java322
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java73
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java42
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java108
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java16
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java24
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java15
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java33
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java17
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java232
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java398
29 files changed, 2294 insertions, 1563 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java
index 0e5a2ae241..44474c65da 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.item.ItemStack;
@@ -26,15 +29,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
tOutput,
Enchantment.smite,
EnchantmentHelper.getEnchantmentLevel(Enchantment.smite.effectId, tOutput) + 3);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.HolyWater.getFluid(25L),
- tOutput,
- null,
- null,
- null,
- 100,
- 2);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(tOutput)
+ .fluidInputs(Materials.HolyWater.getFluid(25L))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(sChemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1L, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -42,15 +45,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
tOutput,
Enchantment.fireAspect,
EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, tOutput) + 3);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.FierySteel.getFluid(25L),
- tOutput,
- null,
- null,
- null,
- 100,
- 2);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(tOutput)
+ .fluidInputs(Materials.FierySteel.getFluid(25L))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(sChemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1L, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -58,15 +61,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
tOutput,
Enchantment.fireAspect,
EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, tOutput) + 1);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Blaze.getMolten(18L),
- tOutput,
- null,
- null,
- null,
- 100,
- 2);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(tOutput)
+ .fluidInputs(Materials.Blaze.getMolten(18L))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(sChemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1L, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -74,15 +77,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
tOutput,
Enchantment.knockback,
EnchantmentHelper.getEnchantmentLevel(Enchantment.knockback.effectId, tOutput) + 1);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Rubber.getMolten(18L),
- tOutput,
- null,
- null,
- null,
- 100,
- 2);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(tOutput)
+ .fluidInputs(Materials.Rubber.getMolten(18L))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(sChemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1L, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -91,15 +94,15 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
gregtech.api.enchants.Enchantment_EnderDamage.INSTANCE,
EnchantmentHelper
.getEnchantmentLevel(gregtech.api.enchants.Enchantment_EnderDamage.INSTANCE.effectId, tOutput) + 1);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Mercury.getFluid(25L),
- tOutput,
- null,
- null,
- null,
- 100,
- 2);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(tOutput)
+ .fluidInputs(Materials.Mercury.getFluid(25L))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(sChemicalBathRecipes);
if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)
&& !aMaterial.contains(SubTag.NO_WORKING)) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
index 5add59e42d..d385c9b0c2 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -79,7 +82,15 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
if (tStack1 != null) tStack1.stackSize = 9;
if (tStack2 != null) tStack2.stackSize = 9;
if (tStack3 != null) tStack3.stackSize = 9;
- GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aStack)
+ .itemOutputs(tStack2)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(24)
+ .addTo(sHammerRecipes);
if (GregTech_API.sRecipeFile.get(
ConfigCategories.Recipes.storageblockdecrafting,
@@ -95,11 +106,15 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
}
if (!OrePrefixes.block.isIgnored(aMaterial)) {
- GT_ModHandler.addCompressionRecipe(
- GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L),
- GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L),
- 300,
- calculateRecipeEU(aMaterial, 2));
+ // 9 ingots -> 1 block
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, 2))
+ .addTo(sCompressorRecipes);
}
switch (aMaterial.mName) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
index 9d3475bcc8..536d610d61 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
+
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
@@ -94,48 +97,71 @@ public class ProcessingCell implements IOreRecipeRegistrator {
tItemAmount = GT_Utility.ceilDiv(tItemAmount * tDensityMultiplier, aMaterial.getDensity());
if (tList.size() > 0) {
if ((aMaterial.mExtraData & 0x1) != 0) {
- if (GT_Utility.getFluidForFilledItem(aStack, true) == null) {
- // dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide
- GT_Values.RA.addElectrolyzerRecipe(
- GT_Utility.copyAmount(tItemAmount, aStack),
- tCapsuleCount <= 0L ? 0 : (int) tCapsuleCount,
- tList.get(0),
- tList.size() >= 2 ? tList.get(1) : null,
- tList.size() >= 3 ? tList.get(2) : null,
- tList.size() >= 4 ? tList.get(3) : null,
- tList.size() >= 5 ? tList.get(4) : null,
- tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null
- : ItemList.Cell_Empty.get(-tCapsuleCount),
- (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)),
- Math.min(4, tList.size()) * 30);
- } else {
- long tCellBalance = tCapsuleCount + tItemAmount - 1;
- GT_Values.RA.addElectrolyzerRecipe(
- aStack,
- tCellBalance <= 0L ? 0 : (int) tCellBalance,
+ // Electrolyzer recipe
+ {
+ if (GT_Utility.getFluidForFilledItem(aStack, true) == null) {
+ int capsuleCount = tCapsuleCount <= 0L ? 0 : (int) tCapsuleCount;
+ ItemStack cells = capsuleCount <= 0 ? null
+ : ItemList.Cell_Empty.get(capsuleCount);
+ // dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(tItemAmount, aStack), cells)
+ .itemOutputs(
+ tList.get(0),
+ tList.size() >= 2 ? tList.get(1) : null,
+ tList.size() >= 3 ? tList.get(2) : null,
+ tList.size() >= 4 ? tList.get(3) : null,
+ tList.size() >= 5 ? tList.get(4) : null,
+ tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null
+ : ItemList.Cell_Empty.get(-tCapsuleCount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)))
+ .eut(Math.min(4, tList.size()) * 30)
+ .addTo(sElectrolyzerRecipes);
+ } else {
+ long tCellBalance = tCapsuleCount + tItemAmount - 1;
+ int capsuleCount = tCellBalance <= 0L ? 0 : (int) tCellBalance;
+ ItemStack cells = capsuleCount <= 0 ? null
+ : ItemList.Cell_Empty.get(capsuleCount);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aStack, cells)
+ .itemOutputs(
+ tList.get(0),
+ tList.size() >= 2 ? tList.get(1) : null,
+ tList.size() >= 3 ? tList.get(2) : null,
+ tList.size() >= 4 ? tList.get(3) : null,
+ tList.size() >= 5 ? tList.get(4) : null,
+ tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null
+ : tCellBalance < 0 ? ItemList.Cell_Empty.get(-tCellBalance) : null)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 8L * tItemAmount)))
+ .eut(Math.min(4, tList.size()) * 30)
+ .addTo(sElectrolyzerRecipes);
+ }
+ }
+ }
+ if ((aMaterial.mExtraData & 0x2) != 0) {
+ ItemStack emptyCells = tCapsuleCount > 0 ? ItemList.Cell_Empty.get(tCapsuleCount)
+ : null;
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(tItemAmount, aStack), emptyCells)
+ .itemOutputs(
tList.get(0),
tList.size() >= 2 ? tList.get(1) : null,
tList.size() >= 3 ? tList.get(2) : null,
tList.size() >= 4 ? tList.get(3) : null,
tList.size() >= 5 ? tList.get(4) : null,
tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null
- : tCellBalance < 0 ? ItemList.Cell_Empty.get(-tCellBalance) : null,
- (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 8L * tItemAmount)),
- Math.min(4, tList.size()) * 30);
- }
- }
- if ((aMaterial.mExtraData & 0x2) != 0) {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(tItemAmount, aStack),
- tCapsuleCount <= 0L ? 0 : (int) tCapsuleCount,
- tList.get(0),
- tList.size() >= 2 ? tList.get(1) : null,
- tList.size() >= 3 ? tList.get(2) : null,
- tList.size() >= 4 ? tList.get(3) : null,
- tList.size() >= 5 ? tList.get(4) : null,
- tCapsuleCount >= 0L ? tList.size() >= 6 ? tList.get(5) : null
- : ItemList.Cell_Empty.get(-tCapsuleCount),
- (int) Math.max(1L, Math.abs(aMaterial.getMass() * 2L * tItemAmount)));
+ : ItemList.Cell_Empty.get(-tCapsuleCount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(1L, Math.abs(aMaterial.getMass() * 2L * tItemAmount)))
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
index 97ee4e898f..7fb13aa6a3 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
@@ -3,6 +3,10 @@ package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
import static gregtech.api.enums.Mods.BuildCraftSilicon;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
+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 net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
@@ -11,6 +15,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -30,363 +35,533 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
GT_Utility.copyAmount(1L, aStack),
Materials.Concrete.getMolten(144L),
new ItemStack(net.minecraft.init.Items.comparator, 1, 0),
- 80,
- 20);
- case "craftingWireCopper", "craftingWireTin" -> GT_Values.RA.addAssemblerRecipe(
- ItemList.Circuit_Basic.get(1L),
- GT_Utility.copyAmount(1L, aStack),
- GT_ModHandler.getIC2Item("frequencyTransmitter", 1L),
- 80,
- 20);
- case "craftingLensBlue" -> {
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.IC2_LapotronCrystal.getWildcard(1L),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Parts_Crystal_Chip_Master.get(3L),
- 900,
- 480,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Chip_CrystalCPU.get(1L),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Chip_CrystalSoC.get(1),
- 600,
- 40000,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer2.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_PIC.get(1),
- 1200,
- 480,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer3.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_PIC.get(4),
+ 800,
+ 1);
+ case "craftingWireCopper", "craftingWireTin" -> {
+ GT_Values.RA.addAssemblerRecipe(
+ ItemList.Circuit_Basic.get(1L),
+ GT_Utility.copyAmount(1L, aStack),
+ GT_ModHandler.getIC2Item("frequencyTransmitter", 1L),
800,
- 1920,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer5.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_QPIC.get(1),
- 2400,
- 500000,
- true);
+ 1);
+ }
+ case "craftingLensBlue" -> {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.IC2_LapotronCrystal.getWildcard(1L), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Parts_Crystal_Chip_Master.get(3L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(45 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Chip_CrystalCPU.get(1L), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Chip_CrystalSoC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(30 * SECONDS)
+ .eut(40000)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_PIC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_PIC.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_QPIC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(2 * MINUTES)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(sLaserEngraverRecipes);
+
}
case "craftingLensYellow" -> {
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_LPIC.get(1),
- 800,
- 120,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer2.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_LPIC.get(4),
- 600,
- 480,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer3.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_SoC.get(1),
- 900,
- 1920,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer4.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_SoC.get(4),
- 600,
- 7680,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer5.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_SoC.get(8),
- 300,
- 30720,
- true);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_LPIC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_LPIC.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_SoC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(45 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_SoC.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_SoC.get(8))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(sLaserEngraverRecipes);
}
case "craftingLensOrange" -> {
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Simple_SoC.get(1),
- 300,
- 64,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer2.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Simple_SoC.get(4),
- 300,
- 256,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer3.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Simple_SoC.get(16),
- 300,
- 1024,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer4.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Simple_SoC.get(64),
- 300,
- 4096,
- false);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(64)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(256)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(16))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(1024)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(64))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(4096)
+ .addTo(sLaserEngraverRecipes);
+
}
case "craftingLensCyan" -> {
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Ram.get(1),
- 1200,
- 120,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer2.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Ram.get(4),
- 900,
- 480,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer3.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Ram.get(8),
- 600,
- 1920,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer4.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Ram.get(16),
- 300,
- 7680,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer5.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_Ram.get(32),
- 150,
- 30720,
- true);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Ram.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Ram.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(45 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Ram.get(8))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Ram.get(16))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_Ram.get(32))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(7 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(sLaserEngraverRecipes);
+
}
case "craftingLensRed" -> {
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Redstone, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0),
- 50,
- 120);
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.foil, Materials.RedAlloy, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EtchedLowVoltageWiring", 1L, 0),
- 200,
- 16);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_ILC.get(1),
- 1200,
- 120,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer2.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_ILC.get(4),
- 900,
- 480,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer3.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_ILC.get(8),
- 600,
- 1920,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer4.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_NPIC.get(1),
- 1800,
- 30720,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer5.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_NPIC.get(4),
- 1500,
- 122880,
- true);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Redstone, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.RedAlloy, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EtchedLowVoltageWiring", 1L, 0))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(16)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_ILC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_ILC.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(45 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_ILC.get(8))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_NPIC.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(1 * MINUTES + 30 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_NPIC.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(1 * MINUTES + 15 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(sLaserEngraverRecipes);
+
}
case "craftingLensGreen" -> {
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1L),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Chip_CrystalCPU.get(1),
- 600,
- 10000,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Chip_CrystalSoC.get(1L),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Chip_CrystalSoC2.get(1),
- 1200,
- 80000,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_ULPIC.get(2),
- 600,
- 30,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer2.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_ULPIC.get(8),
- 600,
- 120,
- false);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer3.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_SoC2.get(1),
- 1800,
- 1920,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer4.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_SoC2.get(2),
- 1500,
- 7680,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer5.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_SoC2.get(4),
- 1200,
- 30720,
- true);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1L), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Chip_CrystalCPU.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(30 * SECONDS)
+ .eut(10000)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Chip_CrystalSoC.get(1L), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Chip_CrystalSoC2.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(60 * SECONDS)
+ .eut(80000)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_ULPIC.get(2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(30 * SECONDS)
+ .eut(30)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_ULPIC.get(8))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_SoC2.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(1 * MINUTES + 30 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_SoC2.get(2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(1 * MINUTES + 15 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_SoC2.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(sLaserEngraverRecipes);
}
case "craftingLensWhite" -> {
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19),
- 2000,
- 1920);
- GT_Values.RA.addLaserEngraverRecipe(
- new ItemStack(Blocks.sandstone, 1, 2),
- GT_Utility.copyAmount(0L, aStack),
- new ItemStack(Blocks.sandstone, 1, 1),
- 50,
- 16);
- GT_Values.RA.addLaserEngraverRecipe(
- new ItemStack(Blocks.stone, 1, 0),
- GT_Utility.copyAmount(0L, aStack),
- new ItemStack(Blocks.stonebrick, 1, 3),
- 50,
- 16);
- GT_Values.RA.addLaserEngraverRecipe(
- new ItemStack(Blocks.quartz_block, 1, 0),
- GT_Utility.copyAmount(0L, aStack),
- new ItemStack(Blocks.quartz_block, 1, 1),
- 50,
- 16);
- GT_Values.RA.addLaserEngraverRecipe(
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1L),
- GT_Utility.copyAmount(0L, aStack),
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartzChiseled", 1L),
- 50,
- 16);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_CPU.get(1),
- 1200,
- 120,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer2.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_CPU.get(4),
- 900,
- 480,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer3.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_CPU.get(8),
- 600,
- 1920,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer4.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_CPU.get(16),
- 300,
- 7680,
- true);
- GT_Values.RA.addLaserEngraverRecipe(
- ItemList.Circuit_Silicon_Wafer5.get(1),
- GT_Utility.copyAmount(0L, aStack),
- ItemList.Circuit_Wafer_CPU.get(32),
- 150,
- 30720,
- true);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.sandstone, 1, 2), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(new ItemStack(Blocks.sandstone, 1, 1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(16)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.stone, 1, 0), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(new ItemStack(Blocks.stonebrick, 1, 3))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(16)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.quartz_block, 1, 0), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(new ItemStack(Blocks.quartz_block, 1, 1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(16)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartzChiseled", 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(16)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_CPU.get(1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_CPU.get(4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(45 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_CPU.get(8))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_CPU.get(16))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(sLaserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemList.Circuit_Wafer_CPU.get(32))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .requiresCleanRoom()
+ .duration(7 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(sLaserEngraverRecipes);
+
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java
index 9fdcb14055..2ab11042e3 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import net.minecraftforge.fluids.FluidRegistry;
import gregtech.api.enums.GT_Values;
@@ -18,9 +21,18 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
net.minecraft.item.ItemStack aStack) {
- GT_ModHandler.addCompressionRecipe(
- gregtech.api.util.GT_Utility.copyAmount(8L, aStack),
- ItemList.IC2_PlantballCompressed.get(1L));
+ // Compressor recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(gregtech.api.util.GT_Utility.copyAmount(8L, aStack))
+ .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(sCompressorRecipes);
+ }
+
switch (aOreDictName) {
case "cropTea" -> {
GT_Values.RA.addBrewingRecipe(aStack, FluidRegistry.WATER, FluidRegistry.getFluid("potion.tea"), false);
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
index a0c9b56b53..bc3895d60e 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
@@ -1,5 +1,11 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSifterRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
@@ -21,11 +27,15 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
ItemStack aStack) {
switch (aPrefix) {
case crushedCentrifuged -> {
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
- 10,
- 16);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * TICKS)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
GT_ModHandler.addPulverisationRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
@@ -37,44 +47,62 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
false);
}
case crushedPurified -> {
- GT_ModHandler.addThermalCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new int[] { 10000, 1111 },
- (int) Math.min(5000L, Math.abs(aMaterial.getMass() * 20L)),
- GT_OreDictUnificator.get(
- OrePrefixes.crushedCentrifuged,
- aMaterial.mMacerateInto,
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
- 1L),
- GT_OreDictUnificator.get(
- OrePrefixes.dust,
- GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts),
- 1L));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(
+ OrePrefixes.crushedCentrifuged,
+ aMaterial.mMacerateInto,
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
+ 1L),
+ GT_OreDictUnificator.get(
+ OrePrefixes.dust,
+ GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts),
+ 1L))
+ .outputChances(10000, 1111)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(25 * SECONDS)
+ .eut(48)
+ .addTo(sThermalCentrifugeRecipes);
+
ItemStack tGem = GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L);
if (tGem != null) {
switch (aMaterial.mName) {
- case "Tanzanite", "Sapphire", "Olivine", "GreenSapphire", "Opal", "Amethyst", "Emerald", "Ruby", "Amber", "Diamond", "FoolsRuby", "BlueTopaz", "GarnetRed", "Topaz", "Jasper", "GarnetYellow" -> GT_Values.RA
- .addSifterRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new ItemStack[] {
+ case "Tanzanite", "Sapphire", "Olivine", "GreenSapphire", "Opal", "Amethyst", "Emerald", "Ruby", "Amber", "Diamond", "FoolsRuby", "BlueTopaz", "GarnetRed", "Topaz", "Jasper", "GarnetYellow" -> {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L),
+ tGem,
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L))
+ .outputChances(300, 1200, 4500, 1400, 2800, 3500)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(sSifterRecipes);
+ }
+ default -> {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L),
- GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem,
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L),
+ tGem,
GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L),
GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L) },
- new int[] { 300, 1200, 4500, 1400, 2800, 3500 },
- 800,
- 16);
- default -> GT_Values.RA.addSifterRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L),
- GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem,
- GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L),
- GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L) },
- new int[] { 100, 400, 1500, 2000, 4000, 5000 },
- 800,
- 16);
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L))
+ .outputChances(100, 400, 1500, 2000, 4000, 5000)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(sSifterRecipes);
+ }
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java
index 3e64f05773..0f4451df53 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
@@ -19,11 +22,16 @@ public class ProcessingCrystallized implements gregtech.api.interfaces.IOreRecip
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
- 10,
- 16);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * TICKS)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
GT_ModHandler.addPulverisationRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
index 571b3d1a7f..e7cbc80241 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
@@ -1,6 +1,12 @@
package gregtech.loaders.oreprocessing;
-import gregtech.GT_Mod;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
+import net.minecraft.item.ItemStack;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -21,11 +27,15 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
net.minecraft.item.ItemStack aStack) {
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L),
- 10,
- 16);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
GT_ModHandler.addPulverisationRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(
@@ -52,91 +62,77 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
GT_Utility.selectItemInList(0, aMaterial.mMacerateInto, aMaterial.mOreByProducts),
1L),
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L));
- GT_ModHandler.addThermalCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new int[] { 10000, 1111, 10000 },
- (int) Math.min(5000L, Math.abs(aMaterial.getMass() * 20L)),
- GT_OreDictUnificator
- .get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedCentrifuged : OrePrefixes.dust, aMaterial, 1L),
- GT_OreDictUnificator.get(
- OrePrefixes.dust,
- GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts),
- 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L));
- if (aMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Mercury.getFluid(1000L),
- GT_OreDictUnificator.get(
- aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure,
- aMaterial,
- 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L),
- new int[] { 10000, 7000, 4000 },
- 800,
- 8);
- if (aMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Mercury.getFluid(1000L),
- GT_OreDictUnificator.get(
- aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure,
- aMaterial,
- 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L),
- new int[] { 10000, 9900, 4000 },
- 800,
- 8);
- if (aMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mDisableOldChemicalRecipes ? 1000L : 100L),
- GT_OreDictUnificator.get(
- aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure,
- aMaterial,
- 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L),
- new int[] { 10000, 7000, 4000 },
- 800,
- 8);
- for (Materials tMaterial : aMaterial.mOreByProducts) {
- if (tMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Mercury.getFluid(1000L),
- GT_OreDictUnificator.get(
- aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure,
- aMaterial,
- 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L),
- new int[] { 10000, 7000, 4000 },
- 800,
- 8);
- if (tMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Mercury.getFluid(1000L),
- GT_OreDictUnificator.get(
- aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure,
- aMaterial,
- 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L),
- new int[] { 10000, 9900, 4000 },
- 800,
- 8);
- if (tMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mDisableOldChemicalRecipes ? 1000L : 100L),
+ OrePrefixes prefix = aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedCentrifuged : OrePrefixes.dust;
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(prefix, aMaterial, 1L),
GT_OreDictUnificator.get(
- aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure,
- aMaterial,
+ OrePrefixes.dust,
+ GT_Utility.selectItemInList(1, aMaterial.mMacerateInto, aMaterial.mOreByProducts),
1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L),
- new int[] { 10000, 7000, 4000 },
- 800,
- 8);
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L))
+ .outputChances(10000, 1111, 10000)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(25 * SECONDS)
+ .eut(48)
+ .addTo(sThermalCentrifugeRecipes);
+
+ addChemicalBathRecipes(aMaterial, aStack, aPrefix);
+
+ for (Materials tMaterial : aMaterial.mOreByProducts) {
+ addChemicalBathRecipes(tMaterial, aStack, aPrefix);
+ }
+ }
+
+ private void addChemicalBathRecipes(Materials material, ItemStack stack, OrePrefixes prefix) {
+ OrePrefixes chemicalBathPrefix = prefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified
+ : OrePrefixes.dustPure;
+
+ if (material.contains(SubTag.WASHING_MERCURY)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(chemicalBathPrefix, material, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, material.mMacerateInto, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L))
+ .outputChances(10000, 7000, 4000)
+ .fluidInputs(Materials.Mercury.getFluid(1000L))
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(8)
+ .addTo(sChemicalBathRecipes);
+ }
+ if (material.contains(SubTag.WASHING_MERCURY_99_PERCENT)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(chemicalBathPrefix, material, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, material.mMacerateInto, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L))
+ .outputChances(10000, 9900, 4000)
+ .fluidInputs(Materials.Mercury.getFluid(1000L))
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(8)
+ .addTo(sChemicalBathRecipes);
+ }
+ if (material.contains(SubTag.WASHING_SODIUMPERSULFATE)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(chemicalBathPrefix, material, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, material.mMacerateInto, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L))
+ .outputChances(10000, 7000, 4000)
+ .fluidInputs(Materials.SodiumPersulfate.getFluid(100L))
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(8)
+ .addTo(sChemicalBathRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
index e7f2f52de0..758ffcd3b9 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
@@ -1,5 +1,10 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
@@ -9,7 +14,6 @@ import gregtech.api.enums.*;
import gregtech.api.objects.MaterialStack;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_RecipeRegistrator;
import gregtech.api.util.GT_Utility;
@@ -78,9 +82,15 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
} else if (!aMaterial.contains(SubTag.NO_WORKING)) {
if ((!OrePrefixes.block.isIgnored(aMaterial))
&& (null == GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))) {
- GT_ModHandler.addCompressionRecipe(
- GT_Utility.copyAmount(9L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L));
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(9L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(sCompressorRecipes);
}
// This is so disgustingly bad.
if (((OrePrefixes.block.isIgnored(aMaterial))
@@ -95,9 +105,17 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
&& (aMaterial != Materials.Paper)
&& (aMaterial != MaterialsUEVplus.TranscendentMetal)
&& (aMaterial != Materials.Clay)) {
- GT_ModHandler.addCompressionRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L));
+ // compressor recipe
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(sCompressorRecipes);
+ }
}
}
if ((aMaterial.mMaterialList.size() > 0) && ((aMaterial.mExtraData & 0x3) != 0)) {
@@ -152,35 +170,41 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
break;
}
}
- if ((aMaterial.mExtraData & 0x1) != 0) GT_Values.RA.addElectrolyzerRecipe(
- GT_Utility.copyAmount(tItemAmount, aStack),
- tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null,
- null,
- tFluid,
- tList.size() < 1 ? null : tList.get(0),
- tList.size() < 2 ? null : tList.get(1),
- tList.size() < 3 ? null : tList.get(2),
- tList.size() < 4 ? null : tList.get(3),
- tList.size() < 5 ? null : tList.get(4),
- tList.size() < 6 ? null : tList.get(5),
- null,
- (int) Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)),
- Math.min(4, tList.size()) * 30);
+ if ((aMaterial.mExtraData & 0x1) != 0) {
+ ItemStack cells = tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null;
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(tItemAmount, aStack), cells)
+ .itemOutputs(
+ tList.size() < 1 ? null : tList.get(0),
+ tList.size() < 2 ? null : tList.get(1),
+ tList.size() < 3 ? null : tList.get(2),
+ tList.size() < 4 ? null : tList.get(3),
+ tList.size() < 5 ? null : tList.get(4),
+ tList.size() < 6 ? null : tList.get(5))
+ .noFluidInputs()
+ .fluidOutputs(tFluid)
+ .duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)))
+ .eut(Math.min(4, tList.size()) * 30)
+ .addTo(sElectrolyzerRecipes);
+ }
if ((aMaterial.mExtraData & 0x2) != 0) {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(tItemAmount, aStack),
- tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null,
- null,
- tFluid,
- tList.size() < 1 ? null : tList.get(0),
- tList.size() < 2 ? null : tList.get(1),
- tList.size() < 3 ? null : tList.get(2),
- tList.size() < 4 ? null : tList.get(3),
- tList.size() < 5 ? null : tList.get(4),
- tList.size() < 6 ? null : tList.get(5),
- null,
- (int) Math.max(1L, Math.abs(aMaterial.getMass() * 4L * tItemAmount)),
- Math.min(4, tList.size()) * 5);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(tItemAmount, aStack),
+ tCapsuleCount > 0L ? ItemList.Cell_Empty.get(tCapsuleCount) : null)
+ .itemOutputs(
+ tList.size() < 1 ? null : tList.get(0),
+ tList.size() < 2 ? null : tList.get(1),
+ tList.size() < 3 ? null : tList.get(2),
+ tList.size() < 4 ? null : tList.get(3),
+ tList.size() < 5 ? null : tList.get(4),
+ tList.size() < 6 ? null : tList.get(5))
+ .noFluidInputs()
+ .fluidOutputs(tFluid)
+ .duration(Math.max(1L, Math.abs(aMaterial.getMass() * 4L * tItemAmount)))
+ .eut(Math.min(4, tList.size()) * 5)
+ .addTo(sCentrifugeRecipes);
}
}
}
@@ -237,7 +261,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
case "Mercury":
break;
case "Oilsands":
- GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(
+ sCentrifugeRecipes.addRecipe(
true,
new ItemStack[] { GT_Utility.copyAmount(1L, aStack) },
null,
@@ -374,90 +398,75 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
if (tImpureStack == null) {
tImpureStack = GT_OreDictUnificator.get(OrePrefixes.cell, tByProduct, 1L);
if (tImpureStack == null) {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- 0,
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
- null,
- null,
- null,
- null,
- null,
- (int) Math.max(1L, aMaterial.getMass()));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(1L, aMaterial.getMass()))
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
} else {
FluidStack tFluid = GT_Utility.getFluidForFilledItem(tImpureStack, true);
if (tFluid == null) {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(9L, aStack),
- 1,
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L),
- tImpureStack,
- null,
- null,
- null,
- null,
- (int) Math.max(1L, aMaterial.getMass() * 72L));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(9L, aStack), ItemList.Cell_Empty.get(1))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L),
+ tImpureStack)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(1L, aMaterial.getMass() * 72L))
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
} else {
tFluid.amount /= 10;
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- null,
- null,
- tFluid,
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
- null,
- null,
- null,
- null,
- null,
- null,
- (int) Math.max(1L, aMaterial.getMass() * 8L),
- 5);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
+ .noFluidInputs()
+ .fluidOutputs(tFluid)
+ .duration(Math.max(1L, aMaterial.getMass() * 8L))
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
}
}
} else {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(9L, aStack),
- 0,
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L),
- tImpureStack,
- null,
- null,
- null,
- null,
- (int) Math.max(1L, aMaterial.getMass() * 72L));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(9L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L), tImpureStack)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(1L, aMaterial.getMass() * 72L))
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
}
} else {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(2L, aStack),
- 0,
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L),
- tImpureStack,
- null,
- null,
- null,
- null,
- (int) Math.max(1L, aMaterial.getMass() * 16L));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), tImpureStack)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(1L, aMaterial.getMass() * 16L))
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
}
} else {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- null,
- null,
- null,
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
- GT_OreDictUnificator.get(
- OrePrefixes.dust,
- tByProduct,
- GT_OreDictUnificator.get(OrePrefixes.nugget, tByProduct, 1L),
- 1L),
- null,
- null,
- null,
- null,
- new int[] { 10000, 1111 },
- (int) Math.max(1L, aMaterial.getMass() * 8L),
- 5);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
+ GT_OreDictUnificator.get(
+ OrePrefixes.dust,
+ tByProduct,
+ GT_OreDictUnificator.get(OrePrefixes.nugget, tByProduct, 1L),
+ 1L))
+ .outputChances(10000, 1111)
+ .noFluidInputs()
+ .fluidOutputs()
+ .duration(Math.max(1L, aMaterial.getMass() * 8L))
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
}
}
case dustSmall -> {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
index 452a8e31fb..40594357dc 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
@@ -1,5 +1,10 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
+
import java.util.Locale;
import net.minecraft.init.Blocks;
@@ -22,61 +27,68 @@ public class ProcessingDye implements IOreRecipeRegistrator {
}
@Override
- public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
- ItemStack aStack) {
- Dyes aDye = Dyes.get(aOreDictName);
- if ((aDye.mIndex >= 0) && (aDye.mIndex < 16) && (GT_Utility.getContainerItem(aStack, true) == null)) {
- GT_ModHandler.addAlloySmelterRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L),
- GT_Utility.copyAmount(1L, aStack),
- new ItemStack(Blocks.stained_glass, 8, 15 - aDye.mIndex),
- 200,
- 8,
- false);
- GT_ModHandler.addAlloySmelterRecipe(
- new ItemStack(Blocks.glass, 8, 32767),
- GT_Utility.copyAmount(1L, aStack),
- new ItemStack(Blocks.stained_glass, 8, 15 - aDye.mIndex),
- 200,
- 8,
- false);
- GT_Values.RA.addMixerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getIntegratedCircuit(1),
- null,
- null,
- Materials.Water.getFluid(216L),
- FluidRegistry.getFluidStack(
- "dye.watermixed." + aDye.name()
- .toLowerCase(Locale.ENGLISH),
- 192),
- null,
- 16,
- 4);
- GT_Values.RA.addMixerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getIntegratedCircuit(1),
- null,
- null,
- GT_ModHandler.getDistilledWater(288L),
- FluidRegistry.getFluidStack(
- "dye.watermixed." + aDye.name()
- .toLowerCase(Locale.ENGLISH),
- 216),
- null,
- 16,
- 4);
- GT_Values.RA.addChemicalRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 2),
- Materials.SulfuricAcid.getFluid(432),
- FluidRegistry.getFluidStack(
- "dye.chemical." + aDye.name()
- .toLowerCase(Locale.ENGLISH),
- 288),
- GT_Values.NI,
- 600,
- 48);
+ public void registerOre(OrePrefixes prefix, Materials material, String oreDictName, String modName,
+ ItemStack stack) {
+ Dyes aDye = Dyes.get(oreDictName);
+ if ((aDye.mIndex >= 0) && (aDye.mIndex < 16) && (GT_Utility.getContainerItem(stack, true) == null)) {
+ registerAlloySmelter(stack, aDye);
+ registerMixer(stack, aDye);
+ registerChemicalReactor(stack, aDye);
}
}
+
+ public void registerMixer(ItemStack stack, Dyes dye) {
+ String fluidName = "dye.watermixed." + dye.name()
+ .toLowerCase(Locale.ENGLISH);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack), GT_Utility.getIntegratedCircuit(1))
+ .noItemOutputs()
+ .fluidInputs(Materials.Water.getFluid(216L))
+ .fluidOutputs(FluidRegistry.getFluidStack(fluidName, 192))
+ .duration(16 * TICKS)
+ .eut(4)
+ .addTo(sMixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack), GT_Utility.getIntegratedCircuit(1))
+ .noItemOutputs()
+ .fluidInputs(GT_ModHandler.getDistilledWater(288L))
+ .fluidOutputs(FluidRegistry.getFluidStack(fluidName, 216))
+ .duration(16 * TICKS)
+ .eut(4)
+ .addTo(sMixerRecipes);
+ }
+
+ public void registerAlloySmelter(ItemStack stack, Dyes dye) {
+ GT_ModHandler.addAlloySmelterRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L),
+ GT_Utility.copyAmount(1L, stack),
+ new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex),
+ 200,
+ 8,
+ false);
+
+ GT_ModHandler.addAlloySmelterRecipe(
+ new ItemStack(Blocks.glass, 8, 32767),
+ GT_Utility.copyAmount(1L, stack),
+ new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex),
+ 200,
+ 8,
+ false);
+ }
+
+ public void registerChemicalReactor(ItemStack stack, Dyes dye) {
+ String fluidName = "dye.chemical." + dye.name()
+ .toLowerCase(Locale.ENGLISH);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 2))
+ .noItemOutputs()
+ .fluidInputs(Materials.SulfuricAcid.getFluid(432))
+ .fluidOutputs(FluidRegistry.getFluidStack(fluidName, 288))
+ .duration(30 * SECONDS)
+ .eut(48)
+ .addTo(UniversalChemical);
+ }
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java
index 22eb302aae..abaf8a78bb 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java
@@ -1,5 +1,6 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -20,14 +21,25 @@ public class ProcessingFoil implements IOreRecipeRegistrator {
}
@Override
- public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
- ItemStack aStack) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L)),
- GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L),
- (int) Math.max(aMaterial.getMass(), 1L),
- calculateRecipeEU(aMaterial, 24));
+ public void registerOre(OrePrefixes prefix, Materials material, String oreDictName, String modName,
+ ItemStack stack) {
+ registerBenderRecipe(material);
+ registerCover(stack, material);
+ }
+
+ private void registerBenderRecipe(Materials material) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.plate, material, 4L)))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.foil, material, 4L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration((int) Math.max(material.getMass(), 1L))
+ .eut(calculateRecipeEU(material, 24))
+ .addTo(sBenderRecipes);
+ }
+
+ private void registerCover(ItemStack stack, Materials material) {
GregTech_API
- .registerCover(aStack, TextureFactory.of(aMaterial.mIconSet.mTextures[70], aMaterial.mRGBa, false), null);
+ .registerCover(stack, TextureFactory.of(material.mIconSet.mTextures[70], material.mRGBa, false), null);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
index 097a637f0e..1340ca18a9 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
@@ -1,5 +1,11 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
@@ -21,67 +27,90 @@ public class ProcessingFood implements gregtech.api.interfaces.IOreRecipeRegistr
ItemStack aStack) {
switch (aOreDictName) {
case "foodCheese" -> {
- GT_Values.RA.addSlicerRecipe(
- aStack,
- ItemList.Shape_Slicer_Flat.get(0L),
- ItemList.Food_Sliced_Cheese.get(4L),
- 64,
- 4);
+ registerSlicerRecipes(aStack);
GT_OreDictUnificator.addItemData(aStack, new gregtech.api.objects.ItemData(Materials.Cheese, 3628800L));
}
case "foodDough" -> {
GT_ModHandler.removeFurnaceSmelting(aStack);
- GT_Values.RA
- .addBenderRecipe(GT_Utility.copyAmount(1L, aStack), ItemList.Food_Flat_Dough.get(1L), 16, 4);
- GT_Values.RA.addMixerRecipe(
- aStack,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L),
- null,
- null,
- null,
- null,
- ItemList.Food_Dough_Sugar.get(2L),
- 32,
- 8);
- GT_Values.RA.addMixerRecipe(
- aStack,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L),
- null,
- null,
- null,
- null,
- ItemList.Food_Dough_Chocolate.get(2L),
- 32,
- 8);
- GT_Values.RA.addMixerRecipe(
- aStack,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chocolate, 1L),
- null,
- null,
- null,
- null,
- ItemList.Food_Dough_Chocolate.get(2L),
- 32,
- 8);
- GT_Values.RA.addFormingPressRecipe(
- GT_Utility.copyAmount(1L, aStack),
- ItemList.Shape_Mold_Bun.get(0L),
- ItemList.Food_Raw_Bun.get(1L),
- 128,
- 4);
- GT_Values.RA.addFormingPressRecipe(
- GT_Utility.copyAmount(2L, aStack),
- ItemList.Shape_Mold_Bread.get(0L),
- ItemList.Food_Raw_Bread.get(1L),
- 256,
- 4);
- GT_Values.RA.addFormingPressRecipe(
- GT_Utility.copyAmount(3L, aStack),
- ItemList.Shape_Mold_Baguette.get(0L),
- ItemList.Food_Raw_Baguette.get(1L),
- 384,
- 4);
+ registerBenderRecipes(aStack);
+ registerMixerRecipes(aStack);
+ registerFormingPressRecipes(aStack);
}
}
}
+
+ private void registerSlicerRecipes(ItemStack stack) {
+ GT_Values.RA
+ .addSlicerRecipe(stack, ItemList.Shape_Slicer_Flat.get(0L), ItemList.Food_Sliced_Cheese.get(4L), 64, 4);
+ }
+
+ private void registerBenderRecipes(ItemStack stack) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack))
+ .itemOutputs(ItemList.Food_Flat_Dough.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(16 * TICKS)
+ .eut(4)
+ .addTo(sBenderRecipes);
+ }
+
+ private void registerMixerRecipes(ItemStack stack) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
+ .itemOutputs(ItemList.Food_Dough_Sugar.get(2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(8)
+ .addTo(sMixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L))
+ .itemOutputs(ItemList.Food_Dough_Chocolate.get(2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(8)
+ .addTo(sMixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chocolate, 1L))
+ .itemOutputs(ItemList.Food_Dough_Chocolate.get(2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(8)
+ .addTo(sMixerRecipes);
+ }
+
+ private void registerFormingPressRecipes(ItemStack stack) {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, stack), ItemList.Shape_Mold_Bun.get(0L))
+ .itemOutputs(ItemList.Food_Raw_Bun.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(4)
+ .addTo(sPressRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, stack), ItemList.Shape_Mold_Bread.get(0L))
+ .itemOutputs(ItemList.Food_Raw_Bread.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(12 * SECONDS + 16 * TICKS)
+ .eut(4)
+ .addTo(sPressRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, stack), ItemList.Shape_Mold_Baguette.get(0L))
+ .itemOutputs(ItemList.Food_Raw_Baguette.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(19 * SECONDS + 4 * TICKS)
+ .eut(4)
+ .addTo(sPressRecipes);
+ }
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
index 75912ddf85..e5e4822124 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
@@ -1,6 +1,14 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
+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_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -37,6 +45,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
switch (aPrefix) {
case gem -> {
+ // fuel recipes
if (aFuelPower) {
GT_Values.RA.addFuel(
GT_Utility.copyAmount(1L, aStack),
@@ -44,97 +53,167 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
aMaterial.mFuelPower * 2,
aMaterial.mFuelType);
}
+
if (!OrePrefixes.block.isIgnored(aMaterial)) {
- GT_ModHandler.addCompressionRecipe(
- GT_Utility.copyAmount(9L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L));
+ // Compressor recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(9L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(sCompressorRecipes);
+ }
}
+
+ // Smelting recipe
if (!aNoSmelting) {
GT_ModHandler.addSmeltingRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mSmeltInto, 1L));
}
+
if (aNoSmashing) {
- GT_Values.RA.addForgeHammerRecipe(
- aStack,
- GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L),
- 64,
- 16);
+ // Forge hammer recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aStack)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(sHammerRecipes);
+ }
} else {
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 16));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 2L, 1L),
- calculateRecipeEU(aMaterial, 24));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(2L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 2L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(3L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 3L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(4L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 4L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(5L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 5L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(9L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 9L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // Forge hammer recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass, 1L))
+ .eut(calculateRecipeEU(aMaterial, 16))
+ .addTo(sHammerRecipes);
+ }
+
+ // Bender recipes
+ {
+ // Plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration((int) Math.max(aMaterialMass * 2L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 24))
+ .addTo(sBenderRecipes);
+
+ // Double plates
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 2L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ // Triple plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 3L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ // Quadruple plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(4L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 4L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ // Quintuple plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(5L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 5L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ // dense plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(9L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 9L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+ }
}
if (aNoWorking) {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- GT_Values.RA.addLatheRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 16));
+ // Lathe recipes
+ {
+ GT_Values.RA.addLatheRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L),
+ (int) Math.max(aMaterialMass, 1L),
+ calculateRecipeEU(aMaterial, 16));
+ }
}
} else {
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L),
- GT_Proxy.tBits,
- new Object[] { "h", "X", 'X', OrePrefixes.gemFlawless.get(aMaterial) });
- GT_Values.RA.addImplosionRecipe(
- GT_Utility.copyAmount(3L, aStack),
- 8,
- GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
- if (aMaterial.contains(SubTag.SMELTING_TO_GEM)) GT_ModHandler.addCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Proxy.tBits,
- new Object[] { "XXX", "XXX", "XXX", 'X', OrePrefixes.nugget.get(aMaterial) });
- if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { "X", "m", 'X', OrePrefixes.gem.get(aMaterial) });
+ // Implosion compressor recipes
+ {
+ GT_Values.RA.addImplosionRecipe(
+ GT_Utility.copyAmount(3L, aStack),
+ 8,
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
+ }
+
+ // Crafting recipes
+ {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L),
+ GT_Proxy.tBits,
+ new Object[] { "h", "X", 'X', OrePrefixes.gemFlawless.get(aMaterial) });
+
+ if (aMaterial.contains(SubTag.SMELTING_TO_GEM)) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_Proxy.tBits,
+ new Object[] { "XXX", "XXX", "XXX", 'X', OrePrefixes.nugget.get(aMaterial) });
+ }
+
+ if (aSpecialRecipeReq) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { "X", "m", 'X', OrePrefixes.gem.get(aMaterial) });
+ }
+ }
}
}
- // GT_RecipeRegistrator.registerUsagesForMaterials(OrePrefixes.plate.get(aMaterial).toString(),
- // !aNoSmashing, GT_Utility.copyAmount(1L, aStack));
switch (aMaterial.mName) {
case "NULL":
break;
- case "Coal":
- case "Charcoal":
+ case "Coal", "Charcoal":
if (GregTech_API.sRecipeFile
.get(ConfigCategories.Recipes.disabledrecipes, "torchesFromCoal", false)) {
GT_ModHandler.removeRecipeDelayed(
@@ -145,166 +224,268 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
}
break;
case "CertusQuartz":
- GT_Values.RA.addElectrolyzerRecipe(
- aStack,
- 0,
- GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 1),
- null,
- null,
- null,
- null,
- null,
- 2000,
- 30);
+ // Electrolyzer recipe
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aStack)
+ .itemOutputs(
+ GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 1))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(100 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sElectrolyzerRecipes);
+ }
}
+
for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver
- // Recipe
- // adder
- is.stackSize = 0;
- GT_Values.RA.addLaserEngraverRecipe(
- GT_Utility.copyAmount(3L, aStack),
- is,
- GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1L),
- 1200,
- 480);
+ // Laser engraver recipes
+ {
+ is.stackSize = 0;
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), is)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(sLaserEngraverRecipes);
+
+ }
}
}
case gemChipped -> {
- if (aFuelPower) GT_Values.RA
- .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower / 2, aMaterial.mFuelType);
- if (!aNoWorking) {
- GT_Values.RA.addLatheRecipe(
+ // Fuel recipes
+ if (aFuelPower) {
+ GT_Values.RA.addFuel(
GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- 8);
+ null,
+ aMaterial.mFuelPower / 2,
+ aMaterial.mFuelType);
+ }
+
+ if (!aNoWorking) {
+ // Lathe recipes
+ {
+ GT_Values.RA.addLatheRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1L),
+ (int) Math.max(aMaterialMass, 1L),
+ 8);
+ }
+
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
- GT_Values.RA.addImplosionRecipe(
- GT_Utility.copyAmount(3L, aStack),
- 8,
- GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L),
- GT_Proxy.tBits,
- new Object[] { "h", "X", 'X', OrePrefixes.gemFlawed.get(aMaterial) });
- if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { "X", "m", 'X', OrePrefixes.gemChipped.get(aMaterial) });
+ // Implosion compressor recipes
+ {
+ GT_Values.RA.addImplosionRecipe(
+ GT_Utility.copyAmount(3L, aStack),
+ 8,
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
+ }
+
+ // Crafting recipes
+ {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L),
+ GT_Proxy.tBits,
+ new Object[] { "h", "X", 'X', OrePrefixes.gemFlawed.get(aMaterial) });
+ if (aSpecialRecipeReq) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { "X", "m", 'X', OrePrefixes.gemChipped.get(aMaterial) });
+ }
+ }
}
}
for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver
- // Recipe
- // adder
is.stackSize = 0;
- GT_Values.RA.addLaserEngraverRecipe(
- GT_Utility.copyAmount(3L, aStack),
- is,
- GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1L),
- 600,
- 30);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), is)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(30 * SECONDS)
+ .eut(30)
+ .addTo(sLaserEngraverRecipes);
+
}
}
case gemExquisite -> {
- if (aFuelPower) GT_Values.RA
- .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower * 8, aMaterial.mFuelType);
+ // Fuel recipes
+ if (aFuelPower) {
+ GT_Values.RA.addFuel(
+ GT_Utility.copyAmount(1L, aStack),
+ null,
+ aMaterial.mFuelPower * 8,
+ aMaterial.mFuelType);
+ }
+
if (!aNoWorking) {
- if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial))
- if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 4L),
- GT_Proxy.tBits,
- new Object[] { "X", "m", 'X', OrePrefixes.gemExquisite.get(aMaterial) });
+ if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
+ // Crafting recipes
+ {
+ if (aSpecialRecipeReq) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 4L),
+ GT_Proxy.tBits,
+ new Object[] { "X", "m", 'X', OrePrefixes.gemExquisite.get(aMaterial) });
+ }
+ }
+ }
+ }
+
+ // Forge hammer recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aStack)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(sHammerRecipes);
}
- GT_Values.RA.addForgeHammerRecipe(
- aStack,
- GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L),
- 64,
- 16);
}
case gemFlawed -> {
- if (aFuelPower) GT_Values.RA
- .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType);
+ // fuel recipes
+ if (aFuelPower) {
+ GT_Values.RA
+ .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType);
+ }
+
if (!aNoWorking) {
- GT_Values.RA.addLatheRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 2L),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- 12);
+ // Lathe recipes
+ {
+ GT_Values.RA.addLatheRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L),
+ (int) Math.max(aMaterialMass, 1L),
+ 12);
+ }
+
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
- GT_Values.RA.addImplosionRecipe(
- GT_Utility.copyAmount(3L, aStack),
- 8,
- GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L),
- GT_Proxy.tBits,
- new Object[] { "h", "X", 'X', OrePrefixes.gem.get(aMaterial) });
- if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L),
- GT_Proxy.tBits,
- new Object[] { "X", "m", 'X', OrePrefixes.gemFlawed.get(aMaterial) });
+ // Implosion compressor recipes
+ {
+ GT_Values.RA.addImplosionRecipe(
+ GT_Utility.copyAmount(3L, aStack),
+ 8,
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
+ }
+
+ // Crafting recipes
+ {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L),
+ GT_Proxy.tBits,
+ new Object[] { "h", "X", 'X', OrePrefixes.gem.get(aMaterial) });
+ if (aSpecialRecipeReq) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L),
+ GT_Proxy.tBits,
+ new Object[] { "X", "m", 'X', OrePrefixes.gemFlawed.get(aMaterial) });
+ }
+ }
}
}
- GT_Values.RA.addForgeHammerRecipe(
- aStack,
- GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L),
- 64,
- 16);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aStack)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver
- // Recipe
- // adder
+
is.stackSize = 0;
- GT_Values.RA.addLaserEngraverRecipe(
- GT_Utility.copyAmount(3L, aStack),
- is,
- GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L),
- 600,
- 120);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), is)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sLaserEngraverRecipes);
+
}
}
case gemFlawless -> {
- if (aFuelPower) GT_Values.RA
- .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower * 4, aMaterial.mFuelType);
- if (!aNoWorking) {
- GT_Values.RA.addLatheRecipe(
+
+ // Fuel recipes
+ if (aFuelPower) {
+ GT_Values.RA.addFuel(
GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L),
- GT_OreDictUnificator
- .getDust(aMaterial, aPrefix.mMaterialAmount - OrePrefixes.stickLong.mMaterialAmount),
- (int) Math.max(aMaterialMass * 5L, 1L),
- 16);
+ null,
+ aMaterial.mFuelPower * 4,
+ aMaterial.mFuelType);
+ }
+
+ if (!aNoWorking) {
+ // Lathe recipes
+ {
+ GT_Values.RA.addLatheRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L),
+ GT_OreDictUnificator
+ .getDust(aMaterial, aPrefix.mMaterialAmount - OrePrefixes.stickLong.mMaterialAmount),
+ (int) Math.max(aMaterialMass * 5L, 1L),
+ 16);
+ }
+
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
- GT_Values.RA.addImplosionRecipe(
- GT_Utility.copyAmount(3L, aStack),
- 8,
- GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L),
- GT_Proxy.tBits,
- new Object[] { "h", "X", 'X', OrePrefixes.gemExquisite.get(aMaterial) });
- if (aSpecialRecipeReq) GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L),
- GT_Proxy.tBits,
- new Object[] { "X", "m", 'X', OrePrefixes.gemFlawless.get(aMaterial) });
+ // Implosion compressor recipes
+ {
+ GT_Values.RA.addImplosionRecipe(
+ GT_Utility.copyAmount(3L, aStack),
+ 8,
+ GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2));
+ }
+
+ // Crafting recipes
+ {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L),
+ GT_Proxy.tBits,
+ new Object[] { "h", "X", 'X', OrePrefixes.gemExquisite.get(aMaterial) });
+ if (aSpecialRecipeReq) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L),
+ GT_Proxy.tBits,
+ new Object[] { "X", "m", 'X', OrePrefixes.gemFlawless.get(aMaterial) });
+ }
+ }
}
}
- GT_Values.RA
- .addForgeHammerRecipe(aStack, GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L), 64, 16);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aStack)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver
- // Recipe
- // adder
+
is.stackSize = 0;
- GT_Values.RA.addLaserEngraverRecipe(
- GT_Utility.copyAmount(3L, aStack),
- is,
- GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L),
- 2400,
- 2000);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), is)
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(2000)
+ .addTo(sLaserEngraverRecipes);
}
}
default -> {}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
index 0fd5d9e42e..324c21d3aa 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
@@ -1,5 +1,7 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -34,12 +36,15 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
switch (aPrefix) {
case ingot:
+ // Fuel recipe
if (aMaterial.mFuelPower > 0) {
GT_Values.RA
.addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType);
}
- if (aMaterial.mStandardMoltenFluid != null) {
- if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
+ if (aMaterial.mStandardMoltenFluid != null
+ && !(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
+ // Fluid solidifier recipes
+ {
GT_Values.RA.addFluidSolidifierRecipe(
ItemList.Shape_Mold_Ingot.get(0L),
aMaterial.getMolten(144L),
@@ -47,7 +52,10 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
32,
calculateRecipeEU(aMaterial, 8));
}
+
}
+ // Reverse recipes
+ {
GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
GT_RecipeRegistrator
.registerReverseMacerating(aStack, aMaterial, aPrefix.mMaterialAmount, null, null, null, false);
@@ -60,167 +68,241 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
null,
null);
}
- ItemStack tStack;
- if ((null != (tStack = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L)))
- && ((aMaterial.mBlastFurnaceRequired) || aNoSmelting)) {
+ }
+
+ ItemStack tStack = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L);
+ if ((tStack != null) && ((aMaterial.mBlastFurnaceRequired) || aNoSmelting)) {
GT_ModHandler.removeFurnaceSmelting(tStack);
}
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)
- && !aMaterial.contains(SubTag.NO_WORKING)) {
- if (!aMaterial.contains(SubTag.SMELTING_TO_GEM)) if ((aMaterial.contains(SubTag.MORTAR_GRINDABLE))
- && (GregTech_API.sRecipeFile.get(ConfigCategories.Tools.mortar, aMaterial.mName, true)))
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { ToolDictNames.craftingToolMortar, OrePrefixes.ingot.get(aMaterial) });
+ && !aMaterial.contains(SubTag.NO_WORKING)
+ && !aMaterial.contains(SubTag.SMELTING_TO_GEM)
+ && aMaterial.contains(SubTag.MORTAR_GRINDABLE)
+ && GregTech_API.sRecipeFile.get(ConfigCategories.Tools.mortar, aMaterial.mName, true)) {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { ToolDictNames.craftingToolMortar, OrePrefixes.ingot.get(aMaterial) });
}
if (!aNoSmashing) {
+ // Forge hammer recipes
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(3L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 16));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass, 1L))
+ .eut(calculateRecipeEU(aMaterial, 16))
+ .addTo(sHammerRecipes);
}
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 24));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(2L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 2L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(3L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 3L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(4L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 4L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(5L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 5L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(9L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 9L, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getIntegratedCircuit(10),
- GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L),
- (int) Math.max(aMaterialMass * 2L, 1L),
- calculateRecipeEU(aMaterial, 24));
- }
+ // Bender recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass, 1L))
+ .eut(calculateRecipeEU(aMaterial, 24))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 2L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 3L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(4L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 4L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(5L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 5L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(9L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 9L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(10))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 2L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 24))
+ .addTo(sBenderRecipes);
+ }
+ }
break;
+
case ingotDouble:
if (!aNoSmashing) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(2L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 2L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // bender recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 2L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+ }
// Enable crafting with hammer if tier is < IV.
- if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- if (aSpecialRecipeReq && GregTech_API.sRecipeFile
+ if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq
+ && GregTech_API.sRecipeFile
.get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) {
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { "I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial) });
- }
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { "I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial) });
}
}
break;
+
case ingotTriple:
if (!aNoSmashing) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 96));
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(3L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 3L, 1L),
- calculateRecipeEU(aMaterial, 96));
- if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- if (aSpecialRecipeReq && GregTech_API.sRecipeFile
+ // Bender recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 3L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+ }
+
+ if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq
+ && GregTech_API.sRecipeFile
.get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) {
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotDouble.get(aMaterial), 'B',
- OrePrefixes.ingot.get(aMaterial) });
- }
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotDouble.get(aMaterial), 'B',
+ OrePrefixes.ingot.get(aMaterial) });
}
}
break;
+
case ingotQuadruple:
if (!aNoSmashing) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // Bender recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+ }
// If tier < IV add manual crafting.
- if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- if (aSpecialRecipeReq && GregTech_API.sRecipeFile
+ if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq
+ && GregTech_API.sRecipeFile
.get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) {
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotTriple.get(aMaterial), 'B',
- OrePrefixes.ingot.get(aMaterial) });
- }
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotTriple.get(aMaterial), 'B',
+ OrePrefixes.ingot.get(aMaterial) });
}
}
break;
+
case ingotQuintuple:
if (!aNoSmashing) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L),
- (int) Math.max(aMaterialMass, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // Bender recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
+ }
- if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- if (aSpecialRecipeReq && GregTech_API.sRecipeFile
+ // Crafting recipes
+ if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq
+ && GregTech_API.sRecipeFile
.get(ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) {
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotQuadruple.get(aMaterial), 'B',
- OrePrefixes.ingot.get(aMaterial) });
- }
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { "I", "B", "h", 'I', OrePrefixes.ingotQuadruple.get(aMaterial), 'B',
+ OrePrefixes.ingot.get(aMaterial) });
}
}
break;
+
case ingotHot:
if (aMaterial.mAutoGenerateVacuumFreezerRecipes) {
- GT_Values.RA.addVacuumFreezerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 3L, 1L));
- break;
+ // Vacuum freezer recipes
+ {
+ GT_Values.RA.addVacuumFreezerRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L),
+ (int) Math.max(aMaterialMass * 3L, 1L));
+ }
}
+ break;
+
default:
break;
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
index 86b3caacbb..3d3b0547d9 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import net.minecraft.item.ItemStack;
import gregtech.api.GregTech_API;
@@ -7,6 +10,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.Textures;
+import gregtech.api.enums.TierEU;
import gregtech.api.interfaces.ITexture;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_OreDictUnificator;
@@ -35,11 +39,16 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
2400,
16);
}
- case "ChromaticGlass" -> GT_Values.RA.addCompressorRecipe(
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
- GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L),
- 600 * 20,
- 1966080);
+ case "ChromaticGlass" -> {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(600 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(sCompressorRecipes);
+ }
default -> {
GT_Values.RA.addLatheRecipe(
GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
index 0f592f6711..b971bc819f 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
@@ -1,6 +1,10 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.Railcraft;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
@@ -22,20 +26,20 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
if (aOreDictName.equals("logRubber")) {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getIntegratedCircuit(2),
- null,
- Materials.Methane.getGas(60L),
- ItemList.IC2_Resin.get(1L),
- GT_ModHandler.getIC2Item("plantBall", 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L),
- GT_Values.NI,
- GT_Values.NI,
- new int[] { 5000, 3750, 2500, 2500 },
- 200,
- 20);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(
+ ItemList.IC2_Resin.get(1L),
+ GT_ModHandler.getIC2Item("plantBall", 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L))
+ .outputChances(5000, 3750, 2500, 2500)
+ .noFluidInputs()
+ .fluidOutputs(Materials.Methane.getGas(60L))
+ .duration(10 * SECONDS)
+ .eut(20)
+ .addTo(sCentrifugeRecipes);
+
GT_ModHandler.addSawmillRecipe(
GT_Utility.copyAmount(1L, aStack),
ItemList.IC2_Resin.get(1L),
@@ -50,20 +54,15 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
33,
false);
} else {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getIntegratedCircuit(1),
- null,
- Materials.Methane.getGas(60L),
- GT_Values.NI,
- GT_Values.NI,
- GT_Values.NI,
- GT_Values.NI,
- GT_Values.NI,
- GT_Values.NI,
- null,
- 200,
- 20);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(1))
+ .noItemOutputs()
+ .noFluidInputs()
+ .fluidOutputs(Materials.Methane.getGas(60L))
+ .duration(10 * SECONDS)
+ .eut(20)
+ .addTo(sCentrifugeRecipes);
+
GT_ModHandler.addPulverisationRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 6L),
@@ -97,15 +96,15 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
ItemList.FR_Casing_Impregnated.get(1L),
64,
16);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Creosote.getFluid(1000L),
- GT_ModHandler.getModItem(Railcraft.ID, "cube", 1L, 8),
- null,
- null,
- null,
- 16,
- 16);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_ModHandler.getModItem(Railcraft.ID, "cube", 1L, 8))
+ .fluidInputs(Materials.Creosote.getFluid(1000L))
+ .noFluidOutputs()
+ .duration(16 * TICKS)
+ .eut(TierEU.ULV)
+ .addTo(sChemicalBathRecipes);
short aMeta = (short) aStack.getItemDamage();
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
index a74aa229a5..809ce8894f 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
@@ -1,5 +1,9 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
@@ -9,6 +13,7 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
+import gregtech.api.enums.TierEU;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -35,20 +40,15 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
|| (aPrefix == OrePrefixes.oreDense);
if (aMaterial == Materials.Oilsands) {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(1L, aStack),
- null,
- null,
- Materials.OilHeavy.getFluid(tIsRich ? 4000L : 2000L),
- new ItemStack(net.minecraft.init.Blocks.sand, 1, 0),
- null,
- null,
- null,
- null,
- null,
- new int[] { tIsRich ? 2000 : 4000 },
- tIsRich ? 600 : 300,
- 30);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(new ItemStack(net.minecraft.init.Blocks.sand, 1, 0))
+ .outputChances(tIsRich ? 2000 : 4000)
+ .noFluidInputs()
+ .fluidOutputs(Materials.OilHeavy.getFluid(tIsRich ? 4000L : 2000L))
+ .duration(tIsRich ? 30 * SECONDS : 15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sCentrifugeRecipes);
} else {
registerStandardOreRecipes(
aPrefix,
@@ -216,11 +216,15 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
}
if (tCrushed != null) {
- GT_Values.RA.addForgeHammerRecipe(
- aOreStack,
- GT_Utility.copy(GT_Utility.copyAmount(tCrushed.stackSize, tGem), tCrushed),
- 16,
- 10);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aOreStack)
+ .itemOutputs(GT_Utility.copy(GT_Utility.copyAmount(tCrushed.stackSize, tGem), tCrushed))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
GT_ModHandler.addPulverisationRecipe(
aOreStack,
GT_Utility.mul(2L, tCrushed),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java
index e3b0a34016..3c0e4cb29a 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java
@@ -1,10 +1,13 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -38,11 +41,15 @@ public class ProcessingOrePoor implements gregtech.api.interfaces.IOreRecipeRegi
break;
}
if (aMaterial != null) {
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, aMultiplier),
- 16,
- 10);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, aMultiplier))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
GT_ModHandler.addPulverisationRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 2 * aMultiplier),
@@ -52,7 +59,7 @@ public class ProcessingOrePoor implements gregtech.api.interfaces.IOreRecipeRegi
GT_OreDictUnificator.getDust(aPrefix.mSecondaryMaterial),
100,
true);
- if (aMaterial.contains(gregtech.api.enums.SubTag.NO_SMELTING)) GT_ModHandler.addSmeltingRecipe(
+ if (aMaterial.contains(SubTag.NO_SMELTING)) GT_ModHandler.addSmeltingRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial.mDirectSmelting, aMultiplier));
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
index f380b4ebdf..e3bb175d29 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
@@ -7,6 +7,7 @@ import static gregtech.api.enums.GT_Values.RA;
import static gregtech.api.enums.GT_Values.W;
import static gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED;
import static gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import static gregtech.common.GT_Proxy.tBits;
@@ -162,12 +163,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
GT_ModHandler.removeRecipeByOutputDelayed(aStack);
if (!aNoSmashing) {
-
- RA.addBenderRecipe(
- GT_Utility.copyAmount(2L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 2L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // 2 double -> 1 quadruple plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 2L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
if (GregTech_API.sRecipeFile.get(
gregtech.api.enums.ConfigCategories.Tools.hammerdoubleplate,
@@ -184,21 +188,17 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
new Object[] { "I", "B", "h", // craftingToolHardHammer
'I', aPlateStack, 'B', aPlateStack });
}
-
- // Only added if IC2 Forge Hammer is enabled in Recipes.cfg: B:ic2forgehammer_true=false
- // GT_ModHandler.addShapelessCraftingRecipe(
- // GT_Utility.copyAmount(1L, aStack), DO_NOT_CHECK_FOR_COLLISIONS | BUFFERED, new
- // Object[] {
- // gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, aPlateStack,
- // aPlateStack
- // });
}
- RA.addBenderRecipe(
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L),
- GT_Utility.copyAmount(1L, aStack),
- (int) Math.max(aMaterialMass * 2L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // 2 plates -> 1 double plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 2L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
} else {
@@ -221,11 +221,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
if (!aNoSmashing) {
- RA.addBenderRecipe(
- GT_Utility.copyAmount(3L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L),
- (int) Math.max(aMaterialMass * 3L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // 3 triple plates -> 1 dense plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 3L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
if (GregTech_API.sRecipeFile.get(
gregtech.api.enums.ConfigCategories.Tools.hammertripleplate,
@@ -251,11 +255,14 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
}
}
- RA.addBenderRecipe(
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 3L),
- GT_Utility.copyAmount(1L, aStack),
- (int) Math.max(aMaterialMass * 3L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 3L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 3L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
} else {
@@ -313,11 +320,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
}
}
- RA.addBenderRecipe(
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L),
- GT_Utility.copyAmount(1L, aStack),
- (int) Math.max(aMaterialMass * 4L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // Quadruple plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 4L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
} else {
@@ -363,11 +374,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
}
}
- RA.addBenderRecipe(
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 5L),
- GT_Utility.copyAmount(1L, aStack),
- (int) Math.max(aMaterialMass * 5L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // quintuple plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 5L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 5L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
} else {
@@ -389,12 +404,15 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
GT_ModHandler.removeRecipeByOutputDelayed(aStack);
if (!aNoSmashing) {
-
- RA.addBenderRecipe(
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L),
- GT_Utility.copyAmount(1L, aStack),
- (int) Math.max(aMaterialMass * 9L, 1L),
- calculateRecipeEU(aMaterial, 96));
+ // Dense plate
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterialMass * 9L, 1L))
+ .eut(calculateRecipeEU(aMaterial, 96))
+ .addTo(sBenderRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java
index 01addd678c..c59e810e2a 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java
@@ -1,5 +1,7 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
@@ -20,11 +22,15 @@ public class ProcessingPure implements gregtech.api.interfaces.IOreRecipeRegistr
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L),
- 10,
- 16);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10)
+ .eut(16)
+ .addTo(sHammerRecipes);
+
GT_ModHandler.addPulverisationRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java
index b138ba6338..b6edaa995c 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java
@@ -1,9 +1,13 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import net.minecraft.init.Blocks;
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;
import gregtech.api.util.GT_OreDictUnificator;
@@ -19,16 +23,16 @@ public class ProcessingSand implements gregtech.api.interfaces.IOreRecipeRegistr
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
if (aOreDictName.equals("sandOil")) {
- GT_Values.RA.addCentrifugeRecipe(
- GT_Utility.copyAmount(2L, aStack),
- 1,
- GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oil, 1L),
- new ItemStack(Blocks.sand, 1, 0),
- null,
- null,
- null,
- null,
- 1000);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, aStack), ItemList.Cell_Empty.get(1))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oil, 1L),
+ new ItemStack(Blocks.sand, 1, 0))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(50 * SECONDS)
+ .eut(5)
+ .addTo(sCentrifugeRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
index dafde0e73d..b98768b69a 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
@@ -1,12 +1,14 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
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;
-import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -25,7 +27,16 @@ public class ProcessingSaplings implements gregtech.api.interfaces.IOreRecipeReg
new int[] { 10000 },
100,
2);
- GT_ModHandler.addCompressionRecipe(GT_Utility.copyAmount(8L, aStack), ItemList.IC2_Plantball.get(1L));
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(8L, aStack))
+ .itemOutputs(ItemList.IC2_Plantball.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(sCompressorRecipes);
+
GT_Values.RA.addLatheRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java
index 6d4ed4cfe8..6ceaea4612 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java
@@ -1,6 +1,8 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.Railcraft;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -21,15 +23,14 @@ public class ProcessingSlab implements gregtech.api.interfaces.IOreRecipeRegistr
ItemStack aStack) {
if (aOreDictName.startsWith("slabWood")) {
if (Railcraft.isModLoaded()) {
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(3L, aStack),
- Materials.Creosote.getFluid(300L),
- ItemList.RC_Tie_Wood.get(3L),
- null,
- null,
- null,
- 200,
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack))
+ .itemOutputs(ItemList.RC_Tie_Wood.get(3L))
+ .fluidInputs(Materials.Creosote.getFluid(300L))
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(4)
+ .addTo(sChemicalBathRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java
index a09e0ba0b2..80e7d16ff0 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -53,16 +56,26 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist
}
}
if (!aMaterial.contains(gregtech.api.enums.SubTag.NO_SMASHING)) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(2L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L),
- (int) Math.max(aMaterial.getMass(), 1L),
- calculateRecipeEU(aMaterial, 16));
+ // bender recipe
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, 8))
+ .addTo(sBenderRecipes);
+ }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterial.getMass(), 1L))
+ .eut(calculateRecipeEU(aMaterial, 16))
+ .addTo(sHammerRecipes);
}
GT_Values.RA.addAssemblerRecipe(
GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java
index 29a872cc04..8136d988c3 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java
@@ -1,5 +1,7 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -46,11 +48,18 @@ public class ProcessingStickLong implements gregtech.api.interfaces.IOreRecipeRe
}
}
if (!aMaterial.contains(SubTag.NO_SMASHING)) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.spring, aMaterial, 1L),
- 200,
- calculateRecipeEU(aMaterial, 16));
+ // Bender recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.spring, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, 16))
+ .addTo(sBenderRecipes);
+ }
+
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial))
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
GT_ModHandler.addCraftingRecipe(
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
index c65b496649..cb05d1218d 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
@@ -1,5 +1,7 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -1165,12 +1167,17 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
'R', OrePrefixes.ring.get(aMaterial), 'S', OrePrefixes.screw.get(aMaterial) });
}
- GT_Values.RA.addFormingPressRecipe(
- GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 3L),
- GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 2L),
- GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L),
- 200,
- calculateRecipeEU(aMaterial, 60));
+ // Turbine blades
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 3L),
+ GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 2L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, 60))
+ .addTo(sPressRecipes);
}
}
default -> {}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java
index ddb0bd46c7..3ccccd4561 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolOther.java
@@ -16,8 +16,13 @@ public class ProcessingToolOther implements gregtech.api.interfaces.IOreRecipeRe
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
- if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) {
- if (aMaterial != Materials.Rubber) {
+ if ((aMaterial == Materials.Stone) || (aMaterial == Materials.Flint)) {
+ return;
+ }
+
+ if (aMaterial != Materials.Rubber) {
+ // Crafting recipes
+ {
GT_ModHandler.addCraftingRecipe(
GT_MetaGenerated_Tool_01.INSTANCE
.getToolWithStats(GT_MetaGenerated_Tool_01.PLUNGER, 1, aMaterial, aMaterial, null),
@@ -25,8 +30,12 @@ public class ProcessingToolOther implements gregtech.api.interfaces.IOreRecipeRe
new Object[] { "xRR", " SR", "S f", 'S', OrePrefixes.stick.get(aMaterial), 'R',
OrePrefixes.plate.get(Materials.AnyRubber) });
}
- if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY))
- && (!aMaterial.contains(SubTag.NO_SMASHING))) {
+ }
+
+ if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY))
+ && (!aMaterial.contains(SubTag.NO_SMASHING))) {
+ // Crafting recipes
+ {
GT_ModHandler.addCraftingRecipe(
GT_MetaGenerated_Tool_01.INSTANCE
.getToolWithStats(GT_MetaGenerated_Tool_01.WRENCH, 1, aMaterial, aMaterial, null),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java
index 4c7b10f7cb..c71069661b 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java
@@ -1,10 +1,14 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
import gregtech.api.interfaces.IOreRecipeRegistrator;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -20,103 +24,151 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
- if (aPrefix == OrePrefixes.plank) aPrefix = OrePrefixes.plate;
+
+ if (aPrefix == OrePrefixes.plank) {
+ aPrefix = OrePrefixes.plate;
+ }
+
switch (aMaterial.mName) {
- case "Wood":
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.SeedOil
- .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 120L, true)),
- GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L),
- GT_Values.NI,
- GT_Values.NI,
- null,
- 100,
- 8);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.SeedOilLin
- .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true)),
- GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L),
- GT_Values.NI,
- GT_Values.NI,
- null,
- 100,
- 8);
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.SeedOilHemp
- .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true)),
- GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L),
- GT_Values.NI,
- GT_Values.NI,
- null,
- 100,
- 8);
- break;
- case "Iron":
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.FierySteel
- .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 250L, true)),
- GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L),
- GT_Values.NI,
- GT_Values.NI,
- null,
- 100,
- 8);
- GT_Values.RA.addPolarizerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L),
- (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L),
- 16);
- break;
- case "WroughtIron":
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.FierySteel
- .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 225L, true)),
- GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L),
- GT_Values.NI,
- GT_Values.NI,
- null,
- 100,
- 8);
- GT_Values.RA.addPolarizerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L),
- (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L),
- 16);
- break;
- case "Steel":
- GT_Values.RA.addChemicalBathRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.FierySteel
- .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 200L, true)),
- GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L),
- GT_Values.NI,
- GT_Values.NI,
- null,
- 100,
- 8);
- GT_Values.RA.addPolarizerRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(aPrefix, Materials.SteelMagnetic, 1L),
- (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L),
- 16);
- break;
- case "Neodymium":
+ case "Wood" ->
+ // Chemical bath recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L))
+ .fluidInputs(
+ Materials.SeedOil
+ .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 120L, true)))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(TierEU.ULV)
+ .addTo(sChemicalBathRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L))
+ .fluidInputs(
+ Materials.SeedOilLin
+ .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true)))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(TierEU.ULV)
+ .addTo(sChemicalBathRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.WoodSealed, 1L))
+ .fluidInputs(
+ Materials.SeedOilHemp
+ .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 80L, true)))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(TierEU.ULV)
+ .addTo(sChemicalBathRecipes);
+
+ }
+ case "Iron" -> {
+ // Chemical bath recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L))
+ .fluidInputs(
+ Materials.FierySteel
+ .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 250L, true)))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(TierEU.ULV)
+ .addTo(sChemicalBathRecipes);
+ }
+
+ // Polarizer recipes
+ {
+ GT_Values.RA.addPolarizerRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L),
+ (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M),
+ (int) TierEU.LV / 2);
+ }
+ }
+ case "WroughtIron" -> {
+ // Chemical bath recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L))
+ .fluidInputs(
+ Materials.FierySteel
+ .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 225L, true)))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(TierEU.ULV)
+ .addTo(sChemicalBathRecipes);
+ }
+
+ // Polarizer recipes
+ {
+ GT_Values.RA.addPolarizerRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L),
+ (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M),
+ (int) TierEU.LV / 2);
+ }
+ }
+ case "Steel" -> {
+ // Chemical Bath recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.FierySteel, 1L))
+ .fluidInputs(
+ Materials.FierySteel
+ .getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 200L, true)))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(TierEU.ULV)
+ .addTo(sChemicalBathRecipes);
+ }
+
+ // polarizer recipes
+ {
+ GT_Values.RA.addPolarizerRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(aPrefix, Materials.SteelMagnetic, 1L),
+ (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M),
+ (int) TierEU.LV / 2);
+ }
+ }
+ case "Neodymium" ->
+ // Polarizer recipes
+ {
GT_Values.RA.addPolarizerRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(aPrefix, Materials.NeodymiumMagnetic, 1L),
- (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L),
- 256);
- case "Samarium":
+ (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M),
+ (int) TierEU.HV / 2);
+ }
+ case "Samarium" ->
+ // Polarizer recipes
+ {
GT_Values.RA.addPolarizerRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(aPrefix, Materials.SamariumMagnetic, 1L),
- (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / 3628800L),
- 4096);
+ (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M),
+ (int) TierEU.IV / 2);
+ }
+
+ case "TengamPurified" ->
+ // Polarizer recipes
+ {
+ GT_Values.RA.addPolarizerRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(aPrefix, Materials.TengamAttuned, 1L),
+ (int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M),
+ (int) TierEU.RECIPE_UHV);
+ }
+
+ default -> { /* NO-OP */ }
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
index 8c4ce4953c..e420017b79 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
@@ -1,5 +1,7 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import java.util.ArrayList;
@@ -18,9 +20,8 @@ import gregtech.common.GT_Proxy;
public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistrator {
- private Materials[] dielectrics = { Materials.PolyvinylChloride, Materials.Polydimethylsiloxane };
- private Materials[] rubbers = { Materials.Rubber, Materials.StyreneButadieneRubber, Materials.Silicone };
- private Materials[] syntheticRubbers = { Materials.StyreneButadieneRubber, Materials.Silicone };
+ private final Materials[] dielectrics = { Materials.PolyvinylChloride, Materials.Polydimethylsiloxane };
+ private final Materials[] syntheticRubbers = { Materials.StyreneButadieneRubber, Materials.Silicone };
private static Object tt;
@@ -48,135 +49,167 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
int cableWidth;
OrePrefixes correspondingCable;
+
switch (aPrefix) {
case wireGt01 -> {
cableWidth = 1;
correspondingCable = OrePrefixes.cableGt01;
if (!aMaterial.contains(SubTag.NO_SMASHING)) {
- GT_Values.RA.addBenderRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L),
- 100,
+ // Bender recipes
+ {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, 8))
+ .addTo(sBenderRecipes);
+ }
+
+ // Wiremill Recipes
+ {
+ GT_Values.RA.addWiremillRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_Utility.getIntegratedCircuit(1),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L),
+ 200,
+ calculateRecipeEU(aMaterial, 8));
+ }
+ }
+
+ // crafting recipe
+ if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)
+ && !aMaterial.contains(SubTag.NO_WORKING)
+ && (aMaterial.getProcessingMaterialTierEU() < TierEU.IV)) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L),
+ GT_Proxy.tBits,
+ new Object[] { "Xx", 'X', OrePrefixes.plate.get(aMaterial) });
+
+ }
+
+ // Assembler recipes
+ {
+ GT_Values.RA.addAssemblerRecipe(
+ GT_Utility.copyAmount(2L, aStack),
+ GT_Utility.getIntegratedCircuit(2),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L),
+ 150,
calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addWiremillRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getIntegratedCircuit(1),
- GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L),
+ GT_Values.RA.addAssemblerRecipe(
+ GT_Utility.copyAmount(4L, aStack),
+ GT_Utility.getIntegratedCircuit(4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L),
200,
calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.addAssemblerRecipe(
+ GT_Utility.copyAmount(8L, aStack),
+ GT_Utility.getIntegratedCircuit(8),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L),
+ 300,
+ calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.addAssemblerRecipe(
+ GT_Utility.copyAmount(12L, aStack),
+ GT_Utility.getIntegratedCircuit(12),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L),
+ 400,
+ calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.addAssemblerRecipe(
+ GT_Utility.copyAmount(16L, aStack),
+ GT_Utility.getIntegratedCircuit(16),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L),
+ 500,
+ calculateRecipeEU(aMaterial, 8));
}
- if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)
- && !aMaterial.contains(SubTag.NO_WORKING)) {
- if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- GT_ModHandler.addCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L),
- GT_Proxy.tBits,
- new Object[] { "Xx", 'X', OrePrefixes.plate.get(aMaterial) });
- }
- }
- GT_Values.RA.addAssemblerRecipe(
- GT_Utility.copyAmount(2L, aStack),
- GT_Utility.getIntegratedCircuit(2),
- GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L),
- 150,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- GT_Utility.copyAmount(4L, aStack),
- GT_Utility.getIntegratedCircuit(4),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L),
- 200,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- GT_Utility.copyAmount(8L, aStack),
- GT_Utility.getIntegratedCircuit(8),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L),
- 300,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- GT_Utility.copyAmount(12L, aStack),
- GT_Utility.getIntegratedCircuit(12),
- GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L),
- 400,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- GT_Utility.copyAmount(16L, aStack),
- GT_Utility.getIntegratedCircuit(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L),
- 500,
- calculateRecipeEU(aMaterial, 8));
}
case wireGt02 -> {
cableWidth = 2;
correspondingCable = OrePrefixes.cableGt02;
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 2L),
- new Object[] { aOreDictName });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) });
+ // Shapeless crafting recipes
+ {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 2L),
+ new Object[] { aOreDictName });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) });
+ }
}
}
case wireGt04 -> {
cableWidth = 4;
correspondingCable = OrePrefixes.cableGt04;
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 4L),
- new Object[] { aOreDictName });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
- OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt02.get(aMaterial), OrePrefixes.wireGt02.get(aMaterial) });
+ // Shapeless crafting recipes
+ {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 4L),
+ new Object[] { aOreDictName });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
+ OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt02.get(aMaterial), OrePrefixes.wireGt02.get(aMaterial) });
+ }
}
}
case wireGt08 -> {
cableWidth = 8;
correspondingCable = OrePrefixes.cableGt08;
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 8L),
- new Object[] { aOreDictName });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
- OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
- OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
- OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt04.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) });
+ // Shapeless crafting recipes
+ {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 8L),
+ new Object[] { aOreDictName });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
+ OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
+ OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial),
+ OrePrefixes.wireGt01.get(aMaterial), OrePrefixes.wireGt01.get(aMaterial) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt04.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) });
+ }
}
}
case wireGt12 -> {
cableWidth = 12;
correspondingCable = OrePrefixes.cableGt12;
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 12L),
- new Object[] { aOreDictName });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) });
+ // Shapeless crafting recipes
+ {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 12L),
+ new Object[] { aOreDictName });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) });
+ }
}
}
case wireGt16 -> {
cableWidth = 16;
correspondingCable = OrePrefixes.cableGt16;
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
-
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 16L),
- new Object[] { aOreDictName });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt08.get(aMaterial) });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new Object[] { OrePrefixes.wireGt12.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) });
+ // Shapeless crafting recipes
+ {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 16L),
+ new Object[] { aOreDictName });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt08.get(aMaterial), OrePrefixes.wireGt08.get(aMaterial) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ new Object[] { OrePrefixes.wireGt12.get(aMaterial), OrePrefixes.wireGt04.get(aMaterial) });
+ }
if (GT_Mod.gregtechproxy.mAE2Integration) {
AE2addNewAttunement(aStack);
@@ -193,26 +226,32 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
int costMultiplier = cableWidth / 4 + 1;
switch (aMaterial.mName) {
- case "RedAlloy":
- case "Cobalt":
- case "Lead":
- case "Tin":
- case "Zinc":
- case "SolderingAlloy":
+ case "RedAlloy", "Cobalt", "Lead", "Tin", "Zinc", "SolderingAlloy":
ArrayList<Object> craftingListRubber = new ArrayList<>();
craftingListRubber.add(aOreDictName);
for (int i = 0; i < costMultiplier; i++) {
craftingListRubber.add(OrePrefixes.plate.get(Materials.Rubber));
}
+
+ // shapeless crafting
+ {
GT_ModHandler.addShapelessCraftingRecipe(
GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
craftingListRubber.toArray());
+ }
+
+ // Packer recipe
+ {
GT_Values.RA.addBoxingRecipe(
GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.plate.get(Materials.Rubber), costMultiplier),
GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
100,
8);
+ }
+
+ // alloy smelter recipes
+ {
GT_Values.RA.addAlloySmelterRecipe(
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 2L),
GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 1L),
@@ -231,22 +270,10 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.cableGt04, aMaterial, 1L),
300,
30);
- case "Iron":
- case "Nickel":
- case "Cupronickel":
- case "Copper":
- case "AnnealedCopper":
- case "Kanthal":
- case "Gold":
- case "Electrum":
- case "Silver":
- case "Blue Alloy":
- case "Nichrome":
- case "Steel":
- case "BlackSteel":
- case "Titanium":
- case "Aluminium":
- case "BlueAlloy":
+ }
+ case "Iron", "Nickel", "Cupronickel", "Copper", "AnnealedCopper", "Kanthal", "Gold", "Electrum", "Silver", "Blue Alloy", "Nichrome", "Steel", "BlackSteel", "Titanium", "Aluminium", "BlueAlloy":
+ // Assembler recipes
+ {
GT_Values.RA.addAssemblerRecipe(
aStack,
GT_Utility.getIntegratedCircuit(24),
@@ -284,7 +311,11 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
8);
}
}
+ }
+
case "RedstoneAlloy":
+ // Assembler recipes
+ {
GT_Values.RA.addAssemblerRecipe(
aStack,
GT_Utility.getIntegratedCircuit(24),
@@ -322,102 +353,64 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
8);
}
}
+ }
break;
default:
- if (GT_Mod.gregtechproxy.mEasierIVPlusCables) {
- GT_Values.RA.addAssemblerRecipe(
- aStack,
- GT_Utility.getIntegratedCircuit(24),
- Materials.Rubber.getMolten(144 * costMultiplier),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- aStack,
- GT_Utility.getIntegratedCircuit(24),
- Materials.StyreneButadieneRubber.getMolten(108 * costMultiplier),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- aStack,
- GT_Utility.getIntegratedCircuit(24),
- Materials.Silicone.getMolten(72 * costMultiplier),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- for (Materials dielectric : dielectrics) {
- for (Materials syntheticRubber : syntheticRubbers) {
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_Utility.copyAmount(4, aStack),
- dielectric.getDust(costMultiplier) },
- syntheticRubber.getMolten(costMultiplier * 144),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L),
- 400,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier) },
- syntheticRubber.getMolten(costMultiplier * 36),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- }
- }
- } else {
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { aStack, GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier),
- GT_Utility.getIntegratedCircuit(24) },
- Materials.Silicone.getMolten(costMultiplier * 72),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA
- .addAssemblerRecipe(
- new ItemStack[] { aStack,
+ // Assembler recipes
+ {
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { aStack, GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier),
+ GT_Utility.getIntegratedCircuit(24) },
+ Materials.Silicone.getMolten(costMultiplier * 72),
+ GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
+ 100,
+ calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { aStack,
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier),
+ GT_Utility.getIntegratedCircuit(24) },
+ Materials.Silicone.getMolten(costMultiplier * 72),
+ GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
+ 100,
+ calculateRecipeEU(aMaterial, 8));
+ for (Materials dielectric : dielectrics) {
+ for (Materials syntheticRubber : syntheticRubbers) {
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier),
+ GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier * 4) },
+ syntheticRubber.getMolten(costMultiplier * 144),
+ GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L),
+ 400,
+ calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier),
- GT_Utility.getIntegratedCircuit(24) },
- Materials.Silicone.getMolten(costMultiplier * 72),
+ .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier * 4) },
+ syntheticRubber.getMolten(costMultiplier * 144),
+ GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L),
+ 400,
+ calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier),
+ GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier) },
+ syntheticRubber.getMolten(costMultiplier * 36),
+ GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
+ 100,
+ calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier) },
+ syntheticRubber.getMolten(costMultiplier * 36),
GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
100,
calculateRecipeEU(aMaterial, 8));
- for (Materials dielectric : dielectrics) {
- for (Materials syntheticRubber : syntheticRubbers) {
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier),
- GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier * 4) },
- syntheticRubber.getMolten(costMultiplier * 144),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L),
- 400,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_Utility.copyAmount(4, aStack), dielectric.getDust(costMultiplier),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier * 4) },
- syntheticRubber.getMolten(costMultiplier * 144),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 4L),
- 400,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier),
- GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, costMultiplier) },
- syntheticRubber.getMolten(costMultiplier * 36),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { aStack, dielectric.getDustSmall(costMultiplier),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.PolyphenyleneSulfide, costMultiplier) },
- syntheticRubber.getMolten(costMultiplier * 36),
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- 100,
- calculateRecipeEU(aMaterial, 8));
- }
}
}
+ }
break;
}
+
// Honestly when can this machine be removed? );
GT_Values.RA.addUnboxingRecipe(
GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
@@ -425,6 +418,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
null,
100,
calculateRecipeEU(aMaterial, 8));
+
if (GT_Mod.gregtechproxy.mAE2Integration) {
AE2AddNetAttunementCable(aStack, correspondingCable, aMaterial);
}