aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/enums/MaterialBuilder.java1
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java40
-rw-r--r--src/main/java/gregtech/api/enums/Tier.java4
-rw-r--r--src/main/java/gregtech/api/enums/TierEU.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java578
-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
9 files changed, 341 insertions, 381 deletions
diff --git a/src/main/java/gregtech/api/enums/MaterialBuilder.java b/src/main/java/gregtech/api/enums/MaterialBuilder.java
index 92ae7c07c3..175081e0ce 100644
--- a/src/main/java/gregtech/api/enums/MaterialBuilder.java
+++ b/src/main/java/gregtech/api/enums/MaterialBuilder.java
@@ -35,7 +35,6 @@ public class MaterialBuilder {
private boolean hasCorrespondingFluid = false;
private boolean hasCorrespondingGas = false;
private boolean canBeCracked = false;
- private boolean canBeSteamCracked = false;
private int liquidTemperature = 300;
private int gasTemperature = 300;
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 60bcb7a867..f2fcc9aebd 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -891,6 +891,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials EnrichedHolmium = new Materials(582, TextureSet.SET_METALLIC, 1.0F, 0, 2, 18, 100, 1|2|4|16, 255, 255, "EnrichedHolmium", "Enriched Holmium", -1, -1, 0, 3000, true, false, 200, 1, 1, Dyes.dyePurple);
+ public static Materials TengamPurified = new MaterialBuilder(111, TextureSet.SET_METALLIC, "Purified Tengam").addDustItems().addGearItems().addMetalItems().addToolHeadItems().setAspects(Arrays.asList(new TC_AspectStack(TC_Aspects.MAGNETO, 2), new TC_AspectStack(TC_Aspects.ELECTRUM, 2))).setColor(Dyes.dyeLime).setName("TengamPurified").setRGB(186, 223, 112).constructMaterial().setProcessingMaterialTierEU(TierEU.RECIPE_UEV);
+ public static Materials TengamAttuned = new MaterialBuilder(112, TextureSet.SET_MAGNETIC, "Attuned Tengam") .addDustItems().addGearItems().addMetalItems().addToolHeadItems().setAspects(Arrays.asList(new TC_AspectStack(TC_Aspects.MAGNETO, 4), new TC_AspectStack(TC_Aspects.ELECTRUM, 1))).setColor(Dyes.dyeLime).setName("TengamAttuned") .setRGB(213, 255, 128).constructMaterial().setProcessingMaterialTierEU(TierEU.RECIPE_UEV);
+ public static Materials TengamRaw = new MaterialBuilder(110, TextureSet.SET_ROUGH, "Raw Tengam") .addOreItems() .setAspects(Arrays.asList(new TC_AspectStack(TC_Aspects.MAGNETO, 1), new TC_AspectStack(TC_Aspects.ELECTRUM, 4))).setColor(Dyes.dyeLime).setName("TengamRaw") .setRGB(160, 191, 96).constructMaterial().setProcessingMaterialTierEU(TierEU.RECIPE_UEV);
+
// spotless:on
static {
@@ -1372,6 +1376,9 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Sand.setSmeltingInto(Glass);
Ice.setSmeltingInto(Water);
Snow.setSmeltingInto(Water);
+ TengamAttuned.setSmeltingInto(TengamPurified)
+ .setMaceratingInto(TengamPurified)
+ .setArcSmeltingInto(TengamPurified);
}
private static void setOthers() {
@@ -1799,6 +1806,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Cryolite.addOreByProducts(Aluminiumoxide, Sodium);
Naquadria.addOreByProduct(Naquadria);
RoastedNickel.addOreByProduct(Nickel);
+ TengamRaw.addOreByProducts(NeodymiumMagnetic, SamariumMagnetic);
}
private static void setColors() {
@@ -1871,19 +1879,22 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
MaterialsUEVplus.Universium.mChemicalFormula = "A tear into the space beyond space";
Longasssuperconductornameforuvwire.mChemicalFormula = "Nq*\u2084(Ir\u2083Os)\u2083EuSm";
Longasssuperconductornameforuhvwire.mChemicalFormula = "D\u2086(SpNt)\u2087Tn\u2085Am\u2086";
- SuperconductorUEVBase.mChemicalFormula = "D*\u2085If*\u2085(✦◆✦)(⚷⚙⚷ Ni4Ti6)";
- SuperconductorUIVBase.mChemicalFormula = "(C\u2081\u2084Os\u2081\u2081O\u2087Ag\u2083SpH\u2082O)\u2084?\u2081\u2080(Fs⚶)\u2086(⌘☯☯⌘)\u2085";
- SuperconductorUMVBase.mChemicalFormula = "?\u2086Or\u2083(Hy⚶)\u2081\u2081(((CW)\u2087Ti\u2083)\u2083???)\u2085۞\u2082";
+ SuperconductorUEVBase.mChemicalFormula = "D*\u2085If*\u2085(\u2726\u25C6\u2726)(\u26B7\u2699\u26B7 Ni4Ti6)";
+ SuperconductorUIVBase.mChemicalFormula = "(C\u2081\u2084Os\u2081\u2081O\u2087Ag\u2083SpH\u2082O)\u2084?\u2081\u2080(Fs\u26B6)\u2086(\u2318\u262F\u262F\u2318)\u2085";
+ SuperconductorUMVBase.mChemicalFormula = "?\u2086Or\u2083(Hy\u26B6)\u2081\u2081(((CW)\u2087Ti\u2083)\u2083???)\u2085\u06DE\u2082";
Diatomite.mChemicalFormula = "(SiO\u2082)\u2088Fe\u2082O\u2083(Al\u2082O\u2083)";
EnrichedHolmium.mChemicalFormula = "Nq+\u2088Ho\u2082";
- Grade1PurifiedWater.mChemicalFormula = "H₂O";
- Grade2PurifiedWater.mChemicalFormula = "H₂O";
- Grade3PurifiedWater.mChemicalFormula = "H₂O";
- Grade4PurifiedWater.mChemicalFormula = "H₂O";
- Grade5PurifiedWater.mChemicalFormula = "H₂O";
- Grade6PurifiedWater.mChemicalFormula = "H₂O";
- Grade7PurifiedWater.mChemicalFormula = "H₂O";
- Grade8PurifiedWater.mChemicalFormula = "H₂O";
+ Grade1PurifiedWater.mChemicalFormula = "H\u2082O";
+ Grade2PurifiedWater.mChemicalFormula = "H\u2082O";
+ Grade3PurifiedWater.mChemicalFormula = "H\u2082O";
+ Grade4PurifiedWater.mChemicalFormula = "H\u2082O";
+ Grade5PurifiedWater.mChemicalFormula = "H\u2082O";
+ Grade6PurifiedWater.mChemicalFormula = "H\u2082O";
+ Grade7PurifiedWater.mChemicalFormula = "H\u2082O";
+ Grade8PurifiedWater.mChemicalFormula = "H\u2082O";
+ TengamRaw.mChemicalFormula = "";
+ TengamPurified.mChemicalFormula = "M";
+ TengamAttuned.mChemicalFormula = "M";
}
private static void initSubTags() {
@@ -2142,7 +2153,9 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Quantium,
RedstoneAlloy,
Bedrockium,
- EnrichedHolmium);
+ EnrichedHolmium,
+ TengamPurified,
+ TengamAttuned);
SubTag.FOOD.addTo(
MeatRaw,
@@ -2333,7 +2346,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Elite.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING);
Master.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING);
Ultimate.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING);
- Superconductor.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING);
+ Superconductor.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING); // Todo: remove this once it will be fully
+ // deprecated
Infinite.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING);
Bio.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING);
SuperconductorMV.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING);
diff --git a/src/main/java/gregtech/api/enums/Tier.java b/src/main/java/gregtech/api/enums/Tier.java
index 870e8dafbb..84e8344334 100644
--- a/src/main/java/gregtech/api/enums/Tier.java
+++ b/src/main/java/gregtech/api/enums/Tier.java
@@ -111,7 +111,7 @@ public class Tier {
OrePrefixes.cableGt01.get(Materials.Naquadah),
OrePrefixes.cableGt04.get(Materials.Naquadah),
OrePrefixes.circuit.get(Materials.Ultimate),
- OrePrefixes.circuit.get(Materials.Superconductor)),
+ OrePrefixes.circuit.get(Materials.SuperconductorUHV)),
new Tier(
SubTag.ENERGY_ELECTRICITY,
8,
@@ -123,7 +123,7 @@ public class Tier {
ItemList.Hull_UV,
OrePrefixes.cableGt04.get(Materials.NaquadahAlloy),
OrePrefixes.wireGt01.get(Materials.SuperconductorUHV),
- OrePrefixes.circuit.get(Materials.Superconductor),
+ OrePrefixes.circuit.get(Materials.SuperconductorUHV),
OrePrefixes.circuit.get(Materials.Infinite)),
new Tier(
SubTag.ENERGY_ELECTRICITY,
diff --git a/src/main/java/gregtech/api/enums/TierEU.java b/src/main/java/gregtech/api/enums/TierEU.java
index 419580f92d..7325d2a789 100644
--- a/src/main/java/gregtech/api/enums/TierEU.java
+++ b/src/main/java/gregtech/api/enums/TierEU.java
@@ -4,8 +4,6 @@ import static gregtech.api.enums.GT_Values.V;
public class TierEU {
- private static final double RECIPE_DISCOUNT = 0.95;
-
// Do NOT use these for crafting recipes as they are exactly 1A! Use RECIPE_ULV etc.
public static final long ULV = V[0];
public static final long LV = V[1];
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 0dc019ae5c..a80e235a65 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -161,341 +161,249 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
// TODO: CHECK
if (aRecipe != null) {
for (int i = 3; i < aRecipe.length; i++) {
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT) {
- aRecipe[i] = Tier.ELECTRIC[this.mTier].mManagingObject;
- continue;
- }
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.BETTER_CIRCUIT) {
- aRecipe[i] = Tier.ELECTRIC[this.mTier].mBetterManagingObject;
- continue;
- }
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL) {
- aRecipe[i] = Tier.ELECTRIC[this.mTier].mHullObject;
- continue;
- }
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE) {
- aRecipe[i] = Tier.ELECTRIC[this.mTier].mConductingObject;
- continue;
- }
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4) {
- aRecipe[i] = Tier.ELECTRIC[this.mTier].mLargerConductingObject;
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS) {
- switch (this.mTier) {
- case 0:
- case 1:
- case 2:
- case 3:
- aRecipe[i] = new ItemStack(Blocks.glass, 1, W);
- break;
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- if (BartWorks.isModLoaded()) { // todo remove via provider pattern on all enums?
- aRecipe[i] = "blockGlass" + VN[aTier];
- break;
- }
- default:
- if (BartWorks.isModLoaded()) { // todo remove via provider pattern on all enums?
- aRecipe[i] = "blockGlass" + VN[8];
- } else {
- aRecipe[i] = Ic2Items.reinforcedGlass;
- }
- break;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = OrePrefixes.plate.get(Materials.Steel);
- case 2 -> aRecipe[i] = OrePrefixes.plate.get(Materials.Aluminium);
- case 3 -> aRecipe[i] = OrePrefixes.plate.get(Materials.StainlessSteel);
- case 4 -> aRecipe[i] = OrePrefixes.plate.get(Materials.Titanium);
- case 5 -> aRecipe[i] = OrePrefixes.plate.get(Materials.TungstenSteel);
- case 6 -> aRecipe[i] = OrePrefixes.plate.get(Materials.HSSG);
- case 7 -> aRecipe[i] = OrePrefixes.plate.get(Materials.HSSE);
- default -> aRecipe[i] = OrePrefixes.plate.get(Materials.Neutronium);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PIPE) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.Bronze);
- case 2 -> aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.Steel);
- case 3 -> aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.StainlessSteel);
- case 4 -> aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.Titanium);
- case 5 -> aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.TungstenSteel);
- case 6 -> aRecipe[i] = OrePrefixes.pipeSmall.get(Materials.Ultimate);
- case 7 -> aRecipe[i] = OrePrefixes.pipeMedium.get(Materials.Ultimate);
- case 8 -> aRecipe[i] = OrePrefixes.pipeLarge.get(Materials.Ultimate);
- default -> aRecipe[i] = OrePrefixes.pipeHuge.get(Materials.Ultimate);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.AnyCopper);
- case 2 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Cupronickel);
- case 3 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Kanthal);
- case 4 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Nichrome);
- case 5 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.TPV);
- case 6 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.HSSG);
- case 7 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Naquadah);
- case 8 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.NaquadahAlloy);
- case 9 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.NaquadahAlloy);
- default -> aRecipe[i] = OrePrefixes.wireGt08.get(Materials.NaquadahAlloy);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING_DOUBLE) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.AnyCopper);
- case 2 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.Cupronickel);
- case 3 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.Kanthal);
- case 4 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.Nichrome);
- case 5 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.TPV);
- case 6 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.HSSG);
- case 7 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.Naquadah);
- case 8 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.NaquadahAlloy);
- case 9 -> aRecipe[i] = OrePrefixes.wireGt08.get(Materials.NaquadahAlloy);
- default -> aRecipe[i] = OrePrefixes.wireGt16.get(Materials.NaquadahAlloy);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.STICK_DISTILLATION) {
- aRecipe[i] = OrePrefixes.stick.get(Materials.Blaze);
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.STICK_MAGNETIC) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = OrePrefixes.stick.get(Materials.IronMagnetic);
- case 2, 3 -> aRecipe[i] = OrePrefixes.stick.get(Materials.SteelMagnetic);
- case 4, 5 -> aRecipe[i] = OrePrefixes.stick.get(Materials.NeodymiumMagnetic);
- case 6, 7 -> aRecipe[i] = OrePrefixes.stick.get(Materials.SamariumMagnetic);
- default -> aRecipe[i] = OrePrefixes.stickLong.get(Materials.SamariumMagnetic);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.STICK_ELECTROMAGNETIC) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = OrePrefixes.stick.get(Materials.AnyIron);
- case 2, 3 -> aRecipe[i] = OrePrefixes.stick.get(Materials.Steel);
- case 4 -> aRecipe[i] = OrePrefixes.stick.get(Materials.Neodymium);
- default -> aRecipe[i] = OrePrefixes.stick.get(Materials.VanadiumGallium);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_ELECTRIC) {
- switch (this.mTier) {
- case 0 -> aRecipe[i] = OrePrefixes.wireGt01.get(Materials.Lead);
- case 1 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Tin);
- case 2 -> aRecipe[i] = OrePrefixes.wireGt02.get(Materials.AnyCopper);
- case 3 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.AnyCopper);
- case 4 -> aRecipe[i] = OrePrefixes.wireGt08.get(Materials.AnnealedCopper);
- case 5 -> aRecipe[i] = OrePrefixes.wireGt16.get(Materials.AnnealedCopper);
- case 6 -> aRecipe[i] = OrePrefixes.wireGt04.get(Materials.YttriumBariumCuprate);
- case 7 -> aRecipe[i] = OrePrefixes.wireGt08.get(Materials.Iridium);
- default -> aRecipe[i] = OrePrefixes.wireGt16.get(Materials.Osmium);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Robot_Arm_LV;
- case 2 -> aRecipe[i] = ItemList.Robot_Arm_MV;
- case 3 -> aRecipe[i] = ItemList.Robot_Arm_HV;
- case 4 -> aRecipe[i] = ItemList.Robot_Arm_EV;
- case 5 -> aRecipe[i] = ItemList.Robot_Arm_IV;
- case 6 -> aRecipe[i] = ItemList.Robot_Arm_LuV;
- case 7 -> aRecipe[i] = ItemList.Robot_Arm_ZPM;
- case 8 -> aRecipe[i] = ItemList.Robot_Arm_UV;
- case 9 -> aRecipe[i] = ItemList.Robot_Arm_UHV;
- case 10 -> aRecipe[i] = ItemList.Robot_Arm_UEV;
- case 11 -> aRecipe[i] = ItemList.Robot_Arm_UIV;
- case 12 -> aRecipe[i] = ItemList.Robot_Arm_UMV;
- case 13 -> aRecipe[i] = ItemList.Robot_Arm_UXV;
- case 14 -> aRecipe[i] = ItemList.Robot_Arm_MAX;
- default -> aRecipe[i] = ItemList.Robot_Arm_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Electric_Pump_LV;
- case 2 -> aRecipe[i] = ItemList.Electric_Pump_MV;
- case 3 -> aRecipe[i] = ItemList.Electric_Pump_HV;
- case 4 -> aRecipe[i] = ItemList.Electric_Pump_EV;
- case 5 -> aRecipe[i] = ItemList.Electric_Pump_IV;
- case 6 -> aRecipe[i] = ItemList.Electric_Pump_LuV;
- case 7 -> aRecipe[i] = ItemList.Electric_Pump_ZPM;
- case 8 -> aRecipe[i] = ItemList.Electric_Pump_UV;
- case 9 -> aRecipe[i] = ItemList.Electric_Pump_UHV;
- case 10 -> aRecipe[i] = ItemList.Electric_Pump_UEV;
- case 11 -> aRecipe[i] = ItemList.Electric_Pump_UIV;
- case 12 -> aRecipe[i] = ItemList.Electric_Pump_UMV;
- case 13 -> aRecipe[i] = ItemList.Electric_Pump_UXV;
- case 14 -> aRecipe[i] = ItemList.Electric_Pump_MAX;
- default -> aRecipe[i] = ItemList.Electric_Pump_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROTOR) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = OrePrefixes.rotor.get(Materials.Tin);
- case 2 -> aRecipe[i] = OrePrefixes.rotor.get(Materials.Bronze);
- case 3 -> aRecipe[i] = OrePrefixes.rotor.get(Materials.Steel);
- case 4 -> aRecipe[i] = OrePrefixes.rotor.get(Materials.StainlessSteel);
- case 5 -> aRecipe[i] = OrePrefixes.rotor.get(Materials.TungstenSteel);
- case 6 -> aRecipe[i] = OrePrefixes.rotor.get(Materials.Chrome);
- case 7 -> aRecipe[i] = OrePrefixes.rotor.get(Materials.Iridium);
- default -> aRecipe[i] = OrePrefixes.rotor.get(Materials.Osmium);
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Electric_Motor_LV;
- case 2 -> aRecipe[i] = ItemList.Electric_Motor_MV;
- case 3 -> aRecipe[i] = ItemList.Electric_Motor_HV;
- case 4 -> aRecipe[i] = ItemList.Electric_Motor_EV;
- case 5 -> aRecipe[i] = ItemList.Electric_Motor_IV;
- case 6 -> aRecipe[i] = ItemList.Electric_Motor_LuV;
- case 7 -> aRecipe[i] = ItemList.Electric_Motor_ZPM;
- case 8 -> aRecipe[i] = ItemList.Electric_Motor_UV;
- case 9 -> aRecipe[i] = ItemList.Electric_Motor_UHV;
- case 10 -> aRecipe[i] = ItemList.Electric_Motor_UEV;
- case 11 -> aRecipe[i] = ItemList.Electric_Motor_UIV;
- case 12 -> aRecipe[i] = ItemList.Electric_Motor_UMV;
- case 13 -> aRecipe[i] = ItemList.Electric_Motor_UXV;
- case 14 -> aRecipe[i] = ItemList.Electric_Motor_MAX;
- default -> aRecipe[i] = ItemList.Electric_Motor_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Electric_Piston_LV;
- case 2 -> aRecipe[i] = ItemList.Electric_Piston_MV;
- case 3 -> aRecipe[i] = ItemList.Electric_Piston_HV;
- case 4 -> aRecipe[i] = ItemList.Electric_Piston_EV;
- case 5 -> aRecipe[i] = ItemList.Electric_Piston_IV;
- case 6 -> aRecipe[i] = ItemList.Electric_Piston_LuV;
- case 7 -> aRecipe[i] = ItemList.Electric_Piston_ZPM;
- case 8 -> aRecipe[i] = ItemList.Electric_Piston_UV;
- case 9 -> aRecipe[i] = ItemList.Electric_Piston_UHV;
- case 10 -> aRecipe[i] = ItemList.Electric_Piston_UEV;
- case 11 -> aRecipe[i] = ItemList.Electric_Piston_UIV;
- case 12 -> aRecipe[i] = ItemList.Electric_Piston_UMV;
- case 13 -> aRecipe[i] = ItemList.Electric_Piston_UXV;
- case 14 -> aRecipe[i] = ItemList.Electric_Piston_MAX;
- default -> aRecipe[i] = ItemList.Electric_Piston_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Conveyor_Module_LV;
- case 2 -> aRecipe[i] = ItemList.Conveyor_Module_MV;
- case 3 -> aRecipe[i] = ItemList.Conveyor_Module_HV;
- case 4 -> aRecipe[i] = ItemList.Conveyor_Module_EV;
- case 5 -> aRecipe[i] = ItemList.Conveyor_Module_IV;
- case 6 -> aRecipe[i] = ItemList.Conveyor_Module_LuV;
- case 7 -> aRecipe[i] = ItemList.Conveyor_Module_ZPM;
- case 8 -> aRecipe[i] = ItemList.Conveyor_Module_UV;
- case 9 -> aRecipe[i] = ItemList.Conveyor_Module_UHV;
- case 10 -> aRecipe[i] = ItemList.Conveyor_Module_UEV;
- case 11 -> aRecipe[i] = ItemList.Conveyor_Module_UIV;
- case 12 -> aRecipe[i] = ItemList.Conveyor_Module_UMV;
- case 13 -> aRecipe[i] = ItemList.Conveyor_Module_UXV;
- case 14 -> aRecipe[i] = ItemList.Conveyor_Module_MAX;
- default -> aRecipe[i] = ItemList.Conveyor_Module_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.EMITTER) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Emitter_LV;
- case 2 -> aRecipe[i] = ItemList.Emitter_MV;
- case 3 -> aRecipe[i] = ItemList.Emitter_HV;
- case 4 -> aRecipe[i] = ItemList.Emitter_EV;
- case 5 -> aRecipe[i] = ItemList.Emitter_IV;
- case 6 -> aRecipe[i] = ItemList.Emitter_LuV;
- case 7 -> aRecipe[i] = ItemList.Emitter_ZPM;
- case 8 -> aRecipe[i] = ItemList.Emitter_UV;
- case 9 -> aRecipe[i] = ItemList.Emitter_UHV;
- case 10 -> aRecipe[i] = ItemList.Emitter_UEV;
- case 11 -> aRecipe[i] = ItemList.Emitter_UIV;
- case 12 -> aRecipe[i] = ItemList.Emitter_UMV;
- case 13 -> aRecipe[i] = ItemList.Emitter_UXV;
- case 14 -> aRecipe[i] = ItemList.Emitter_MAX;
- default -> aRecipe[i] = ItemList.Emitter_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.SENSOR) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Sensor_LV;
- case 2 -> aRecipe[i] = ItemList.Sensor_MV;
- case 3 -> aRecipe[i] = ItemList.Sensor_HV;
- case 4 -> aRecipe[i] = ItemList.Sensor_EV;
- case 5 -> aRecipe[i] = ItemList.Sensor_IV;
- case 6 -> aRecipe[i] = ItemList.Sensor_LuV;
- case 7 -> aRecipe[i] = ItemList.Sensor_ZPM;
- case 8 -> aRecipe[i] = ItemList.Sensor_UV;
- case 9 -> aRecipe[i] = ItemList.Sensor_UHV;
- case 10 -> aRecipe[i] = ItemList.Sensor_UEV;
- case 11 -> aRecipe[i] = ItemList.Sensor_UIV;
- case 12 -> aRecipe[i] = ItemList.Sensor_UMV;
- case 13 -> aRecipe[i] = ItemList.Sensor_UXV;
- case 14 -> aRecipe[i] = ItemList.Sensor_MAX;
- default -> aRecipe[i] = ItemList.Sensor_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] == GT_MetaTileEntity_BasicMachine_GT_Recipe.X.FIELD_GENERATOR) {
- switch (this.mTier) {
- case 0, 1 -> aRecipe[i] = ItemList.Field_Generator_LV;
- case 2 -> aRecipe[i] = ItemList.Field_Generator_MV;
- case 3 -> aRecipe[i] = ItemList.Field_Generator_HV;
- case 4 -> aRecipe[i] = ItemList.Field_Generator_EV;
- case 5 -> aRecipe[i] = ItemList.Field_Generator_IV;
- case 6 -> aRecipe[i] = ItemList.Field_Generator_LuV;
- case 7 -> aRecipe[i] = ItemList.Field_Generator_ZPM;
- case 8 -> aRecipe[i] = ItemList.Field_Generator_UV;
- case 9 -> aRecipe[i] = ItemList.Field_Generator_UHV;
- case 10 -> aRecipe[i] = ItemList.Field_Generator_UEV;
- case 11 -> aRecipe[i] = ItemList.Field_Generator_UIV;
- case 12 -> aRecipe[i] = ItemList.Field_Generator_UMV;
- case 13 -> aRecipe[i] = ItemList.Field_Generator_UXV;
- case 14 -> aRecipe[i] = ItemList.Field_Generator_MAX;
- default -> aRecipe[i] = ItemList.Field_Generator_MAX;
- }
- continue;
- }
-
- if (aRecipe[i] instanceof GT_MetaTileEntity_BasicMachine_GT_Recipe.X)
- throw new IllegalArgumentException("MISSING TIER MAPPING FOR: " + aRecipe[i] + " AT TIER " + mTier);
+ if (!(aRecipe[i] instanceof X)) continue;
+
+ // spotless:off
+ aRecipe[i] = switch ((X) aRecipe[i]) {
+ case CIRCUIT -> Tier.ELECTRIC[this.mTier].mManagingObject;
+ case BETTER_CIRCUIT -> Tier.ELECTRIC[this.mTier].mBetterManagingObject;
+ case HULL -> Tier.ELECTRIC[this.mTier].mHullObject;
+ case WIRE -> Tier.ELECTRIC[this.mTier].mConductingObject;
+ case WIRE4 -> Tier.ELECTRIC[this.mTier].mLargerConductingObject;
+ case STICK_DISTILLATION -> OrePrefixes.stick.get(Materials.Blaze);
+
+ case GLASS -> switch (this.mTier) {
+ case 0, 1, 2, 3 -> new ItemStack(Blocks.glass, 1, W);
+ case 4, 5, 6, 7, 8 -> BartWorks.isModLoaded() ? "blockGlass" + VN[aTier] : Ic2Items.reinforcedGlass;
+ default -> BartWorks.isModLoaded() ? "blockGlass" + VN[8] : Ic2Items.reinforcedGlass;
+ };
+
+ case PLATE -> switch (this.mTier) {
+ case 0, 1 -> OrePrefixes.plate.get(Materials.Steel);
+ case 2 -> OrePrefixes.plate.get(Materials.Aluminium);
+ case 3 -> OrePrefixes.plate.get(Materials.StainlessSteel);
+ case 4 -> OrePrefixes.plate.get(Materials.Titanium);
+ case 5 -> OrePrefixes.plate.get(Materials.TungstenSteel);
+ case 6 -> OrePrefixes.plate.get(Materials.HSSG);
+ case 7 -> OrePrefixes.plate.get(Materials.HSSE);
+ default -> OrePrefixes.plate.get(Materials.Neutronium);
+ };
+
+ case PIPE -> switch (this.mTier) {
+ case 0, 1 -> OrePrefixes.pipeMedium.get(Materials.Bronze);
+ case 2 -> OrePrefixes.pipeMedium.get(Materials.Steel);
+ case 3 -> OrePrefixes.pipeMedium.get(Materials.StainlessSteel);
+ case 4 -> OrePrefixes.pipeMedium.get(Materials.Titanium);
+ case 5 -> OrePrefixes.pipeMedium.get(Materials.TungstenSteel);
+ case 6 -> OrePrefixes.pipeSmall.get(Materials.Ultimate);
+ case 7 -> OrePrefixes.pipeMedium.get(Materials.Ultimate);
+ case 8 -> OrePrefixes.pipeLarge.get(Materials.Ultimate);
+ default -> OrePrefixes.pipeHuge.get(Materials.Ultimate);
+ };
+
+ case COIL_HEATING -> switch (this.mTier) {
+ case 0, 1 -> OrePrefixes.wireGt02.get(Materials.AnyCopper);
+ case 2 -> OrePrefixes.wireGt02.get(Materials.Cupronickel);
+ case 3 -> OrePrefixes.wireGt02.get(Materials.Kanthal);
+ case 4 -> OrePrefixes.wireGt02.get(Materials.Nichrome);
+ case 5 -> OrePrefixes.wireGt02.get(Materials.TPV);
+ case 6 -> OrePrefixes.wireGt02.get(Materials.HSSG);
+ case 7 -> OrePrefixes.wireGt02.get(Materials.Naquadah);
+ case 8 -> OrePrefixes.wireGt02.get(Materials.NaquadahAlloy);
+ case 9 -> OrePrefixes.wireGt04.get(Materials.NaquadahAlloy);
+ default -> OrePrefixes.wireGt08.get(Materials.NaquadahAlloy);
+ };
+
+ case COIL_HEATING_DOUBLE -> switch (this.mTier) {
+ case 0, 1 -> OrePrefixes.wireGt04.get(Materials.AnyCopper);
+ case 2 -> OrePrefixes.wireGt04.get(Materials.Cupronickel);
+ case 3 -> OrePrefixes.wireGt04.get(Materials.Kanthal);
+ case 4 -> OrePrefixes.wireGt04.get(Materials.Nichrome);
+ case 5 -> OrePrefixes.wireGt04.get(Materials.TPV);
+ case 6 -> OrePrefixes.wireGt04.get(Materials.HSSG);
+ case 7 -> OrePrefixes.wireGt04.get(Materials.Naquadah);
+ case 8 -> OrePrefixes.wireGt04.get(Materials.NaquadahAlloy);
+ case 9 -> OrePrefixes.wireGt08.get(Materials.NaquadahAlloy);
+ default -> OrePrefixes.wireGt16.get(Materials.NaquadahAlloy);
+ };
+
+ case STICK_MAGNETIC -> switch (this.mTier) {
+ case 0, 1 -> OrePrefixes.stick.get(Materials.IronMagnetic);
+ case 2, 3 -> OrePrefixes.stick.get(Materials.SteelMagnetic);
+ case 4, 5 -> OrePrefixes.stick.get(Materials.NeodymiumMagnetic);
+ case 6, 7, 8, 9 -> OrePrefixes.stick.get(Materials.SamariumMagnetic);
+ default -> OrePrefixes.stick.get(Materials.TengamAttuned);
+ };
+
+ case STICK_ELECTROMAGNETIC -> switch (this.mTier) {
+ case 0, 1 -> OrePrefixes.stick.get(Materials.AnyIron);
+ case 2, 3 -> OrePrefixes.stick.get(Materials.Steel);
+ case 4 -> OrePrefixes.stick.get(Materials.Neodymium);
+ default -> OrePrefixes.stick.get(Materials.VanadiumGallium);
+ };
+
+ case COIL_ELECTRIC -> switch (this.mTier) {
+ case 0 -> OrePrefixes.wireGt01.get(Materials.Lead);
+ case 1 -> OrePrefixes.wireGt02.get(Materials.Tin);
+ case 2 -> OrePrefixes.wireGt02.get(Materials.AnyCopper);
+ case 3 -> OrePrefixes.wireGt04.get(Materials.AnyCopper);
+ case 4 -> OrePrefixes.wireGt08.get(Materials.AnnealedCopper);
+ case 5 -> OrePrefixes.wireGt16.get(Materials.AnnealedCopper);
+ case 6 -> OrePrefixes.wireGt04.get(Materials.YttriumBariumCuprate);
+ case 7 -> OrePrefixes.wireGt08.get(Materials.Iridium);
+ default -> OrePrefixes.wireGt16.get(Materials.Osmium);
+ };
+
+ case ROBOT_ARM -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Robot_Arm_LV;
+ case 2 -> ItemList.Robot_Arm_MV;
+ case 3 -> ItemList.Robot_Arm_HV;
+ case 4 -> ItemList.Robot_Arm_EV;
+ case 5 -> ItemList.Robot_Arm_IV;
+ case 6 -> ItemList.Robot_Arm_LuV;
+ case 7 -> ItemList.Robot_Arm_ZPM;
+ case 8 -> ItemList.Robot_Arm_UV;
+ case 9 -> ItemList.Robot_Arm_UHV;
+ case 10 -> ItemList.Robot_Arm_UEV;
+ case 11 -> ItemList.Robot_Arm_UIV;
+ case 12 -> ItemList.Robot_Arm_UMV;
+ case 13 -> ItemList.Robot_Arm_UXV;
+ default -> ItemList.Robot_Arm_MAX;
+ };
+
+ case PUMP -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Electric_Pump_LV;
+ case 2 -> ItemList.Electric_Pump_MV;
+ case 3 -> ItemList.Electric_Pump_HV;
+ case 4 -> ItemList.Electric_Pump_EV;
+ case 5 -> ItemList.Electric_Pump_IV;
+ case 6 -> ItemList.Electric_Pump_LuV;
+ case 7 -> ItemList.Electric_Pump_ZPM;
+ case 8 -> ItemList.Electric_Pump_UV;
+ case 9 -> ItemList.Electric_Pump_UHV;
+ case 10 -> ItemList.Electric_Pump_UEV;
+ case 11 -> ItemList.Electric_Pump_UIV;
+ case 12 -> ItemList.Electric_Pump_UMV;
+ case 13 -> ItemList.Electric_Pump_UXV;
+ default -> ItemList.Electric_Pump_MAX;
+ };
+
+ case MOTOR -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Electric_Motor_LV;
+ case 2 -> ItemList.Electric_Motor_MV;
+ case 3 -> ItemList.Electric_Motor_HV;
+ case 4 -> ItemList.Electric_Motor_EV;
+ case 5 -> ItemList.Electric_Motor_IV;
+ case 6 -> ItemList.Electric_Motor_LuV;
+ case 7 -> ItemList.Electric_Motor_ZPM;
+ case 8 -> ItemList.Electric_Motor_UV;
+ case 9 -> ItemList.Electric_Motor_UHV;
+ case 10 -> ItemList.Electric_Motor_UEV;
+ case 11 -> ItemList.Electric_Motor_UIV;
+ case 12 -> ItemList.Electric_Motor_UMV;
+ case 13 -> ItemList.Electric_Motor_UXV;
+ default -> ItemList.Electric_Motor_MAX;
+ };
+
+ case PISTON -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Electric_Piston_LV;
+ case 2 -> ItemList.Electric_Piston_MV;
+ case 3 -> ItemList.Electric_Piston_HV;
+ case 4 -> ItemList.Electric_Piston_EV;
+ case 5 -> ItemList.Electric_Piston_IV;
+ case 6 -> ItemList.Electric_Piston_LuV;
+ case 7 -> ItemList.Electric_Piston_ZPM;
+ case 8 -> ItemList.Electric_Piston_UV;
+ case 9 -> ItemList.Electric_Piston_UHV;
+ case 10 -> ItemList.Electric_Piston_UEV;
+ case 11 -> ItemList.Electric_Piston_UIV;
+ case 12 -> ItemList.Electric_Piston_UMV;
+ case 13 -> ItemList.Electric_Piston_UXV;
+ default -> ItemList.Electric_Piston_MAX;
+ };
+
+ case CONVEYOR -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Conveyor_Module_LV;
+ case 2 -> ItemList.Conveyor_Module_MV;
+ case 3 -> ItemList.Conveyor_Module_HV;
+ case 4 -> ItemList.Conveyor_Module_EV;
+ case 5 -> ItemList.Conveyor_Module_IV;
+ case 6 -> ItemList.Conveyor_Module_LuV;
+ case 7 -> ItemList.Conveyor_Module_ZPM;
+ case 8 -> ItemList.Conveyor_Module_UV;
+ case 9 -> ItemList.Conveyor_Module_UHV;
+ case 10 -> ItemList.Conveyor_Module_UEV;
+ case 11 -> ItemList.Conveyor_Module_UIV;
+ case 12 -> ItemList.Conveyor_Module_UMV;
+ case 13 -> ItemList.Conveyor_Module_UXV;
+ default -> ItemList.Conveyor_Module_MAX;
+ };
+
+ case EMITTER -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Emitter_LV;
+ case 2 -> ItemList.Emitter_MV;
+ case 3 -> ItemList.Emitter_HV;
+ case 4 -> ItemList.Emitter_EV;
+ case 5 -> ItemList.Emitter_IV;
+ case 6 -> ItemList.Emitter_LuV;
+ case 7 -> ItemList.Emitter_ZPM;
+ case 8 -> ItemList.Emitter_UV;
+ case 9 -> ItemList.Emitter_UHV;
+ case 10 -> ItemList.Emitter_UEV;
+ case 11 -> ItemList.Emitter_UIV;
+ case 12 -> ItemList.Emitter_UMV;
+ case 13 -> ItemList.Emitter_UXV;
+ default -> ItemList.Emitter_MAX;
+ };
+
+ case SENSOR -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Sensor_LV;
+ case 2 -> ItemList.Sensor_MV;
+ case 3 -> ItemList.Sensor_HV;
+ case 4 -> ItemList.Sensor_EV;
+ case 5 -> ItemList.Sensor_IV;
+ case 6 -> ItemList.Sensor_LuV;
+ case 7 -> ItemList.Sensor_ZPM;
+ case 8 -> ItemList.Sensor_UV;
+ case 9 -> ItemList.Sensor_UHV;
+ case 10 -> ItemList.Sensor_UEV;
+ case 11 -> ItemList.Sensor_UIV;
+ case 12 -> ItemList.Sensor_UMV;
+ case 13 -> ItemList.Sensor_UXV;
+ default -> ItemList.Sensor_MAX;
+ };
+
+ case FIELD_GENERATOR -> switch (this.mTier) {
+ case 0, 1 -> ItemList.Field_Generator_LV;
+ case 2 -> ItemList.Field_Generator_MV;
+ case 3 -> ItemList.Field_Generator_HV;
+ case 4 -> ItemList.Field_Generator_EV;
+ case 5 -> ItemList.Field_Generator_IV;
+ case 6 -> ItemList.Field_Generator_LuV;
+ case 7 -> ItemList.Field_Generator_ZPM;
+ case 8 -> ItemList.Field_Generator_UV;
+ case 9 -> ItemList.Field_Generator_UHV;
+ case 10 -> ItemList.Field_Generator_UEV;
+ case 11 -> ItemList.Field_Generator_UIV;
+ case 12 -> ItemList.Field_Generator_UMV;
+ case 13 -> ItemList.Field_Generator_UXV;
+ default -> ItemList.Field_Generator_MAX;
+ };
+
+ case ROTOR -> switch (this.mTier) {
+ case 0, 1 -> OrePrefixes.rotor.get(Materials.Tin);
+ case 2 -> OrePrefixes.rotor.get(Materials.Bronze);
+ case 3 -> OrePrefixes.rotor.get(Materials.Steel);
+ case 4 -> OrePrefixes.rotor.get(Materials.StainlessSteel);
+ case 5 -> OrePrefixes.rotor.get(Materials.TungstenSteel);
+ case 6 -> OrePrefixes.rotor.get(Materials.Chrome);
+ case 7 -> OrePrefixes.rotor.get(Materials.Iridium);
+ default -> OrePrefixes.rotor.get(Materials.Osmium);
+ };
+
+ default -> throw new IllegalArgumentException("MISSING TIER MAPPING FOR: " + aRecipe[i] + " AT TIER " + this.mTier);
+ };
+ // spotless:on
}
if (!GT_ModHandler.addCraftingRecipe(
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));
}