aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_ModHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_ModHandler.java')
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java208
1 files changed, 121 insertions, 87 deletions
diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java
index f6362a3db7..f6398bf99c 100644
--- a/src/main/java/gregtech/api/util/GT_ModHandler.java
+++ b/src/main/java/gregtech/api/util/GT_ModHandler.java
@@ -10,6 +10,9 @@ 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.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sOreWasherRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import java.util.ArrayList;
@@ -578,6 +581,7 @@ public class GT_ModHandler {
/**
* LiquidTransposer Recipe for both directions
*/
+ @Deprecated
public static boolean addLiquidTransposerRecipe(ItemStack aEmptyContainer, FluidStack aLiquid,
ItemStack aFullContainer, int aMJ) {
return true;
@@ -586,6 +590,7 @@ public class GT_ModHandler {
/**
* LiquidTransposer Recipe for filling Containers
*/
+ @Deprecated
public static boolean addLiquidTransposerFillRecipe(ItemStack aEmptyContainer, FluidStack aLiquid,
ItemStack aFullContainer, int aMJ) {
return true;
@@ -594,6 +599,7 @@ public class GT_ModHandler {
/**
* LiquidTransposer Recipe for emptying Containers
*/
+ @Deprecated
public static boolean addLiquidTransposerEmptyRecipe(ItemStack aFullContainer, FluidStack aLiquid,
ItemStack aEmptyContainer, int aMJ) {
return true;
@@ -602,11 +608,19 @@ public class GT_ModHandler {
/**
* 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;
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Machines.extractor, aInput, true)) return false;
- RA.addExtractorRecipe(aInput, aOutput, 300, 2);
+ RA.stdBuilder()
+ .itemInputs(aInput)
+ .itemOutputs(aOutput)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(sExtractorRecipes);
return true;
}
@@ -689,11 +703,13 @@ public class GT_ModHandler {
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;
@@ -702,6 +718,7 @@ public class GT_ModHandler {
/**
* Adds a Recipe to the Sawmills of ThermalCraft
*/
+ @Deprecated
public static boolean addSawmillRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2) {
return true;
}
@@ -709,11 +726,20 @@ public class GT_ModHandler {
/**
* 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);
- return RA.addAlloySmelterRecipe(aInput1, aInput2, aOutput1, aDuration, aEUt);
+ RA.stdBuilder()
+ .itemInputs(aInput1, aInput2)
+ .itemOutputs(aOutput1)
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(aDuration)
+ .eut(aEUt)
+ .addTo(sAlloySmelterRecipes);
+ return true;
}
/**
@@ -743,61 +769,67 @@ public class GT_ModHandler {
boolean aExcludeGTIC2Items) {
Map<ItemStack, ItemStack> aRecipesToRemove = new HashMap<>();
for (Entry<IRecipeInput, RecipeOutput> iRecipeInputRecipeOutputEntry : aIC2RecipeList.entrySet()) {
- if (!iRecipeInputRecipeOutputEntry.getValue().items.isEmpty()) {
- for (ItemStack tStack : (iRecipeInputRecipeOutputEntry.getKey()).getInputs()) {
- if (GT_Utility.isStackValid(tStack)) {
- if (aAddGTRecipe
- && (aGTRecipeMap.findRecipe(null, false, Long.MAX_VALUE, null, tStack) == null)) {
- try {
- if (aExcludeGTIC2Items && ((tStack.getUnlocalizedName()
- .contains("gt.metaitem.01")
- || tStack.getUnlocalizedName()
- .contains("gt.blockores")
- || tStack.getUnlocalizedName()
- .contains("ic2.itemCrushed")
- || tStack.getUnlocalizedName()
- .contains("ic2.itemPurifiedCrushed"))))
- continue;
- switch (aGTRecipeMap.mUnlocalizedName) {
- case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> aGTRecipeMap
- .addRecipe(
- true,
- new ItemStack[] { 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);
- }
- } catch (Exception e) {
- System.err.println(e);
- }
+ if (iRecipeInputRecipeOutputEntry.getValue().items.isEmpty()) {
+ continue;
+ }
+
+ for (ItemStack tStack : (iRecipeInputRecipeOutputEntry.getKey()).getInputs()) {
+ if (!GT_Utility.isStackValid(tStack)) {
+ continue;
+ }
+
+ if (aAddGTRecipe && (aGTRecipeMap.findRecipe(null, false, Long.MAX_VALUE, null, tStack) == null)) {
+ try {
+ if (aExcludeGTIC2Items && ((tStack.getUnlocalizedName()
+ .contains("gt.metaitem.01")
+ || tStack.getUnlocalizedName()
+ .contains("gt.blockores")
+ || tStack.getUnlocalizedName()
+ .contains("ic2.itemCrushed")
+ || tStack.getUnlocalizedName()
+ .contains("ic2.itemPurifiedCrushed"))))
+ continue;
+ switch (aGTRecipeMap.mUnlocalizedName) {
+ case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> aGTRecipeMap
+ .addRecipe(
+ true,
+ new ItemStack[] { 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);
}
- if (aRemoveIC2Recipe)
- aRecipesToRemove.put(tStack, iRecipeInputRecipeOutputEntry.getValue().items.get(0));
+ } catch (Exception e) {
+ System.err.println(e);
}
}
+ if (aRemoveIC2Recipe) {
+ aRecipesToRemove.put(tStack, iRecipeInputRecipeOutputEntry.getValue().items.get(0));
+ }
+
}
+
}
GT_Utility.bulkRemoveSimpleIC2MachineRecipe(aRecipesToRemove, aIC2RecipeList);
}
@@ -894,46 +926,48 @@ public class GT_ModHandler {
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;
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Machines.orewashing, aInput, true)) return false;
- RA.addOreWasherRecipe(
- aInput,
- (ItemStack) aOutput[0],
- (ItemStack) aOutput[1],
- (ItemStack) aOutput[2],
- GT_ModHandler.getWater(aWaterAmount),
- aChances,
- 500,
- 16);
- RA.addOreWasherRecipe(
- aInput,
- (ItemStack) aOutput[0],
- (ItemStack) aOutput[1],
- (ItemStack) aOutput[2],
- GT_ModHandler.getDistilledWater(aWaterAmount / 5),
- aChances,
- 300,
- 16);
+ RA.stdBuilder()
+ .itemInputs(aInput)
+ .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2])
+ .outputChances(aChances)
+ .fluidInputs(GT_ModHandler.getWater(aWaterAmount))
+ .noFluidOutputs()
+ .duration(25 * SECONDS)
+ .eut(16)
+ .addTo(sOreWasherRecipes);
+
+ RA.stdBuilder()
+ .itemInputs(aInput)
+ .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2])
+ .outputChances(aChances)
+ .fluidInputs(GT_ModHandler.getDistilledWater(aWaterAmount / 5))
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(16)
+ .addTo(sOreWasherRecipes);
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;
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Machines.orewashing, aInput, true)) return false;
- RA.addOreWasherRecipe(
- aInput,
- (ItemStack) aOutput[0],
- (ItemStack) aOutput[1],
- (ItemStack) aOutput[2],
- GT_ModHandler.getWater(aWaterAmount),
- 500,
- 16);
- RA.addOreWasherRecipe(
- aInput,
- (ItemStack) aOutput[0],
- (ItemStack) aOutput[1],
- (ItemStack) aOutput[2],
- GT_ModHandler.getDistilledWater(aWaterAmount / 5),
- 300,
- 16);
+ RA.stdBuilder()
+ .itemInputs(aInput)
+ .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2])
+ .fluidInputs(GT_ModHandler.getWater(aWaterAmount))
+ .noFluidOutputs()
+ .duration(25 * SECONDS)
+ .eut(16)
+ .addTo(sOreWasherRecipes);
+
+ RA.stdBuilder()
+ .itemInputs(aInput)
+ .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2])
+ .fluidInputs(GT_ModHandler.getDistilledWater(aWaterAmount / 5))
+ .noFluidOutputs()
+ .duration(15 * SECONDS)
+ .eut(16)
+ .addTo(sOreWasherRecipes);
return true;
}