aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java27
-rw-r--r--src/main/java/gregtech/loaders/load/GT_FuelLoader.java62
-rw-r--r--src/main/java/gregtech/loaders/load/GT_ItemIterator.java36
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java47
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java141
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java62
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java75
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java79
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java195
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java102
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java209
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java17
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java33
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java158
14 files changed, 789 insertions, 454 deletions
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index b5b00fba5a..3555bf1335 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -3,6 +3,7 @@ package gregtech.common.items;
import static gregtech.api.enums.Mods.GalacticraftMars;
import static gregtech.api.enums.Textures.BlockIcons.*;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
@@ -1226,14 +1227,24 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
.addTo(sAssemblerRecipes);
- GT_Values.RA.addBoxingRecipe(
- ItemList.Tool_Matches.get(16L),
- GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1L),
- ItemList.Tool_MatchBox_Full.get(1L),
- 64,
- 16);
- GT_Values.RA
- .addUnboxingRecipe(ItemList.Tool_MatchBox_Full.get(1L), ItemList.Tool_Matches.get(16L), null, 32, 16);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Tool_Matches.get(16L),
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1L))
+ .itemOutputs(ItemList.Tool_MatchBox_Full.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(sBoxinatorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Tool_MatchBox_Full.get(1L))
+ .itemOutputs(ItemList.Tool_Matches.get(16L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(16)
+ .addTo(sBoxinatorRecipes);
ItemList.Tool_Lighter_Invar_Empty.set(
addItem(
diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
index 7240d9268e..3863b5c952 100644
--- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
+++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
@@ -3,6 +3,8 @@ package gregtech.loaders.load;
import static gregtech.api.enums.Mods.BloodMagic;
import static gregtech.api.enums.Mods.EnderIO;
import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -18,6 +20,7 @@ import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeConstants;
public class GT_FuelLoader implements Runnable {
@@ -147,14 +150,55 @@ public class GT_FuelLoader implements Runnable {
0,
20000);
- GT_Values.RA.addFuel(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4), null, 4, 5);
- GT_Values.RA.addFuel(new ItemStack(Items.experience_bottle, 1), null, 10, 5);
- GT_Values.RA.addFuel(new ItemStack(Items.ghast_tear, 1), null, 50, 5);
- GT_Values.RA.addFuel(
- new ItemStack(Blocks.beacon, 1),
- null,
- Materials.NetherStar.mFuelPower * 2,
- Materials.NetherStar.mFuelType);
- GT_Values.RA.addFuel(GT_ModHandler.getModItem(EnderIO.ID, "bucketRocket_fuel", 1), null, 250, 1);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 4)
+ .metadata(FUEL_TYPE, 5)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.experience_bottle, 1))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 10)
+ .metadata(FUEL_TYPE, 5)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.ghast_tear, 1))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 50)
+ .metadata(FUEL_TYPE, 5)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.beacon, 1))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, Materials.NetherStar.mFuelPower * 2)
+ .metadata(FUEL_TYPE, Materials.NetherStar.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getModItem(EnderIO.ID, "bucketRocket_fuel", 1))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 250)
+ .metadata(FUEL_TYPE, 1)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
}
diff --git a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java
index 277bb7b65e..b4a20b65f2 100644
--- a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java
+++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java
@@ -2,6 +2,8 @@ package gregtech.loaders.load;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
@@ -25,6 +27,7 @@ import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.GT_RecipeConstants;
import gregtech.api.util.GT_Utility;
import mods.railcraft.api.core.items.IToolCrowbar;
@@ -238,10 +241,28 @@ public class GT_ItemIterator implements Runnable {
GT_OreDictUnificator.set(OrePrefixes.ore, Materials.Vinteum, new ItemStack(tItem, 1, 0));
}
if (tName.equals("item.ArsMagica:purified_vinteum")) {
- GT_Values.RA.addFuel(new ItemStack(tItem, 1, 0), null, 256, 5);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(tItem, 1, 0))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 256)
+ .metadata(FUEL_TYPE, 5)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if ((tName.equals("item.fieryBlood")) || (tName.equals("item.fieryTears"))) {
- GT_Values.RA.addFuel(new ItemStack(tItem, 1, 0), null, 2048, 5);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(tItem, 1, 0))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 2048)
+ .metadata(FUEL_TYPE, 5)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (tName.equals("tile.TFRoots")) {
GT_ModHandler.addPulverisationRecipe(
@@ -253,7 +274,16 @@ public class GT_ItemIterator implements Runnable {
new ItemStack(tItem, 1, 0),
new ItemStack(Items.stick, 4),
new ItemStack(Items.stick, 2));
- GT_Values.RA.addFuel(new ItemStack(tItem, 1, 1), new ItemStack(Items.stick, 4), 32, 5);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(tItem, 1, 1))
+ .itemOutputs(new ItemStack(Items.stick, 4))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 32)
+ .metadata(FUEL_TYPE, 5)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (tName.equals("item.tconstruct.manual")) {
GT_OreDictUnificator.registerOre("bookTinkersManual", new ItemStack(tItem, 1, 32767));
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
index 1f33a3c7bc..61dacd421d 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
@@ -4,6 +4,8 @@ import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
import java.util.ArrayList;
@@ -19,6 +21,7 @@ import gregtech.api.objects.MaterialStack;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.GT_RecipeConstants;
import gregtech.api.util.GT_Utility;
public class ProcessingCell implements IOreRecipeRegistrator {
@@ -40,13 +43,21 @@ public class ProcessingCell implements IOreRecipeRegistrator {
}
} else {
if (aMaterial.mFuelPower > 0) {
- GT_Values.RA.addFuel(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getFluidForFilledItem(aStack, true) == null
- ? GT_Utility.getContainerItem(aStack, true)
- : null,
- aMaterial.mFuelPower,
- aMaterial.mFuelType);
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ recipeBuilder.itemInputs(GT_Utility.copyAmount(1L, aStack));
+ if (GT_Utility.getFluidForFilledItem(aStack, true) == null
+ && GT_Utility.getContainerItem(aStack, true) != null) {
+ recipeBuilder.itemOutputs(GT_Utility.getContainerItem(aStack, true));
+ } else {
+ recipeBuilder.noItemOutputs();
+ }
+ recipeBuilder.noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, aMaterial.mFuelPower)
+ .metadata(FUEL_TYPE, aMaterial.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if ((aMaterial.mMaterialList.size() > 0) && ((aMaterial.mExtraData & 0x3) != 0)) {
int tAllAmount = 0;
@@ -174,13 +185,21 @@ public class ProcessingCell implements IOreRecipeRegistrator {
if (aMaterial == Materials.Empty) {
GT_ModHandler.removeRecipeByOutputDelayed(aStack);
} else {
- GT_Values.RA.addFuel(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.getFluidForFilledItem(aStack, true) == null
- ? GT_Utility.getContainerItem(aStack, true)
- : null,
- (int) Math.max(1024L, 1024L * aMaterial.getMass()),
- 4);
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ recipeBuilder.itemInputs(GT_Utility.copyAmount(1L, aStack));
+ if (GT_Utility.getFluidForFilledItem(aStack, true) == null
+ && GT_Utility.getContainerItem(aStack, true) != null) {
+ recipeBuilder.itemOutputs(GT_Utility.getContainerItem(aStack, true));
+ } else {
+ recipeBuilder.noItemOutputs();
+ }
+ recipeBuilder.noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, (int) Math.max(1024L, 1024L * aMaterial.getMass()))
+ .metadata(FUEL_TYPE, 4)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
if (GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1L, aStack))
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java
index d61d2bfc7b..410800f614 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java
@@ -1,11 +1,14 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Proxy;
public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegistrator {
@@ -24,72 +27,112 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
&& !aMaterial.contains(SubTag.NO_WORKING);
switch (aPrefix) {
case crateGtDust -> {
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(16L, GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L)),
- ItemList.Crate_Empty.get(1L),
- GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L),
- 100,
- 8);
- GT_Values.RA.addUnboxingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
- ItemList.Crate_Empty.get(1L),
- 800,
- 1);
+ if (GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(8)
+ .addTo(sBoxinatorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(sUnboxinatorRecipes);
+ }
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
GT_Proxy.tBits,
new Object[] { "Xc", 'X', OrePrefixes.crateGtDust.get(aMaterial) });
}
case crateGtIngot -> {
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(16L, GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 16L)),
- ItemList.Crate_Empty.get(1L),
- GT_OreDictUnificator.get(OrePrefixes.crateGtIngot, aMaterial, 1L),
- 100,
- 8);
- GT_Values.RA.addUnboxingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.crateGtIngot, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 16L),
- ItemList.Crate_Empty.get(1L),
- 800,
- 1);
+ if (GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtIngot, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(8)
+ .addTo(sBoxinatorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtIngot, aMaterial, 1L))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(sUnboxinatorRecipes);
+ }
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 16L),
GT_Proxy.tBits,
new Object[] { "Xc", 'X', OrePrefixes.crateGtIngot.get(aMaterial) });
}
case crateGtGem -> {
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(16L, GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 16L)),
- ItemList.Crate_Empty.get(1L),
- GT_OreDictUnificator.get(OrePrefixes.crateGtGem, aMaterial, 1L),
- 100,
- 8);
- GT_Values.RA.addUnboxingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.crateGtGem, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 16L),
- ItemList.Crate_Empty.get(1L),
- 800,
- 1);
+ if (GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtGem, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(8)
+ .addTo(sBoxinatorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtGem, aMaterial, 1L))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(sUnboxinatorRecipes);
+ }
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 16L),
GT_Proxy.tBits,
new Object[] { "Xc", 'X', OrePrefixes.crateGtGem.get(aMaterial) });
}
case crateGtPlate -> {
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(16L, GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 16L)),
- ItemList.Crate_Empty.get(1L),
- GT_OreDictUnificator.get(OrePrefixes.crateGtPlate, aMaterial, 1L),
- 100,
- 8);
- GT_Values.RA.addUnboxingRecipe(
- GT_OreDictUnificator.get(OrePrefixes.crateGtPlate, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 16L),
- ItemList.Crate_Empty.get(1L),
- 800,
- 1);
+ if (GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtPlate, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(8)
+ .addTo(sBoxinatorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtPlate, aMaterial, 1L))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 16L),
+ ItemList.Crate_Empty.get(1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(sUnboxinatorRecipes);
+ }
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 16L),
GT_Proxy.tBits,
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
index 7ca1f0cb15..270606f2a0 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
@@ -1,6 +1,8 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
@@ -9,6 +11,8 @@ import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sImplosionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
@@ -90,19 +94,23 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
if (aMaterial.mBlastFurnaceRequired) {
GT_ModHandler.removeFurnaceSmelting(aStack);
if (aMaterial.mAutoGenerateBlastFurnaceRecipes) {
- GT_Values.RA.addBlastRecipe(
- GT_Utility.copyAmount(1L, aStack),
- ItemList.Circuit_Integrated.getWithDamage(0L, 1L),
- null,
- null,
- aMaterial.mBlastFurnaceTemp > 1750
- ? GT_OreDictUnificator
- .get(OrePrefixes.ingotHot, aMaterial.mSmeltInto, tDustStack, 1L)
- : GT_Utility.copyAmount(1L, tDustStack),
- null,
- (int) Math.max(aMaterial.getMass() / 40L, 1L) * aMaterial.mBlastFurnaceTemp,
- 120,
- aMaterial.mBlastFurnaceTemp);
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ recipeBuilder
+ .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(1));
+ if (aMaterial.mBlastFurnaceTemp > 1750) {
+ recipeBuilder.itemOutputs(
+ GT_OreDictUnificator
+ .get(OrePrefixes.ingotHot, aMaterial.mSmeltInto, tDustStack, 1L));
+ } else {
+ recipeBuilder.itemOutputs(GT_Utility.copyAmount(1L, tDustStack));
+ }
+ recipeBuilder.noFluidInputs()
+ .noFluidOutputs()
+ .duration(
+ (Math.max(aMaterial.getMass() / 40L, 1L) * aMaterial.mBlastFurnaceTemp) * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, (int) aMaterial.mBlastFurnaceTemp)
+ .addTo(sBlastRecipes);
}
} else {
GT_ModHandler.addSmeltingRecipe(aStack, tDustStack);
@@ -650,12 +658,14 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
}
}
case dustSmall -> {
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(4L, aStack),
- ItemList.Schematic_Dust.get(0L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
- 20,
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(4L, aStack), ItemList.Schematic_Dust.get(0L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(4)
+ .addTo(sBoxinatorRecipes);
if (!aMaterial.mBlastFurnaceRequired) {
GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
if (aMaterial.mSmeltInto.mArcSmeltInto != aMaterial) {
@@ -670,12 +680,14 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
}
}
case dustTiny -> {
- GT_Values.RA.addBoxingRecipe(
- GT_Utility.copyAmount(9L, aStack),
- ItemList.Schematic_Dust.get(0L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L),
- 20,
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(9L, aStack), ItemList.Schematic_Dust.get(0L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(4)
+ .addTo(sBoxinatorRecipes);
if (!aMaterial.mBlastFurnaceRequired) {
GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
if (aMaterial.mSmeltInto.mArcSmeltInto != aMaterial) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
index cfb97560f1..6694cbe5e3 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
@@ -11,6 +11,8 @@ import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.init.Blocks;
@@ -27,6 +29,7 @@ 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_RecipeConstants;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Proxy;
@@ -56,11 +59,16 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
case gem -> {
// fuel recipes
if (aFuelPower) {
- GT_Values.RA.addFuel(
- GT_Utility.copyAmount(1L, aStack),
- null,
- aMaterial.mFuelPower * 2,
- aMaterial.mFuelType);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, aMaterial.mFuelPower * 2)
+ .metadata(FUEL_TYPE, aMaterial.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (!OrePrefixes.block.isIgnored(aMaterial)
@@ -333,11 +341,16 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
case gemChipped -> {
// Fuel recipes
if (aFuelPower) {
- GT_Values.RA.addFuel(
- GT_Utility.copyAmount(1L, aStack),
- null,
- aMaterial.mFuelPower / 2,
- aMaterial.mFuelType);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, aMaterial.mFuelPower / 2)
+ .metadata(FUEL_TYPE, aMaterial.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (!aNoWorking) {
@@ -439,11 +452,16 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
case gemExquisite -> {
// Fuel recipes
if (aFuelPower) {
- GT_Values.RA.addFuel(
- GT_Utility.copyAmount(1L, aStack),
- null,
- aMaterial.mFuelPower * 8,
- aMaterial.mFuelType);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, aMaterial.mFuelPower * 8)
+ .metadata(FUEL_TYPE, aMaterial.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (!aNoWorking) {
@@ -475,8 +493,16 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
case gemFlawed -> {
// fuel recipes
if (aFuelPower) {
- GT_Values.RA
- .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, aMaterial.mFuelPower)
+ .metadata(FUEL_TYPE, aMaterial.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (!aNoWorking) {
@@ -589,11 +615,16 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
// Fuel recipes
if (aFuelPower) {
- GT_Values.RA.addFuel(
- GT_Utility.copyAmount(1L, aStack),
- null,
- aMaterial.mFuelPower * 4,
- aMaterial.mFuelType);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, aMaterial.mFuelPower * 4)
+ .metadata(FUEL_TYPE, aMaterial.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (!aNoWorking) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
index 831e179fc0..221a79ec4d 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
@@ -6,6 +6,8 @@ import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -14,6 +16,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_RecipeConstants;
import gregtech.api.util.GT_RecipeRegistrator;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Proxy;
@@ -39,11 +42,19 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
&& !aMaterial.contains(SubTag.NO_SMASHING);
switch (aPrefix) {
- case ingot:
+ case ingot -> {
// Fuel recipe
if (aMaterial.mFuelPower > 0) {
- GT_Values.RA
- .addFuel(GT_Utility.copyAmount(1L, aStack), null, aMaterial.mFuelPower, aMaterial.mFuelType);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, aMaterial.mFuelPower)
+ .metadata(FUEL_TYPE, aMaterial.mFuelType)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
}
if (aMaterial.mStandardMoltenFluid != null
&& !(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
@@ -58,27 +69,25 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.eut(calculateRecipeEU(aMaterial, 8))
.addTo(sFluidSolidficationRecipes);
}
- // Reverse recipes
- {
- GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
- GT_RecipeRegistrator
- .registerReverseMacerating(aStack, aMaterial, aPrefix.mMaterialAmount, null, null, null, false);
- if (aMaterial.mSmeltInto.mArcSmeltInto != aMaterial) {
- GT_RecipeRegistrator.registerReverseArcSmelting(
- GT_Utility.copyAmount(1L, aStack),
- aMaterial,
- aPrefix.mMaterialAmount,
- null,
- null,
- null);
+ // Reverse recipes
+ {
+ GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
+ GT_RecipeRegistrator
+ .registerReverseMacerating(aStack, aMaterial, aPrefix.mMaterialAmount, null, null, null, false);
+ if (aMaterial.mSmeltInto.mArcSmeltInto != aMaterial) {
+ GT_RecipeRegistrator.registerReverseArcSmelting(
+ GT_Utility.copyAmount(1L, aStack),
+ aMaterial,
+ aPrefix.mMaterialAmount,
+ null,
+ null,
+ null);
+ }
}
- }
-
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)
&& !aMaterial.contains(SubTag.SMELTING_TO_GEM)
@@ -89,7 +98,6 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
GT_Proxy.tBits,
new Object[] { ToolDictNames.craftingToolMortar, OrePrefixes.ingot.get(aMaterial) });
}
-
if (!aNoSmashing) {
// Forge hammer recipes
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
@@ -183,9 +191,8 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
}
}
}
- break;
-
- case ingotDouble:
+ }
+ case ingotDouble -> {
if (!aNoSmashing) {
// bender recipes
{
@@ -218,9 +225,8 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
new Object[] { "I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial) });
}
}
- break;
-
- case ingotTriple:
+ }
+ case ingotTriple -> {
if (!aNoSmashing) {
// Bender recipes
{
@@ -253,9 +259,8 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
OrePrefixes.ingot.get(aMaterial) });
}
}
- break;
-
- case ingotQuadruple:
+ }
+ case ingotQuadruple -> {
if (!aNoSmashing) {
// Bender recipes
{
@@ -280,9 +285,8 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
OrePrefixes.ingot.get(aMaterial) });
}
}
- break;
-
- case ingotQuintuple:
+ }
+ case ingotQuintuple -> {
if (!aNoSmashing) {
// Bender recipes
{
@@ -307,9 +311,8 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
OrePrefixes.ingot.get(aMaterial) });
}
}
- break;
-
- case ingotHot:
+ }
+ case ingotHot -> {
if (aMaterial.mAutoGenerateVacuumFreezerRecipes
&& GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) {
// Vacuum freezer recipes
@@ -322,10 +325,8 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.eut(TierEU.RECIPE_MV)
.addTo(sVacuumRecipes);
}
- break;
-
- default:
- break;
+ }
+ default -> {}
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
index a7615dda69..ad6daa2299 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
@@ -4,6 +4,7 @@ import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
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_Recipe.GT_Recipe_Map.sCutterRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
@@ -159,38 +160,76 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
}
} else {
ItemStack tPlanks = GT_Utility.copyOrNull(tStack);
- tPlanks.stackSize = (tPlanks.stackSize * 3 / 2);
- GT_Values.RA.addCutterRecipe(
- new ItemStack(aStack.getItem(), 1, i),
- Materials.Lubricant.getFluid(1L),
- GT_Utility.copyOrNull(tPlanks),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L),
- 200,
- 8);
- GT_Values.RA.addCutterRecipe(
- new ItemStack(aStack.getItem(), 1, i),
- GT_Utility.copyAmount(
- GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4,
- tStack),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L),
- 200,
- 8);
- GT_ModHandler.addSawmillRecipe(
- new ItemStack(aStack.getItem(), 1, i),
- tPlanks,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
- GT_ModHandler.removeRecipeDelayed(new ItemStack(aStack.getItem(), 1, i));
- GT_ModHandler.addCraftingRecipe(
- GT_Utility.copyAmount(
- GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4,
- tStack),
- GT_ModHandler.RecipeBits.BUFFERED,
- new Object[] { "s", "L", 'L', new ItemStack(aStack.getItem(), 1, i) });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility
- .copyAmount(tStack.stackSize / (GT_Mod.gregtechproxy.mNerfedWoodPlank ? 2 : 1), tStack),
- GT_ModHandler.RecipeBits.BUFFERED,
- new Object[] { new ItemStack(aStack.getItem(), 1, i) });
+ if (tPlanks != null) {
+ tPlanks.stackSize = (tPlanks.stackSize * 3 / 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(aStack.getItem(), 1, i))
+ .itemOutputs(
+ GT_Utility.copyOrNull(tPlanks),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L))
+ .fluidInputs(Materials.Lubricant.getFluid(1L))
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(aStack.getItem(), 1, i))
+ .itemOutputs(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize
+ : tStack.stackSize * 5L / 4,
+ tStack),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L))
+ .fluidInputs(Materials.Water.getFluid(Math.min(1000, 200 * 8 / 320)))
+ .noFluidOutputs()
+ .duration(20 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(aStack.getItem(), 1, i))
+ .itemOutputs(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize
+ : tStack.stackSize * 5L / 4,
+ tStack),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L))
+ .fluidInputs(GT_ModHandler.getDistilledWater(3))
+ .noFluidOutputs()
+ .duration(20 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(aStack.getItem(), 1, i))
+ .itemOutputs(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize
+ : tStack.stackSize * 5L / 4,
+ tStack),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L))
+ .fluidInputs(Materials.Lubricant.getFluid(1))
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_ModHandler.addSawmillRecipe(
+ new ItemStack(aStack.getItem(), 1, i),
+ tPlanks,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
+ GT_ModHandler.removeRecipeDelayed(new ItemStack(aStack.getItem(), 1, i));
+ GT_ModHandler
+ .addCraftingRecipe(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize
+ : tStack.stackSize * 5L / 4,
+ tStack),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "s", "L", 'L', new ItemStack(aStack.getItem(), 1, i) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility
+ .copyAmount(tStack.stackSize / (GT_Mod.gregtechproxy.mNerfedWoodPlank ? 2 : 1), tStack),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { new ItemStack(aStack.getItem(), 1, i) });
+ }
}
}
} else {
@@ -206,35 +245,69 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
ItemStack tStack = GT_ModHandler.getRecipeOutput(GT_Utility.copyAmount(1L, aStack));
if (tStack != null) {
ItemStack tPlanks = GT_Utility.copyOrNull(tStack);
- tPlanks.stackSize = (tPlanks.stackSize * 3 / 2);
- GT_Values.RA.addCutterRecipe(
- GT_Utility.copyAmount(1L, aStack),
- Materials.Lubricant.getFluid(1L),
- GT_Utility.copyOrNull(tPlanks),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L),
- 200,
- 8);
- GT_Values.RA.addCutterRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_Utility.copyAmount(
- GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4,
- tStack),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L),
- 200,
- 8);
- GT_ModHandler.addSawmillRecipe(
- GT_Utility.copyAmount(1L, aStack),
- tPlanks,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
- GT_ModHandler.removeRecipeDelayed(GT_Utility.copyAmount(1L, aStack));
- GT_ModHandler.addCraftingRecipe(
- GT_Utility.copyAmount(
- GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4,
- tStack),
- new Object[] { "s", "L", 'L', GT_Utility.copyAmount(1L, aStack) });
- GT_ModHandler.addShapelessCraftingRecipe(
- GT_Utility.copyAmount(tStack.stackSize / (GT_Mod.gregtechproxy.mNerfedWoodPlank ? 2 : 1), tStack),
- new Object[] { GT_Utility.copyAmount(1L, aStack) });
+ if (tPlanks != null) {
+ tPlanks.stackSize = (tPlanks.stackSize * 3 / 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_Utility.copyOrNull(tPlanks),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L))
+ .fluidInputs(Materials.Lubricant.getFluid(1L))
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5L / 4,
+ tStack),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L))
+ .fluidInputs(Materials.Water.getFluid(Math.min(1000, 200 * 8 / 320)))
+ .noFluidOutputs()
+ .duration(20 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5L / 4,
+ tStack),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L))
+ .fluidInputs(GT_ModHandler.getDistilledWater(3))
+ .noFluidOutputs()
+ .duration(20 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5L / 4,
+ tStack),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L))
+ .fluidInputs(Materials.Lubricant.getFluid(1))
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(8)
+ .addTo(sCutterRecipes);
+ GT_ModHandler.addSawmillRecipe(
+ GT_Utility.copyAmount(1L, aStack),
+ tPlanks,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
+ GT_ModHandler.removeRecipeDelayed(GT_Utility.copyAmount(1L, aStack));
+ GT_ModHandler.addCraftingRecipe(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5L / 4,
+ tStack),
+ new Object[] { "s", "L", 'L', GT_Utility.copyAmount(1L, aStack) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility
+ .copyAmount(tStack.stackSize / (GT_Mod.gregtechproxy.mNerfedWoodPlank ? 2 : 1), tStack),
+ new Object[] { GT_Utility.copyAmount(1L, aStack) });
+ }
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
index de0298d547..f0ffe2d39b 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
@@ -1,8 +1,10 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes;
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 static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
import java.util.ArrayList;
@@ -98,15 +100,15 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
ItemStack tDust = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, tGem, 1L);
ItemStack tCleaned = GT_OreDictUnificator.get(OrePrefixes.crushedPurified, tMaterial, tDust, 1L);
ItemStack tCrushed = GT_OreDictUnificator
- .get(OrePrefixes.crushed, tMaterial, aMaterial.mOreMultiplier * aMultiplier);
+ .get(OrePrefixes.crushed, tMaterial, (long) aMaterial.mOreMultiplier * aMultiplier);
ItemStack tPrimaryByProduct = null;
if (tCrushed == null) {
tCrushed = GT_OreDictUnificator.get(
OrePrefixes.dustImpure,
tMaterial,
- GT_Utility.copyAmount(aMaterial.mOreMultiplier * aMultiplier, tCleaned, tDust, tGem),
- aMaterial.mOreMultiplier * aMultiplier);
+ GT_Utility.copyAmount((long) aMaterial.mOreMultiplier * aMultiplier, tCleaned, tDust, tGem),
+ (long) aMaterial.mOreMultiplier * aMultiplier);
}
ArrayList<ItemStack> tByProductStacks = new ArrayList<>();
@@ -149,54 +151,66 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
} else {
tHasSmelting = GT_ModHandler.addSmeltingRecipe(
aOreStack,
- GT_Utility.copyAmount(aMultiplier * aMaterial.mSmeltingMultiplier, tSmeltInto));
+ GT_Utility.copyAmount((long) aMultiplier * aMaterial.mSmeltingMultiplier, tSmeltInto));
}
if (aMaterial.contains(SubTag.BLASTFURNACE_CALCITE_TRIPLE)) {
if (aMaterial.mAutoGenerateBlastFurnaceRecipes) {
- GT_Values.RA.addBlastRecipe(
- aOreStack,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier),
- null,
- null,
- GT_Utility.mul(aMultiplier * 3 * aMaterial.mSmeltingMultiplier, tSmeltInto),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L),
- tSmeltInto.stackSize * 500,
- 120,
- 1500);
- GT_Values.RA.addBlastRecipe(
- aOreStack,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, aMultiplier),
- null,
- null,
- GT_Utility.mul(aMultiplier * 3 * aMaterial.mSmeltingMultiplier, tSmeltInto),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L),
- tSmeltInto.stackSize * 500,
- 120,
- 1500);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul((long) aMultiplier * 3 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul((long) aMultiplier * 3 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(sBlastRecipes);
}
} else if (aMaterial.contains(SubTag.BLASTFURNACE_CALCITE_DOUBLE)) {
if (aMaterial.mAutoGenerateBlastFurnaceRecipes) {
- GT_Values.RA.addBlastRecipe(
- aOreStack,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier),
- null,
- null,
- GT_Utility.mul(aMultiplier * 2 * aMaterial.mSmeltingMultiplier, tSmeltInto),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L),
- tSmeltInto.stackSize * 500,
- 120,
- 1500);
- GT_Values.RA.addBlastRecipe(
- aOreStack,
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, aMultiplier),
- null,
- null,
- GT_Utility.mul(aMultiplier * 2 * aMaterial.mSmeltingMultiplier, tSmeltInto),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L),
- tSmeltInto.stackSize * 500,
- 120,
- 1500);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul((long) aMultiplier * 2 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul((long) aMultiplier * 2 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(sBlastRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
index 04c359ae7a..6bd1a0e042 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
@@ -1,5 +1,12 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT;
+import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
+
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
@@ -7,6 +14,7 @@ import gregtech.GT_Mod;
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_RecipeBuilder;
import gregtech.api.util.GT_Utility;
public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipeRegistrator {
@@ -26,22 +34,28 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
if (!aMaterial.contains(SubTag.NO_SMELTING)) {
if ((aMaterial.mBlastFurnaceRequired) || (aMaterial.mDirectSmelting.mBlastFurnaceRequired)) {
if (aMaterial.mBlastFurnaceTemp < 1000 && aMaterial.mDirectSmelting.mBlastFurnaceTemp < 1000)
- if (aMaterial.mAutoGenerateBlastFurnaceRecipes) {
- GT_Values.RA.addBlastRecipe(
- GT_Utility.copyAmount(1L, aStack),
- ItemList.Circuit_Integrated.getWithDamage(0L, 1L),
- null,
- null,
- aMaterial.mBlastFurnaceTemp > 1750 ? GT_OreDictUnificator.get(
- OrePrefixes.ingotHot,
- aMaterial,
- GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L),
- 1L) : GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L),
- null,
- (int) Math.max(aMaterial.getMass() / 4L, 1L) * aMaterial.mBlastFurnaceTemp,
- 120,
- aMaterial.mBlastFurnaceTemp);
- }
+ if (aMaterial.mAutoGenerateBlastFurnaceRecipes
+ && GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) {
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ recipeBuilder
+ .itemInputs(GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(1));
+ if (aMaterial.mBlastFurnaceTemp > 1750) {
+ recipeBuilder.itemOutputs(
+ GT_OreDictUnificator.get(
+ OrePrefixes.ingotHot,
+ aMaterial,
+ GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L),
+ 1L));
+ } else {
+ recipeBuilder.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L));
+ }
+ recipeBuilder.noFluidInputs()
+ .noFluidOutputs()
+ .duration(Math.max(aMaterial.getMass() / 4L, 1L) * aMaterial.mBlastFurnaceTemp * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, (int) aMaterial.mBlastFurnaceTemp)
+ .addTo(sBlastRecipes);
+ }
} else {
OrePrefixes outputPrefix;
int outputSize;
@@ -65,73 +79,108 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
case dust:
int outputAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3;
if (aMaterial.mDirectSmelting != aMaterial) {
- if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) {
- GT_Values.RA.addPrimitiveBlastRecipe(
- GT_Utility.copyAmount(2, aStack),
- GT_Values.NI,
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- GT_Values.NI,
- 2400);
+ if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)
+ && aMaterial.mDirectSmelting.getIngots(1) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(2, aStack))
+ .itemOutputs(aMaterial.mDirectSmelting.getIngots(outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
} else if (aMaterial == Materials.Chalcopyrite) {
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- new ItemStack(Blocks.sand, 2),
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Ferrosilite.getDustSmall(2 * outputAmount),
- 2400);
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- Materials.Glass.getDust(2),
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Ferrosilite.getDustTiny(7 * outputAmount),
- 2400);
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- Materials.SiliconDioxide.getDust(2),
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Ferrosilite.getDust(outputAmount),
- 2400);
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- Materials.Quartzite.getDust(4),
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Ferrosilite.getDust(outputAmount),
- 2400);
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- Materials.NetherQuartz.getDust(2),
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Ferrosilite.getDust(outputAmount),
- 2400);
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- Materials.CertusQuartz.getDust(2),
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Ferrosilite.getDust(outputAmount),
- 2400);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Ferrosilite.getDustSmall(2 * outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2), Materials.Glass.getDust(2))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Ferrosilite.getDustSmall(7 * outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Ferrosilite.getDustSmall(outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2), Materials.Quartzite.getDust(4))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Ferrosilite.getDustSmall(outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2), Materials.NetherQuartz.getDust(2))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Ferrosilite.getDustSmall(outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2), Materials.CertusQuartz.getDust(2))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Ferrosilite.getDustSmall(outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
} else if (aMaterial == Materials.Tetrahedrite) {
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- GT_Values.NI,
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Antimony.getNuggets(3 * outputAmount),
- 2400);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Antimony.getNuggets(3 * outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
} else if (aMaterial == Materials.Galena) {
- GT_Values.RA.addPrimitiveBlastRecipe(
- aMaterial.getDust(2),
- GT_Values.NI,
- 2,
- aMaterial.mDirectSmelting.getIngots(outputAmount),
- Materials.Silver.getNuggets(3 * outputAmount),
- 2400);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aMaterial.getDust(2))
+ .itemOutputs(
+ aMaterial.mDirectSmelting.getIngots(outputAmount),
+ Materials.Silver.getNuggets(3 * outputAmount))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(2 * MINUTES)
+ .eut(0)
+ .metadata(ADDITIVE_AMOUNT, 2)
+ .addTo(sPrimitiveBlastRecipes);
}
}
case dustImpure:
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java
index 299e0a92fe..029f03aea3 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java
@@ -1,10 +1,14 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
+
import net.minecraft.item.ItemStack;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_RecipeConstants;
import gregtech.api.util.GT_Utility;
public class ProcessingWax implements gregtech.api.interfaces.IOreRecipeRegistrator {
@@ -16,6 +20,17 @@ public class ProcessingWax implements gregtech.api.interfaces.IOreRecipeRegistra
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
- if (aOreDictName.equals("waxMagical")) GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aStack), null, 6, 5);
+ if (aOreDictName.equals("waxMagical")) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .noItemOutputs()
+ .noFluidInputs()
+ .noFluidOutputs()
+ .metadata(FUEL_VALUE, 6)
+ .metadata(FUEL_TYPE, 5)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ }
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
index 7e910e8564..c50e939a94 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
@@ -3,6 +3,8 @@ package gregtech.loaders.oreprocessing;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -262,12 +264,16 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
// Packer recipe
if (GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L) != null) {
- 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);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(1L, aStack),
+ GT_OreDictUnificator.get(OrePrefixes.plate.get(Materials.Rubber), costMultiplier))
+ .itemOutputs(GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(8)
+ .addTo(sBoxinatorRecipes);
}
// alloy smelter recipes
{
@@ -498,14 +504,15 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
}
}
- // Honestly when can this machine be removed? );
if (GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L) != null) {
- GT_Values.RA.addUnboxingRecipe(
- GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L),
- GT_Utility.copyAmount(1L, aStack),
- null,
- 100,
- calculateRecipeEU(aMaterial, 8));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, 8))
+ .addTo(sUnboxinatorRecipes);
}
if (GT_Mod.gregtechproxy.mAE2Integration
diff --git a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
index 336c45f5ec..7922964315 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
@@ -552,94 +552,80 @@ public class BlastFurnaceRecipes implements Runnable {
// Roasting
for (ItemStack silicon : tSiliconDioxide) {
- GT_Values.RA.addBlastRecipe(
- Materials.Chalcopyrite.getDust(1),
- silicon,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(2000),
- Materials.RoastedCopper.getDust(1),
- Materials.Ferrosilite.getDust(5),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Chalcopyrite.getDust(1), silicon)
+ .itemOutputs(Materials.RoastedCopper.getDust(1), Materials.Ferrosilite.getDust(5))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(2000))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
}
- GT_Values.RA.addBlastRecipe(
- Materials.Tetrahedrite.getDust(1),
- GT_Values.NI,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(2000),
- Materials.RoastedCopper.getDust(1),
- Materials.RoastedAntimony.getDustTiny(3),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
-
- GT_Values.RA.addBlastRecipe(
- Materials.Pyrite.getDust(1),
- GT_Values.NI,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(2000),
- Materials.RoastedIron.getDust(1),
- Materials.Ash.getDustTiny(1),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
-
- GT_Values.RA.addBlastRecipe(
- Materials.Pentlandite.getDust(1),
- GT_Values.NI,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(1000),
- Materials.RoastedNickel.getDust(1),
- Materials.Ash.getDustTiny(1),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
-
- GT_Values.RA.addBlastRecipe(
- Materials.Sphalerite.getDust(1),
- GT_Values.NI,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(1000),
- Materials.RoastedZinc.getDust(1),
- Materials.Ash.getDustTiny(1),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
-
- GT_Values.RA.addBlastRecipe(
- Materials.Cobaltite.getDust(1),
- GT_Values.NI,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(1000),
- Materials.RoastedCobalt.getDust(1),
- Materials.RoastedArsenic.getDust(1),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
-
- GT_Values.RA.addBlastRecipe(
- Materials.Stibnite.getDust(1),
- GT_Values.NI,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(1500),
- Materials.RoastedAntimony.getDust(1),
- Materials.Ash.getDustTiny(1),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
-
- GT_Values.RA.addBlastRecipe(
- Materials.Galena.getDust(1),
- GT_Values.NI,
- Materials.Oxygen.getGas(3000),
- Materials.SulfurDioxide.getGas(1000),
- Materials.RoastedLead.getDust(1),
- Materials.Ash.getDustTiny(1),
- 120,
- (int) TierEU.RECIPE_MV,
- 1200);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Tetrahedrite.getDust(1))
+ .itemOutputs(Materials.RoastedCopper.getDust(1), Materials.RoastedAntimony.getDustTiny(3))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(2000))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Pyrite.getDust(1))
+ .itemOutputs(Materials.RoastedIron.getDust(1), Materials.Ash.getDustTiny(1))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(2000))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Pentlandite.getDust(1))
+ .itemOutputs(Materials.RoastedNickel.getDust(1), Materials.Ash.getDustTiny(1))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(2000))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Sphalerite.getDust(1))
+ .itemOutputs(Materials.RoastedZinc.getDust(1), Materials.Ash.getDustTiny(1))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(1000))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Cobaltite.getDust(1))
+ .itemOutputs(Materials.RoastedCobalt.getDust(1), Materials.RoastedArsenic.getDust(1))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(1000))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Stibnite.getDust(1))
+ .itemOutputs(Materials.RoastedAntimony.getDust(1), Materials.Ash.getDustTiny(1))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(1500))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Galena.getDust(1))
+ .itemOutputs(Materials.RoastedLead.getDust(1), Materials.Ash.getDustTiny(1))
+ .fluidInputs(Materials.Oxygen.getGas(3000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(1000))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1200)
+ .addTo(sBlastRecipes);
if (GTNHLanthanides.isModLoaded() && GTPlusPlus.isModLoaded()) {