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/GT_ModHandler.java13
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeBuilder.java11
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeRegistrator.java70
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java3
4 files changed, 69 insertions, 28 deletions
diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java
index 58cadd9d7d..8097f82dea 100644
--- a/src/main/java/gregtech/api/util/GT_ModHandler.java
+++ b/src/main/java/gregtech/api/util/GT_ModHandler.java
@@ -9,6 +9,7 @@ import static gregtech.api.enums.GT_Values.M;
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.sMaceratorRecipes;
import java.util.ArrayList;
import java.util.Arrays;
@@ -597,28 +598,34 @@ public class GT_ModHandler {
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);
@@ -627,6 +634,7 @@ public class GT_ModHandler {
/**
* 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);
@@ -644,6 +652,7 @@ public class GT_ModHandler {
return true;
}
+ @Deprecated
public static boolean addPulverisationRecipe(ItemStack aInputItem, ItemStack[] aOutputArray, int[] aChanceArray,
int aEUt, int aRecipeDurationInTicks) {
@@ -830,6 +839,7 @@ public class GT_ModHandler {
/**
* 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;
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Machines.thermalcentrifuge, aInput, true)) return false;
@@ -844,6 +854,7 @@ public class GT_ModHandler {
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;
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Machines.thermalcentrifuge, aInput, true)) return false;
@@ -909,6 +920,7 @@ public class GT_ModHandler {
/**
* IC2-Compressor Recipe. Overloads old Recipes automatically
*/
+ @Deprecated
public static boolean addCompressionRecipe(ItemStack aInput, ItemStack aOutput) {
return addCompressionRecipe(aInput, aOutput, 300, 2);
}
@@ -916,6 +928,7 @@ public class GT_ModHandler {
/**
* 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;
diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
index bb061eb2dc..bdd09f0a34 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
@@ -36,15 +36,13 @@ public class GT_RecipeBuilder {
public static final int BUCKETS = 1000;
static {
- boolean tmp;
if (System.getProperties()
.containsKey("gt.recipebuilder.debug")) {
- tmp = Boolean.getBoolean("gt.recipebuilder.debug");
+ DEBUG_MODE = Boolean.getBoolean("gt.recipebuilder.debug");
} else {
// turn on debug by default in dev mode
- tmp = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
+ DEBUG_MODE = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
}
- DEBUG_MODE = tmp;
PANIC_MODE = DEBUG_MODE && Boolean.getBoolean("gt.recipebuilder.panic");
}
@@ -273,6 +271,11 @@ public class GT_RecipeBuilder {
return this;
}
+ public GT_RecipeBuilder duration(long duration) {
+ this.duration = (int) duration;
+ return this;
+ }
+
public GT_RecipeBuilder eut(int eut) {
this.eut = eut;
return this;
diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
index a9e8f5cc09..2a5a251503 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
@@ -3,6 +3,10 @@ package gregtech.api.util;
import static gregtech.api.enums.GT_Values.*;
import static gregtech.api.enums.Materials.*;
import static gregtech.api.enums.Materials.Void;
+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_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.UniversalArcFurnace;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import java.lang.reflect.Field;
@@ -302,17 +306,24 @@ public class GT_RecipeRegistrator {
boolean tHide = !tIron && GT_Mod.gregtechproxy.mHideRecyclingRecipes;
if (aData.mPrefix == OrePrefixes.toolHeadDrill) {
- RA.addArcFurnaceRecipe(
- aStack,
- new ItemStack[] { GT_OreDictUnificator.getIngotOrDust(aData.mMaterial) },
- null,
- 90,
- (int) Math.max(16, tAmount / M),
- tHide);
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+
+ recipeBuilder.itemInputs(aStack)
+ .itemOutputs(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial))
+ .fluidInputs(Materials.Oxygen.getGas(90))
+ .noFluidOutputs()
+ .duration(4 * SECONDS + 10 * TICKS)
+ .eut(Math.max(16, tAmount / M));
+ if (tHide) {
+ recipeBuilder.hidden();
+ }
+ recipeBuilder.addTo(UniversalArcFurnace);
} else {
- RA.addArcFurnaceRecipe(
- aStack,
- new ItemStack[] { GT_OreDictUnificator.getIngotOrDust(aData.mMaterial),
+ GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
+
+ recipeBuilder.itemInputs(aStack)
+ .itemOutputs(
+ GT_OreDictUnificator.getIngotOrDust(aData.mMaterial),
GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(0)),
GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(1)),
GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(2)),
@@ -320,11 +331,15 @@ public class GT_RecipeRegistrator {
GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(5)),
GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(6)),
GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(7)),
- GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(8)) },
- null,
- (int) Math.max(16, tAmount / M),
- 90,
- tHide);
+ GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(8)))
+ .fluidInputs(Materials.Oxygen.getGas(90))
+ .noFluidOutputs()
+ .duration(8 * SECONDS + 10 * TICKS)
+ .eut((int) Math.max(16, tAmount / M));
+ if (tHide) {
+ recipeBuilder.hidden();
+ }
+ recipeBuilder.addTo(UniversalArcFurnace);
}
}
@@ -378,15 +393,26 @@ public class GT_RecipeRegistrator {
tHide);
}
- if (aAllowHammer) for (MaterialStack tMaterial : aData.getAllMaterialStacks())
+ if (!aAllowHammer) {
+ return;
+ }
+
+ for (MaterialStack tMaterial : aData.getAllMaterialStacks()) {
if (tMaterial.mMaterial.contains(SubTag.CRYSTAL) && !tMaterial.mMaterial.contains(SubTag.METAL)
&& tMaterial.mMaterial != Materials.Glass) {
- if (RA.addForgeHammerRecipe(
- GT_Utility.copyAmount(1, aStack),
- GT_OreDictUnificator.getDust(aData.mMaterial),
- 200,
- 30)) break;
- }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, aStack))
+ .itemOutputs(GT_OreDictUnificator.getDust(aData.mMaterial))
+ .noFluidInputs()
+ .noFluidOutputs()
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(sHammerRecipes);
+
+ break;
+ }
+ }
+
}
/**
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index 8d9d0814dc..91d5a90fe6 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -20,7 +20,6 @@ import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.*;
-import java.util.Map.Entry;
import java.util.function.Function;
import java.util.function.IntFunction;
import java.util.function.Supplier;
@@ -3005,7 +3004,7 @@ public class GT_Utility {
public static <X, Y extends Comparable<Y>> LinkedHashMap<X, Y> sortMapByValuesAcending(Map<X, Y> map) {
return map.entrySet()
.stream()
- .sorted(Entry.comparingByValue())
+ .sorted(Map.Entry.comparingByValue())
.collect(CollectorUtils.entriesToMap(LinkedHashMap::new));
}