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/ProcessingFood.java11
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java214
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java29
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java16
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java20
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java33
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java18
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java390
8 files changed, 523 insertions, 208 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
index 7d5d9a79c0..881b2ae4f1 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
@@ -3,6 +3,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.sMixerRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -40,8 +41,14 @@ public class ProcessingFood implements gregtech.api.interfaces.IOreRecipeRegistr
}
private void registerSlicerRecipes(ItemStack stack) {
- GT_Values.RA
- .addSlicerRecipe(stack, ItemList.Shape_Slicer_Flat.get(0L), ItemList.Food_Sliced_Cheese.get(4L), 64, 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(stack, ItemList.Shape_Slicer_Flat.get(0L))
+ .itemOutputs(ItemList.Food_Sliced_Cheese.get(4L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(4)
+ .addTo(sSlicerRecipes);
}
private void registerBenderRecipes(ItemStack stack) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
index 03ab6b05de..cfb97560f1 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
@@ -5,6 +5,7 @@ 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.sImplosionRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
@@ -12,11 +13,18 @@ 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.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
+import gregtech.api.enums.ConfigCategories;
+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.SubTag;
+import gregtech.api.enums.TierEU;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -202,11 +210,52 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == 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));
+ if (GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), ItemList.Block_Powderbarrel.get(16))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("dynamite", 4, null))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), new ItemStack(Blocks.tnt, 8))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("industrialTnt", 2))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ }
}
// Crafting recipes
@@ -310,11 +359,52 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == 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));
+ if (GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), ItemList.Block_Powderbarrel.get(16))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("dynamite", 4, null))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), new ItemStack(Blocks.tnt, 8))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("industrialTnt", 2))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ }
}
// Crafting recipes
@@ -408,11 +498,52 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == 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));
+ if (GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), ItemList.Block_Powderbarrel.get(16))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("dynamite", 4, null))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), new ItemStack(Blocks.tnt, 8))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("industrialTnt", 2))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ }
}
// Crafting recipes
@@ -486,11 +617,52 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == 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));
+ if (GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), ItemList.Block_Powderbarrel.get(16))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("dynamite", 4, null))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(3L, aStack), new ItemStack(Blocks.tnt, 8))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(3L, aStack),
+ GT_ModHandler.getIC2Item("industrialTnt", 2))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sImplosionRecipes);
+ }
}
// Crafting recipes
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
index f962c98e4f..afa18afa41 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
@@ -15,6 +15,7 @@ import gregtech.api.enums.TierEU;
import gregtech.api.interfaces.ITexture;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_RecipeBuilder;
public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistrator {
@@ -61,24 +62,32 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
}
default -> {
if (GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L) != null) {
- GT_Values.RA.stdBuilder()
- .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
- .itemOutputs(
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ recipeBuilder.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L));
+ if (GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L) == null) {
+ recipeBuilder.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L));
+ } else {
+ recipeBuilder.itemOutputs(
GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L))
- .noFluidInputs()
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L));
+ }
+ recipeBuilder.noFluidInputs()
.noFluidOutputs()
.duration(1 * MINUTES)
.eut(TierEU.RECIPE_MV)
.addTo(sLatheRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L) != null) {
- GT_Values.RA.stdBuilder()
- .itemInputs(GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L))
- .itemOutputs(
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ recipeBuilder.itemInputs(GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L));
+ if (GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L) == null) {
+ recipeBuilder.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L));
+ } else {
+ recipeBuilder.itemOutputs(
GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L))
- .noFluidInputs()
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L));
+ }
+ recipeBuilder.noFluidInputs()
.noFluidOutputs()
.duration(2 * MINUTES)
.eut(TierEU.RECIPE_LV)
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java
index 45c549351c..10570c698b 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java
@@ -10,6 +10,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_RecipeBuilder;
import gregtech.api.util.GT_Utility;
public class ProcessingRecycling implements gregtech.api.interfaces.IOreRecipeRegistrator {
@@ -26,12 +27,17 @@ public class ProcessingRecycling implements gregtech.api.interfaces.IOreRecipeRe
if ((aMaterial != Materials.Empty) && (GT_Utility.getFluidForFilledItem(aStack, true) == null)
&& !aMaterial.contains(SubTag.SMELTING_TO_FLUID)
&& (GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L) != null)) {
- GT_Values.RA.stdBuilder()
- .itemInputs(aStack)
- .itemOutputs(
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+ recipeBuilder.itemInputs(aStack);
+ if (GT_Utility.getContainerItem(aStack, true) == null) {
+ recipeBuilder.itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, aPrefix.mMaterialAmount / 3628800L));
+ } else {
+ recipeBuilder.itemOutputs(
GT_Utility.getContainerItem(aStack, true),
- GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, aPrefix.mMaterialAmount / 3628800L))
- .noFluidInputs()
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, aPrefix.mMaterialAmount / 3628800L));
+ }
+ recipeBuilder.noFluidInputs()
.noFluidOutputs()
.duration(((int) Math.max(aMaterial.getMass() / 2L, 1L)) * TICKS)
.eut(2)
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java
index 0f28727558..0e8fe612f0 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java
@@ -1,5 +1,8 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
import net.minecraft.item.ItemStack;
import appeng.core.Api;
@@ -23,12 +26,17 @@ public class ProcessingRound implements gregtech.api.interfaces.IOreRecipeRegist
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
if (!aMaterial.contains(SubTag.NO_WORKING)) {
- GT_Values.RA.addLatheRecipe(
- GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial, 1L),
- GT_Utility.copyAmount(1L, aStack),
- null,
- (int) Math.max(aMaterial.getMass() / 4L, 1L),
- 8);
+ if (GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial, 1L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(((int) Math.max(aMaterial.getMass() / 4L, 1L)) * TICKS)
+ .eut(8)
+ .addTo(sLatheRecipes);
+ }
+
if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)) {
GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.round, aMaterial, 1L),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
index b98768b69a..a17cfe0d27 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
@@ -1,7 +1,10 @@
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.sLatheRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import net.minecraft.item.ItemStack;
@@ -21,12 +24,14 @@ public class ProcessingSaplings implements gregtech.api.interfaces.IOreRecipeReg
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
- GT_Values.RA.addPulveriserRecipe(
- GT_Utility.copyAmount(1L, aStack),
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L) },
- new int[] { 10000 },
- 100,
- 2);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(20 * SECONDS)
+ .eut(2)
+ .addTo(sMaceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(8L, aStack))
@@ -37,11 +42,15 @@ public class ProcessingSaplings implements gregtech.api.interfaces.IOreRecipeReg
.eut(2)
.addTo(sCompressorRecipes);
- GT_Values.RA.addLatheRecipe(
- GT_Utility.copyAmount(1L, aStack),
- GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L),
- GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Wood, 1L),
- 16,
- 8);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1L, aStack))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Wood, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(16 * TICKS)
+ .eut(8)
+ .addTo(sLatheRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java
index 4da8591a2b..9282e3850e 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java
@@ -1,5 +1,7 @@
package gregtech.loaders.oreprocessing;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -20,12 +22,16 @@ public class ProcessingScrew implements gregtech.api.interfaces.IOreRecipeRegist
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
if (!aMaterial.contains(SubTag.NO_WORKING)) {
- GT_Values.RA.addLatheRecipe(
- GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L),
- GT_Utility.copyAmount(1L, aStack),
- null,
- (int) Math.max(aMaterial.getMass() / 8L, 1L),
- calculateRecipeEU(aMaterial, 4));
+ if (GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(((int) Math.max(aMaterial.getMass() / 8L, 1L)) * TICKS)
+ .eut(calculateRecipeEU(aMaterial, 4))
+ .addTo(sLatheRecipes);
+ }
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 dd16de83b7..7dbd6f23e1 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
@@ -1,9 +1,12 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes;
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;
@@ -50,12 +53,14 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
case toolHeadArrow -> {
if (aMaterial.mStandardMoltenFluid != null)
if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
- GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_Arrow.get(0L),
- aMaterial.getMolten(36L),
- GT_Utility.copyAmount(1L, aStack),
- 16,
- 4);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_Arrow.get(0L))
+ .itemOutputs(GT_Utility.copyAmount(1L, aStack))
+ .fluidInputs(aMaterial.getMolten(36L))
+ .noFluidOutputs()
+ .duration(16 * TICKS)
+ .eut(8)
+ .addTo(sFluidSolidficationRecipes);
}
if (aSpecialRecipeReq2) {
GT_ModHandler.addCraftingRecipe(
@@ -74,15 +79,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
GT_MetaGenerated_Tool_01.INSTANCE
.getToolWithStats(GT_MetaGenerated_Tool_01.AXE, 1, aMaterial, aMaterial.mHandleMaterial, null),
new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) });
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(2) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE
- .getToolWithStats(GT_MetaGenerated_Tool_01.AXE, 1, aMaterial, aMaterial.mHandleMaterial, null),
- 200,
- 120);
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.AXE,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(sAssemblerRecipes);
+ }
if (aSpecialRecipeReq1) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L),
GT_Proxy.tBits,
@@ -505,21 +520,27 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
GT_Proxy.tBits,
new Object[] { "XSX", "XSX", "ShS", 'X', OrePrefixes.plate.get(aMaterial), 'S',
OrePrefixes.plate.get(Materials.Steel) });
- if (aMaterial.getMolten(1) != null) {
- GT_Values.RA.addFluidSolidifierRecipe(
- ItemList.Shape_Mold_ToolHeadDrill.get(0),
- aMaterial.getMolten(144 * 4),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadDrill, aMaterial, 1L),
- 5 * 20,
- calculateRecipeEU(aMaterial, (int) GT_Values.VP[2]));
+ if (aMaterial.mStandardMoltenFluid != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Shape_Mold_ToolHeadDrill.get(0))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadDrill, aMaterial, 1L))
+ .fluidInputs(aMaterial.getMolten(144 * 4))
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sFluidSolidficationRecipes);
}
- if (aMaterial.getIngots(1) != null) {
- GT_Values.RA.addExtruderRecipe(
- aMaterial.getIngots(4),
- ItemList.Shape_Extruder_ToolHeadDrill.get(0),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadDrill, aMaterial, 1L),
- 5 * 20,
- calculateRecipeEU(aMaterial, (int) GT_Values.VP[2]));
+ if (GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 4L),
+ ItemList.Shape_Extruder_ToolHeadDrill.get(0))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadDrill, aMaterial, 1L))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(5 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sExtruderRecipes);
}
}
}
@@ -550,15 +571,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
}
}
}
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadFile, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(15) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE
- .getToolWithStats(GT_MetaGenerated_Tool_01.FILE, 1, aMaterial, aMaterial.mHandleMaterial, null),
- 200,
- calculateRecipeEU(aMaterial, 120));
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadFile, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(15))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.FILE,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
}
case toolHeadHoe -> {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
@@ -571,15 +602,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null),
new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) });
}
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(16) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE
- .getToolWithStats(GT_MetaGenerated_Tool_01.HOE, 1, aMaterial, aMaterial.mHandleMaterial, null),
- 200,
- calculateRecipeEU(aMaterial, 120));
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(16))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.HOE,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
if (aSpecialRecipeReq1) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L),
GT_Proxy.tBits,
@@ -613,19 +654,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
GT_Proxy.tBits,
new Object[] { "GGG", "f ", 'G', OrePrefixes.gem.get(aMaterial) });
}
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(5) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
- GT_MetaGenerated_Tool_01.PICKAXE,
- 1,
- aMaterial,
- aMaterial.mHandleMaterial,
- null),
- 200,
- 120);
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(5))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.PICKAXE,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
}
case toolHeadPlow -> {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
@@ -649,15 +696,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
GT_Proxy.tBits,
new Object[] { "GG", "GG", " f", 'G', OrePrefixes.gem.get(aMaterial) });
}
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadPlow, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(6) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE
- .getToolWithStats(GT_MetaGenerated_Tool_01.PLOW, 1, aMaterial, aMaterial.mHandleMaterial, null),
- 200,
- calculateRecipeEU(aMaterial, 120));
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadPlow, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(6))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.PLOW,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
}
case toolHeadSaw -> {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
@@ -682,15 +739,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
GT_Proxy.tBits,
new Object[] { "GGf", 'G', OrePrefixes.gem.get(aMaterial) });
}
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadSaw, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(7) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE
- .getToolWithStats(GT_MetaGenerated_Tool_01.SAW, 1, aMaterial, aMaterial.mHandleMaterial, null),
- 200,
- calculateRecipeEU(aMaterial, 120));
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadSaw, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(7))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.SAW,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
}
case toolHeadSense -> {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
@@ -715,19 +782,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
GT_Proxy.tBits,
new Object[] { "GGG", " f ", " ", 'G', OrePrefixes.gem.get(aMaterial) });
}
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadSense, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(8) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
- GT_MetaGenerated_Tool_01.SENSE,
- 1,
- aMaterial,
- aMaterial.mHandleMaterial,
- null),
- 200,
- calculateRecipeEU(aMaterial, 120));
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadSense, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(8))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.SENSE,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
}
case toolHeadShovel -> {
GT_ModHandler.addShapelessCraftingRecipe(
@@ -738,19 +811,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
aMaterial.mHandleMaterial,
null),
new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial.mHandleMaterial) });
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(9) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
- GT_MetaGenerated_Tool_01.SHOVEL,
- 1,
- aMaterial,
- aMaterial.mHandleMaterial,
- null),
- 200,
- 120);
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(9))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.SHOVEL,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
if (aSpecialRecipeReq1) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L),
GT_Proxy.tBits,
@@ -784,19 +863,25 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
GT_Proxy.tBits,
new Object[] { " G", "fG", 'G', OrePrefixes.gem.get(aMaterial) });
}
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(10) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
- GT_MetaGenerated_Tool_01.SWORD,
- 1,
- aMaterial,
- aMaterial.mHandleMaterial,
- null),
- 200,
- calculateRecipeEU(aMaterial, 120));
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(10))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.SWORD,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
}
case toolHeadUniversalSpade -> {
GT_ModHandler.addShapelessCraftingRecipe(
@@ -804,20 +889,27 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.getToolWithStats(GT_MetaGenerated_Tool_01.UNIVERSALSPADE, 1, aMaterial, aMaterial, null),
new Object[] { aOreDictName, OrePrefixes.stick.get(aMaterial), OrePrefixes.screw.get(aMaterial),
ToolDictNames.craftingToolScrewdriver });
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(11) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
- GT_MetaGenerated_Tool_01.UNIVERSALSPADE,
- 1,
- aMaterial,
- aMaterial.mHandleMaterial,
- null),
- 200,
- 120);
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null
+ && GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(11))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ GT_MetaGenerated_Tool_01.UNIVERSALSPADE,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L),
GT_Proxy.tBits,
@@ -1071,21 +1163,27 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
OrePrefixes.screw.get(Materials.Steel) });
}
case toolHeadHammer, toolHeadMallet -> {
- GT_Values.RA.addAssemblerRecipe(
- new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
- GT_OreDictUnificator.get(OrePrefixes.toolHeadHammer, aMaterial, 1L),
- GT_Utility.getIntegratedCircuit(14) },
- GT_Values.NF,
- GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
- (aMaterial.contains(SubTag.BOUNCY)) || (aMaterial.contains(SubTag.WOOD))
- ? GT_MetaGenerated_Tool_01.SOFTMALLET
- : GT_MetaGenerated_Tool_01.HARDHAMMER,
- 1,
- aMaterial,
- aMaterial.mHandleMaterial,
- null),
- 200,
- 120);
+ if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mHandleMaterial, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadHammer, aMaterial, 1L),
+ GT_Utility.getIntegratedCircuit(14))
+ .itemOutputs(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(
+ (aMaterial.contains(SubTag.BOUNCY)) || (aMaterial.contains(SubTag.WOOD))
+ ? GT_MetaGenerated_Tool_01.SOFTMALLET
+ : GT_MetaGenerated_Tool_01.HARDHAMMER,
+ 1,
+ aMaterial,
+ aMaterial.mHandleMaterial,
+ null))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
+ .addTo(sAssemblerRecipes);
+ }
if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) {
GT_ModHandler.addShapelessCraftingRecipe(
GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(