aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r--src/main/java/gregtech/api/util/FishPondFakeRecipe.java32
-rw-r--r--src/main/java/gregtech/api/util/GT_Forestry_Compat.java247
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java385
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeBuilder.java8
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeConstants.java96
-rw-r--r--src/main/java/gregtech/api/util/GasSpargingRecipe.java4
-rw-r--r--src/main/java/gregtech/api/util/HotFuel.java40
-rw-r--r--src/main/java/gregtech/api/util/SemiFluidFuelHandler.java114
8 files changed, 290 insertions, 636 deletions
diff --git a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java
index dc579ebd9b..b5bfff9e29 100644
--- a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java
+++ b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java
@@ -1,16 +1,17 @@
package gregtech.api.util;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.fishPondRecipes;
+
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomFishable;
import net.minecraftforge.common.FishingHooks;
-import net.minecraftforge.fluids.FluidStack;
+import gregtech.api.enums.GT_Values;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
-import gtPlusPlus.api.recipe.GTPPRecipeMaps;
-import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
@@ -49,7 +50,14 @@ public class FishPondFakeRecipe {
ItemStack t = (ItemStack) ReflectionUtils
.getField(WeightedRandomFishable.class, "field_150711_b")
.get(u);
- addNewFishPondLoot(mType, new ItemStack[] { t }, new int[] { 10000 });
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(mType))
+ .itemOutputs(t)
+ .duration(5 * SECONDS)
+ .eut(0)
+ .ignoreCollision()
+ .addTo(fishPondRecipes);
+ Logger.INFO("Fishing [" + mType + "]: " + ItemUtils.getArrayStackNames(new ItemStack[] { t }));
} catch (IllegalArgumentException | IllegalAccessException e1) {
Logger.INFO("Error generating Fish Pond Recipes. [2]");
e1.printStackTrace();
@@ -61,20 +69,4 @@ public class FishPondFakeRecipe {
return true;
}
-
- public static void addNewFishPondLoot(int circuit, ItemStack[] outputItems, int[] chances) {
- GT_Recipe x = new GT_Recipe(
- true,
- new ItemStack[] { CI.getNumberedCircuit(circuit) },
- outputItems,
- null,
- chances,
- new FluidStack[] { null },
- new FluidStack[] { null },
- 100, // 1 Tick
- 0, // No Eu produced
- 0);
- Logger.INFO("Fishing [" + circuit + "]: " + ItemUtils.getArrayStackNames(outputItems));
- GTPPRecipeMaps.fishPondRecipes.addRecipe(x, false, false, false);
- }
}
diff --git a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java
index 427703e6f7..d383d643d7 100644
--- a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java
+++ b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java
@@ -1,9 +1,14 @@
package gregtech.api.util;
+import static gregtech.api.recipe.RecipeMaps.centrifugeNonCellRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
import java.util.Map;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
import forestry.api.recipes.ICentrifugeRecipe;
import forestry.api.recipes.ISqueezerRecipe;
@@ -17,112 +22,112 @@ public class GT_Forestry_Compat {
public static void populateFakeNeiRecipes() {
if (ItemList.FR_Bee_Drone.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Bee_Drone.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Bee_Drone.getWithName(1L, "Scanned Drone") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Bee_Drone.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Bee_Drone.getWithName(1L, "Scanned Drone"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_Bee_Princess.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Bee_Princess.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Bee_Princess.getWithName(1L, "Scanned Princess") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Bee_Princess.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Bee_Princess.getWithName(1L, "Scanned Princess"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_Bee_Queen.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Bee_Queen.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Bee_Queen.getWithName(1L, "Scanned Queen") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Bee_Queen.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Bee_Queen.getWithName(1L, "Scanned Queen"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_Tree_Sapling.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Tree_Sapling.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Tree_Sapling.getWithName(1L, "Scanned Sapling") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Tree_Sapling.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Tree_Sapling.getWithName(1L, "Scanned Sapling"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_Butterfly.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Butterfly.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Butterfly.getWithName(1L, "Scanned Butterfly") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Butterfly.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Butterfly.getWithName(1L, "Scanned Butterfly"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_Larvae.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Larvae.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Larvae.getWithName(1L, "Scanned Larvae") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Larvae.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Larvae.getWithName(1L, "Scanned Larvae"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_Serum.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Serum.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Serum.getWithName(1L, "Scanned Serum") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Serum.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Serum.getWithName(1L, "Scanned Serum"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_Caterpillar.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_Caterpillar.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_Caterpillar.getWithName(1L, "Scanned Caterpillar") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_Caterpillar.getWildcard(1L))
+ .itemOutputs(ItemList.FR_Caterpillar.getWithName(1L, "Scanned Caterpillar"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
if (ItemList.FR_PollenFertile.get(1L) != null) {
- RecipeMaps.scannerFakeRecipes.addFakeRecipe(
- false,
- new ItemStack[] { ItemList.FR_PollenFertile.getWildcard(1L) },
- new ItemStack[] { ItemList.FR_PollenFertile.getWithName(1L, "Scanned Pollen") },
- null,
- new FluidStack[] { Materials.Honey.getFluid(100L) },
- null,
- 500,
- 2,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FR_PollenFertile.getWildcard(1L))
+ .itemOutputs(ItemList.FR_PollenFertile.getWithName(1L, "Scanned Pollen"))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .duration(25 * SECONDS)
+ .eut(2)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
}
}
@@ -139,28 +144,21 @@ public class GT_Forestry_Compat {
.copy();
i++;
}
- RecipeMaps.centrifugeRecipes.addRecipe(
- true,
- new ItemStack[] { tRecipe.getInput() },
- tOutputs,
- null,
- tChances,
- null,
- null,
- 128,
- 5,
- 0);
- RecipeMaps.centrifugeNonCellRecipes.addRecipe(
- true,
- new ItemStack[] { tRecipe.getInput() },
- tOutputs,
- null,
- tChances,
- null,
- null,
- 128,
- 5,
- 0);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(tRecipe.getInput())
+ .itemOutputs(tOutputs)
+ .outputChances(tChances)
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(5)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(tRecipe.getInput())
+ .itemOutputs(tOutputs)
+ .outputChances(tChances)
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(5)
+ .addTo(centrifugeNonCellRecipes);
}
} catch (Throwable e) {
if (GT_Values.D1) {
@@ -172,18 +170,17 @@ public class GT_Forestry_Compat {
public static void transferSqueezerRecipes() {
try {
for (ISqueezerRecipe tRecipe : RecipeManagers.squeezerManager.recipes()) {
- if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null)) {
- RecipeMaps.fluidExtractionRecipes.addRecipe(
- true,
- new ItemStack[] { tRecipe.getResources()[0] },
- new ItemStack[] { tRecipe.getRemnants() },
- null,
- new int[] { (int) (tRecipe.getRemnantsChance() * 10000) },
- null,
- new FluidStack[] { tRecipe.getFluidOutput() },
- 32,
- 8,
- 0);
+ if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null)
+ && (tRecipe.getResources()[0] != null)
+ && (tRecipe.getRemnants() != null)) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(tRecipe.getResources()[0])
+ .itemOutputs(tRecipe.getRemnants())
+ .outputChances((int) (tRecipe.getRemnantsChance() * 10000))
+ .fluidOutputs(tRecipe.getFluidOutput())
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(8)
+ .addTo(RecipeMaps.fluidExtractionRecipes);
}
}
} catch (Throwable e) {
diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java
index 70dc2f30b0..8c43a5334b 100644
--- a/src/main/java/gregtech/api/util/GT_ModHandler.java
+++ b/src/main/java/gregtech/api/util/GT_ModHandler.java
@@ -10,7 +10,6 @@ import static gregtech.api.enums.GT_Values.RA;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.W;
import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
-import static gregtech.api.recipe.RecipeMaps.extractorRecipes;
import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -576,184 +575,6 @@ public class GT_ModHandler {
}
/**
- * LiquidTransposer Recipe for both directions
- */
- @Deprecated
- public static boolean addLiquidTransposerRecipe(ItemStack aEmptyContainer, FluidStack aLiquid,
- ItemStack aFullContainer, int aMJ) {
- return true;
- }
-
- /**
- * LiquidTransposer Recipe for filling Containers
- */
- @Deprecated
- public static boolean addLiquidTransposerFillRecipe(ItemStack aEmptyContainer, FluidStack aLiquid,
- ItemStack aFullContainer, int aMJ) {
- return true;
- }
-
- /**
- * LiquidTransposer Recipe for emptying Containers
- */
- @Deprecated
- public static boolean addLiquidTransposerEmptyRecipe(ItemStack aFullContainer, FluidStack aLiquid,
- ItemStack aEmptyContainer, int aMJ) {
- return true;
- }
-
- /**
- * IC2-Extractor Recipe. Overloads old Recipes automatically
- */
- @Deprecated
- public static boolean addExtractionRecipe(ItemStack aInput, ItemStack aOutput) {
- aOutput = GT_OreDictUnificator.get(true, aOutput);
- if (aInput == null || aOutput == null) return false;
- RA.stdBuilder()
- .itemInputs(aInput)
- .itemOutputs(aOutput)
- .duration(15 * SECONDS)
- .eut(2)
- .addTo(extractorRecipes);
- return true;
- }
-
- /**
- * RC-BlastFurnace Recipes
- */
- @Deprecated
- public static boolean addRCBlastFurnaceRecipe(ItemStack aInput, ItemStack aOutput, int aTime) {
- return true;
- }
-
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1) {
- return addPulverisationRecipe(aInput, aOutput1, null, 0, false);
- }
-
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2) {
- return addPulverisationRecipe(aInput, aOutput1, aOutput2, 100, false);
- }
-
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2,
- int aChance) {
- return addPulverisationRecipe(aInput, aOutput1, aOutput2, aChance, false);
- }
-
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, boolean aOverwrite) {
- return addPulverisationRecipe(aInput, aOutput1, null, 0, aOverwrite);
- }
-
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2,
- boolean aOverwrite) {
- return addPulverisationRecipe(aInput, aOutput1, aOutput2, 100, aOverwrite);
- }
-
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance,
- boolean aOverwrite) {
- return addPulverisationRecipe(aInput, aOutput1, aOutput2, aChance, null, 0, aOverwrite);
- }
-
- /**
- * Adds Several Pulverizer-Type Recipes.
- */
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2,
- ItemStack aOutput3, int aChance3, boolean aOverwrite) {
- aOutput1 = GT_OreDictUnificator.get(true, aOutput1);
- aOutput2 = GT_OreDictUnificator.get(true, aOutput2);
- if (GT_Utility.isStackInvalid(aInput) || GT_Utility.isStackInvalid(aOutput1)) return false;
-
- if (GT_Utility.getContainerItem(aInput, false) == null) {
- RA.addPulveriserRecipe(
- aInput,
- new ItemStack[] { aOutput1, aOutput2, aOutput3 },
- new int[] { 10000, aChance2 <= 0 ? 1000 : 100 * aChance2, aChance3 <= 0 ? 1000 : 100 * aChance3 },
- 400,
- 2);
- }
- return true;
- }
-
- @Deprecated
- public static boolean addPulverisationRecipe(ItemStack aInputItem, ItemStack[] aOutputArray, int[] aChanceArray,
- int aEUt, int aRecipeDurationInTicks) {
-
- ItemStack[] aUnifiedOutputArray = new ItemStack[aOutputArray.length];
- int counter = 0;
-
- for (ItemStack item : aOutputArray) {
- aUnifiedOutputArray[counter] = GT_OreDictUnificator.get(true, item);
- counter++;
- }
-
- RA.addPulveriserRecipe(aInputItem, aOutputArray, aChanceArray, aRecipeDurationInTicks, aEUt);
-
- return true;
- }
-
- @Deprecated
- public static boolean addImmersiveEngineeringRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2,
- int aChance2, ItemStack aOutput3, int aChance3) {
- return true;
- }
-
- @Deprecated
- public static boolean addMagneticraftRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2,
- ItemStack aOutput3, int aChance3) {
- return true;
- }
-
- /**
- * Adds a Recipe to the Sawmills of ThermalCraft
- */
- @Deprecated
- public static boolean addSawmillRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2) {
- return true;
- }
-
- /**
- * Induction Smelter Recipes and Alloy Smelter Recipes
- */
- @Deprecated
- public static boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration,
- int aEUt, boolean aAllowSecondaryInputEmpty) {
- if (aInput1 == null || (aInput2 == null && !aAllowSecondaryInputEmpty) || aOutput1 == null) return false;
- aOutput1 = GT_OreDictUnificator.get(true, aOutput1);
- RA.stdBuilder()
- .itemInputs(aInput1, aInput2)
- .itemOutputs(aOutput1)
- .duration(aDuration)
- .eut(aEUt)
- .addTo(alloySmelterRecipes);
- return true;
- }
-
- /**
- * Induction Smelter Recipes for TE
- */
- public static boolean addInductionSmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1,
- ItemStack aOutput2, int aEnergy, int aChance) {
- return true;
- }
-
- /**
- * Smelts Ores to Ingots
- */
- public static boolean addOreToIngotSmeltingRecipe(ItemStack aInput, ItemStack aOutput) {
- aOutput = GT_OreDictUnificator.get(true, aOutput);
- if (aInput == null || aOutput == null) return false;
- FurnaceRecipes.smelting()
- .func_151394_a(aInput, GT_Utility.copyOrNull(aOutput), 0.0F);
- return true;
- }
-
- /**
* Adds GT versions of the IC2 recipes from the supplied IC2RecipeList.
*/
public static void addIC2RecipesToGT(Map<IRecipeInput, RecipeOutput> aIC2RecipeList, RecipeMap<?> aGTRecipeMap,
@@ -781,35 +602,27 @@ public class GT_ModHandler {
.contains("ic2.itemPurifiedCrushed"))))
continue;
switch (aGTRecipeMap.unlocalizedName) {
- case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> aGTRecipeMap
- .addRecipe(
- true,
- new ItemStack[] { GT_Utility.copyAmount(
+ case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> GT_Values.RA
+ .stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(
iRecipeInputRecipeOutputEntry.getKey()
.getAmount(),
- tStack) },
- iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]),
- null,
- null,
- null,
- null,
- 300,
- 2,
- 0);
- case "gt.recipe.thermalcentrifuge" -> aGTRecipeMap.addRecipe(
- true,
- new ItemStack[] { GT_Utility.copyAmount(
- iRecipeInputRecipeOutputEntry.getKey()
- .getAmount(),
- tStack) },
- iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]),
- null,
- null,
- null,
- null,
- 500,
- 48,
- 0);
+ tStack))
+ .itemOutputs(iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(aGTRecipeMap);
+ case "gt.recipe.thermalcentrifuge" -> GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.copyAmount(
+ iRecipeInputRecipeOutputEntry.getKey()
+ .getAmount(),
+ tStack))
+ .itemOutputs(iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]))
+ .duration(25 * SECONDS)
+ .eut(48)
+ .addTo(aGTRecipeMap);
}
} catch (Exception e) {
System.err.println(e);
@@ -870,48 +683,10 @@ public class GT_ModHandler {
return emptyRecipeMap;
}
- public static Map<IRecipeInput, RecipeOutput> getMassFabricatorList() {
- try {
- return ic2.api.recipe.Recipes.matterAmplifier.getRecipes();
- } catch (Throwable e) {
- /* Do nothing */
- }
- return emptyRecipeMap;
- }
-
- /**
- * IC2-ThermalCentrifuge Recipe. Overloads old Recipes automatically
- */
- @Deprecated
- public static boolean addThermalCentrifugeRecipe(ItemStack aInput, int[] aChances, int aHeat, Object... aOutput) {
- if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false;
- RA.addThermalCentrifugeRecipe(
- aInput,
- (ItemStack) aOutput[0],
- aOutput.length >= 2 ? (ItemStack) aOutput[1] : null,
- aOutput.length >= 3 ? (ItemStack) aOutput[2] : null,
- aChances,
- 500,
- 48);
- return true;
- }
-
- @Deprecated
- public static boolean addThermalCentrifugeRecipe(ItemStack aInput, int aHeat, Object... aOutput) {
- if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false;
- RA.addThermalCentrifugeRecipe(
- aInput,
- (ItemStack) aOutput[0],
- aOutput.length >= 2 ? (ItemStack) aOutput[1] : null,
- aOutput.length >= 3 ? (ItemStack) aOutput[2] : null,
- 500,
- 48);
- return true;
- }
-
/**
* IC2-OreWasher Recipe. Overloads old Recipes automatically
*/
+ @Deprecated
public static boolean addOreWasherRecipe(ItemStack aInput, int[] aChances, int aWaterAmount, Object... aOutput) {
if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false;
RA.stdBuilder()
@@ -934,76 +709,6 @@ public class GT_ModHandler {
return true;
}
- public static boolean addOreWasherRecipe(ItemStack aInput, int aWaterAmount, Object... aOutput) {
- if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false;
- RA.stdBuilder()
- .itemInputs(aInput)
- .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2])
- .fluidInputs(GT_ModHandler.getWater(aWaterAmount))
- .duration(25 * SECONDS)
- .eut(16)
- .addTo(oreWasherRecipes);
-
- RA.stdBuilder()
- .itemInputs(aInput)
- .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2])
- .fluidInputs(GT_ModHandler.getDistilledWater(aWaterAmount / 5))
- .duration(15 * SECONDS)
- .eut(16)
- .addTo(oreWasherRecipes);
- return true;
- }
-
- /**
- * IC2-Compressor Recipe. Overloads old Recipes automatically
- */
- @Deprecated
- public static boolean addCompressionRecipe(ItemStack aInput, ItemStack aOutput) {
- return addCompressionRecipe(aInput, aOutput, 300, 2);
- }
-
- /**
- * IC2-Compressor Recipe. Overloads old Recipes automatically
- */
- @Deprecated
- public static boolean addCompressionRecipe(ItemStack aInput, ItemStack aOutput, int duration, int EUPerTick) {
- aOutput = GT_OreDictUnificator.get(true, aOutput);
- if (aInput == null || aOutput == null || GT_Utility.areStacksEqual(aInput, aOutput, true)) return false;
- RA.addCompressorRecipe(aInput, aOutput, duration, EUPerTick);
- return true;
- }
-
- /**
- * @param aValue Scrap = 5000, Scrapbox = 45000, Diamond Dust 125000
- */
- public static boolean addIC2MatterAmplifier(ItemStack aAmplifier, int aValue) {
- if (aAmplifier == null || aValue <= 0) return false;
- try {
- NBTTagCompound tNBT = new NBTTagCompound();
- tNBT.setInteger("amplification", aValue);
- GT_Utility
- .callMethod(ic2.api.recipe.Recipes.matterAmplifier, "addRecipe", false, false, false, aAmplifier, tNBT);
- } catch (Throwable e) {
- /* Do nothing */
- }
- return true;
- }
-
- /**
- * Rolling Machine Crafting Recipe
- */
- public static boolean addRollingMachineRecipe(ItemStack aResult, Object[] aRecipe) {
- aResult = GT_OreDictUnificator.get(true, aResult);
- if (aResult == null || aRecipe == null || aResult.stackSize <= 0) return false;
- try {
- mods.railcraft.api.crafting.RailcraftCraftingManager.rollingMachine.getRecipeList()
- .add(new ShapedOreRecipe(GT_Utility.copyOrNull(aResult), aRecipe));
- } catch (Throwable e) {
- return addCraftingRecipe(GT_Utility.copyOrNull(aResult), aRecipe);
- }
- return true;
- }
-
public static void stopBufferingCraftingRecipes() {
sBufferCraftingRecipes = false;
@@ -2498,54 +2203,4 @@ public class GT_ModHandler {
*/
public static long DONT_REMOVE_SHAPELESS = B[13];
}
-
- /**
- * Copy of the original Helper Class of Thermal Expansion, just to make sure it works even when other Mods include
- * TE-APIs
- */
- public static class ThermalExpansion {
-
- public static void addFurnaceRecipe(int energy, ItemStack input, ItemStack output) {}
-
- public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput) {}
-
- public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput,
- ItemStack secondaryOutput) {}
-
- public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput,
- ItemStack secondaryOutput, int secondaryChance) {}
-
- public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput) {}
-
- public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput,
- ItemStack secondaryOutput) {}
-
- public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput,
- ItemStack secondaryOutput, int secondaryChance) {}
-
- public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput,
- ItemStack primaryOutput) {}
-
- public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput,
- ItemStack primaryOutput, ItemStack secondaryOutput) {}
-
- public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput,
- ItemStack primaryOutput, ItemStack secondaryOutput, int secondaryChance) {}
-
- public static void addSmelterBlastOre(Materials aMaterial) {}
-
- public static void addCrucibleRecipe(int energy, ItemStack input, FluidStack output) {}
-
- public static void addTransposerFill(int energy, ItemStack input, ItemStack output, FluidStack fluid,
- boolean reversible) {}
-
- public static void addTransposerExtract(int energy, ItemStack input, ItemStack output, FluidStack fluid,
- int chance, boolean reversible) {}
-
- public static void addMagmaticFuel(String fluidName, int energy) {}
-
- public static void addCompressionFuel(String fluidName, int energy) {}
-
- public static void addCoolant(String fluidName, int energy) {}
- }
}
diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
index 6f7c9a81bb..66bc11444a 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
@@ -334,14 +334,6 @@ public class GT_RecipeBuilder {
return this;
}
- /**
- * Really just {@link #special(Object)}, but with a different signature to make it less confusing. WARNING: only for
- * legacy recipe map. do not abuse.
- */
- public GT_RecipeBuilder specialItem(ItemStack specialItem) {
- return special(specialItem);
- }
-
public GT_RecipeBuilder duration(int duration) {
this.duration = duration;
return this;
diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java
index d9d6c7d7d2..0828112fc7 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java
@@ -97,6 +97,88 @@ public class GT_RecipeConstants {
public static final RecipeMetadataKey<Boolean> ON_FIRE = SimpleRecipeMetadataKey.create(Boolean.class, "on_fire");
/**
+ * Nano Forge Tier.
+ */
+ public static final RecipeMetadataKey<Integer> NANO_FORGE_TIER = SimpleRecipeMetadataKey
+ .create(Integer.class, "nano_forge_tier");
+
+ /**
+ * FOG Exotic recipe tier.
+ */
+ public static final RecipeMetadataKey<Integer> FOG_EXOTIC_TIER = SimpleRecipeMetadataKey
+ .create(Integer.class, "fog_exotic_tier");
+
+ /**
+ * FOG Plasma recipe tier.
+ */
+ public static final RecipeMetadataKey<Integer> FOG_PLASMA_TIER = SimpleRecipeMetadataKey
+ .create(Integer.class, "fog_plasma_tier");
+
+ /**
+ * DEFC Casing tier.
+ */
+ public static final RecipeMetadataKey<Integer> DEFC_CASING_TIER = SimpleRecipeMetadataKey
+ .create(Integer.class, "defc_casing_tier");
+
+ /**
+ * Chemplant Casing tier. Beware, codewise index starts at 0, but it is tier 1.
+ */
+ public static final RecipeMetadataKey<Integer> CHEMPLANT_CASING_TIER = SimpleRecipeMetadataKey
+ .create(Integer.class, "chemplant_casing_tier");
+
+ /**
+ * QFT Focus tier.
+ */
+ public static final RecipeMetadataKey<Integer> QFT_FOCUS_TIER = SimpleRecipeMetadataKey
+ .create(Integer.class, "qft_focus_tier");
+
+