diff options
Diffstat (limited to 'src/main/java/gregtech/api')
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)); } |