diff options
| author | Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> | 2023-01-25 05:22:14 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-25 05:22:14 +0000 |
| commit | d9f473283fa606662f57bbafdd49be37728b0eb0 (patch) | |
| tree | 3797db9d52f714a5686675ba8a4b5d67c4ce6680 /src/main/java/gregtech/loaders/oreprocessing | |
| parent | e197a79a0558c6ce1b116d871a71a214962a01a3 (diff) | |
| download | GT5-Unofficial-d9f473283fa606662f57bbafdd49be37728b0eb0.tar.gz GT5-Unofficial-d9f473283fa606662f57bbafdd49be37728b0eb0.tar.bz2 GT5-Unofficial-d9f473283fa606662f57bbafdd49be37728b0eb0.zip | |
EOH materials + Allow materials to pick their processing tier (#1671)
* Begin addition of tiered material manipulation
* Dwarf matter
* Add hardcoded EU tiers for wider usage.
* New material images etc
* Nugget processing tiers
* Move iron nugget to wrought iron smelting to the correct place
* Add white dwarf shapes
* Add white dwarf shapes
* Additional retiering options for EU consumption on material part generation
* White dwarf matter complete
* Tier neutronium processing at ZPM
* Spotless
* More adjustments
* Renaming files
* Add new overlays for magneto material and more name adjustments
* Add no recipes subtag
* Spotless + name adjustment
* Undo isCustom to maintain potential public variable references in addons.
* Undo isCustom to maintain potential public variable references in addons.
* Fix fluid registry corruption.
* Add rotor EU override
* Add rotor EU override
* Make neutronium mass more reasonable
* Add proper time adjustments to rotor (probably an old oversight)
* Adjust enums to use VP rather than recalculate
* Fix typos on EU usage
* spotlessApply (#1672)
Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com>
Co-authored-by: GitHub GTNH Actions <>
* Change setProcessingMaterialTierEU to accept long.
* Small fix
* Add space and time materials
* Add new forge hammer support
* Update tooltip
* Expand laser engraver slots.
* spotlessApply (#1673)
Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com>
Co-authored-by: GitHub GTNH Actions <>
* Reserve texture page.
* Modernise GT circuit usage
* Add oversight in assembler frame recipe
* Add missing MHDCSM overlay textures
* Remove small and tiny MHDCSM dusts
* Fix error in ingot texture
* Fix NO_RECIPES not applying to frame boxes
* Restore missing ingot
* Add rod handles for materials
* Fix frame box auto generating with NO_RECIPEs tag
* recipe
* Spotless
* Add MOD_ID_GTPP as modid
* spotlessApply (#1675)
Co-authored-by: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com>
Co-authored-by: GitHub GTNH Actions <>
* Remove smelting spacetime from furnace (why does this exist?)
* Recipes + new storage blocks for materials
* Bedrockium LuV -> EV
* SpaceTime UMV -> UIV
* TranscendentMetal UIV -> UEV
* MagnetoThingy and dward mats UXV -> UMV
* update buildscript
* yeet magic number that could be
* spotlessApply
* Make the nanite tier 3, colen request
* Up nanite tier
* Comment
* Change name
* Change name
Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: adam riondy <adampoplol@gmail.com>
Co-authored-by: boubou19 <miisterunknown@gmail.com>
Diffstat (limited to 'src/main/java/gregtech/loaders/oreprocessing')
16 files changed, 1011 insertions, 832 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java index 86630cbe08..c893d75674 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java @@ -16,17 +16,19 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist public void registerOre( OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { if (aMaterial != Materials.Clay && aMaterial != Materials.Basalt) { - GT_Values.RA.addCutterRecipe( - GT_Utility.copyAmount(1L, aStack), - aMaterial == MaterialsBotania.Livingrock - || aMaterial == MaterialsBotania.Livingwood - || aMaterial == MaterialsBotania.Dreamwood - ? GT_Utility.getIntegratedCircuit(3) - : null, - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L), - null, - (int) Math.max(aMaterial.getMass() * 10L, 1L), - 30); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_Values.RA.addCutterRecipe( + GT_Utility.copyAmount(1L, aStack), + aMaterial == MaterialsBotania.Livingrock + || aMaterial == MaterialsBotania.Livingwood + || aMaterial == MaterialsBotania.Dreamwood + ? GT_Utility.getIntegratedCircuit(3) + : null, + GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L), + null, + (int) Math.max(aMaterial.getMass() * 10L, 1L), + 30); + } } ItemStack tStack1 = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L); @@ -45,14 +47,17 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist GT_ModHandler.removeRecipeDelayed( tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3); } + if (aMaterial.mStandardMoltenFluid != null) { if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) { - GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Block.get(0L), - aMaterial.getMolten(1296L), - GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L), - 288, - 8); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_Values.RA.addFluidSolidifierRecipe( + ItemList.Shape_Mold_Block.get(0L), + aMaterial.getMolten(1296L), + GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L), + 288, + 8); + } } } if (GregTech_API.sRecipeFile.get( @@ -89,10 +94,15 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist if (tStack1 != null) GT_ModHandler.addShapelessCraftingRecipe(tStack1, new Object[] {OrePrefixes.block.get(aMaterial)}); } - if (!OrePrefixes.block.isIgnored(aMaterial)) - GT_ModHandler.addCompressionRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L), - GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)); + + if (!OrePrefixes.block.isIgnored(aMaterial)) { + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_ModHandler.addCompressionRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L), + GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L)); + } + } + switch (aMaterial.mName) { case "Mercury": System.err.println( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java index 17ba07917f..1234d3fc53 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java @@ -3,6 +3,7 @@ package gregtech.loaders.oreprocessing; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; +import gregtech.api.enums.Tier; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import gregtech.common.GT_Proxy; @@ -16,12 +17,14 @@ public class ProcessingBolt implements gregtech.api.interfaces.IOreRecipeRegistr @Override public void registerOre( OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - if ((aMaterial.mUnificatable) - && (aMaterial.mMaterialInto == aMaterial) - && !aMaterial.contains(SubTag.NO_WORKING)) { - GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(2L, aStack), GT_Proxy.tBits, new Object[] { - "s ", " X", 'X', OrePrefixes.stick.get(aMaterial) - }); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + if ((aMaterial.mUnificatable) + && (aMaterial.mMaterialInto == aMaterial) + && !aMaterial.contains(SubTag.NO_WORKING)) { + GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(2L, aStack), GT_Proxy.tBits, new Object[] { + "s ", " X", 'X', OrePrefixes.stick.get(aMaterial) + }); + } } } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java index 7a85572b5b..ae25bcee98 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Utility.calculateRecipeEU; + import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; @@ -22,7 +24,7 @@ public class ProcessingFoil implements IOreRecipeRegistrator { GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 4L)), GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L), (int) Math.max(aMaterial.getMass(), 1L), - 24); + calculateRecipeEU(aMaterial, 24)); GregTech_API.registerCover( aStack, TextureFactory.of(aMaterial.mIconSet.mTextures[70], aMaterial.mRGBa, false), null); } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java index d05d2188b7..f5f9a1688a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Utility.calculateRecipeEU; + import gregtech.api.enums.*; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -27,7 +29,7 @@ public class ProcessingGear implements gregtech.api.interfaces.IOreRecipeRegistr aMaterial.getMolten(576L), GT_OreDictUnificator.get(aPrefix, aMaterial, 1L), 128, - 8); + calculateRecipeEU(aMaterial, 8)); } if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial) @@ -62,18 +64,20 @@ public class ProcessingGear implements gregtech.api.interfaces.IOreRecipeRegistr }); break; default: - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { - "SPS", - "PwP", - "SPS", - 'P', - OrePrefixes.plate.get(aMaterial), - 'S', - OrePrefixes.stick.get(aMaterial) - }); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { + "SPS", + "PwP", + "SPS", + 'P', + OrePrefixes.plate.get(aMaterial), + 'S', + OrePrefixes.stick.get(aMaterial) + }); + } } } break; @@ -85,7 +89,7 @@ public class ProcessingGear implements gregtech.api.interfaces.IOreRecipeRegistr aMaterial.getMolten(144L), GT_Utility.copyAmount(1L, aStack), 16, - 8); + calculateRecipeEU(aMaterial, 8)); } if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial) @@ -104,18 +108,20 @@ public class ProcessingGear implements gregtech.api.interfaces.IOreRecipeRegistr new Object[] {"P ", " f", 'P', OrePrefixes.stoneSmooth}); break; default: - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { - " S ", - "hPx", - " S ", - 'S', - OrePrefixes.stick.get(aMaterial), - 'P', - OrePrefixes.plate.get(aMaterial) - }); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { + " S ", + "hPx", + " S ", + 'S', + OrePrefixes.stick.get(aMaterial), + 'P', + OrePrefixes.plate.get(aMaterial) + }); + } } } break; diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java index 411309f396..507a015950 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Utility.calculateRecipeEU; + import gregtech.api.GregTech_API; import gregtech.api.enums.*; import gregtech.api.util.GT_ModHandler; @@ -54,46 +56,48 @@ public class ProcessingGem GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), (int) Math.max(aMaterialMass, 1L), - 16); + calculateRecipeEU(aMaterial, 16)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), (int) Math.max(aMaterialMass * 2L, 1L), - 24); + calculateRecipeEU(aMaterial, 24)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(2L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L), (int) Math.max(aMaterialMass * 2L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(3L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L), (int) Math.max(aMaterialMass * 3L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(4L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), (int) Math.max(aMaterialMass * 4L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(5L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L), (int) Math.max(aMaterialMass * 5L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(9L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L), (int) Math.max(aMaterialMass * 9L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); } if (aNoWorking) { - GT_Values.RA.addLatheRecipe( - GT_Utility.copyAmount(1L, aStack), - GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L), - (int) Math.max(aMaterialMass, 1L), - 16); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_Values.RA.addLatheRecipe( + GT_Utility.copyAmount(1L, aStack), + GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L), + (int) Math.max(aMaterialMass, 1L), + calculateRecipeEU(aMaterial, 16)); + } } else { if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) { GT_ModHandler.addCraftingRecipe( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java index 88995c0e0b..bd98e6a162 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Utility.calculateRecipeEU; + import gregtech.api.GregTech_API; import gregtech.api.enums.*; import gregtech.api.util.GT_ModHandler; @@ -42,7 +44,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist aMaterial.getMolten(144L), GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), 32, - 8); + calculateRecipeEU(aMaterial, 8)); } } GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null); @@ -71,47 +73,49 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist } if (!aNoSmashing) { - GT_Values.RA.addForgeHammerRecipe( - GT_Utility.copyAmount(3L, aStack), - GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L), - (int) Math.max(aMaterialMass, 1L), - 16); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + GT_Values.RA.addForgeHammerRecipe( + GT_Utility.copyAmount(3L, aStack), + GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L), + (int) Math.max(aMaterialMass, 1L), + calculateRecipeEU(aMaterial, 16)); + } GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L), (int) Math.max(aMaterialMass, 1L), - 24); + calculateRecipeEU(aMaterial, 24)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(2L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L), (int) Math.max(aMaterialMass * 2L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(3L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L), (int) Math.max(aMaterialMass * 3L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(4L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), (int) Math.max(aMaterialMass * 4L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(5L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L), (int) Math.max(aMaterialMass * 5L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(9L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L), (int) Math.max(aMaterialMass * 9L, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(1L, aStack), GT_Utility.getIntegratedCircuit(10), GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L), (int) Math.max(aMaterialMass * 2L, 1L), - 24); + calculateRecipeEU(aMaterial, 24)); } break; @@ -121,19 +125,23 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L), (int) Math.max(aMaterialMass, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(2L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), (int) Math.max(aMaterialMass * 2L, 1L), - 96); - if (aSpecialRecipeReq - && GregTech_API.sRecipeFile.get( - ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] {"I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial)}); + calculateRecipeEU(aMaterial, 96)); + + // Enable crafting with hammer if tier is < IV. + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + if (aSpecialRecipeReq + && GregTech_API.sRecipeFile.get( + ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotDouble, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] {"I", "I", "h", 'I', OrePrefixes.ingot.get(aMaterial)}); + } } } break; @@ -143,27 +151,29 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L), (int) Math.max(aMaterialMass, 1L), - 96); + calculateRecipeEU(aMaterial, 96)); GT_Values.RA.addBenderRecipe( GT_Utility.copyAmount(3L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L), (int) Math.max(aMaterialMass * 3L, 1L), - 96); - if (aSpecialRecipeReq - && GregTech_API.sRecipeFile.get( - ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { - "I", - "B", - "h", - 'I', - OrePrefixes.ingotDouble.get(aMaterial), - 'B', - OrePrefixes.ingot.get(aMaterial) - }); + calculateRecipeEU(aMaterial, 96)); + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + if (aSpecialRecipeReq + && GregTech_API.sRecipeFile.get( + ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotTriple, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { + "I", + "B", + "h", + 'I', + OrePrefixes.ingotDouble.get(aMaterial), + 'B', + OrePrefixes.ingot.get(aMaterial) + }); + } } } break; @@ -173,22 +183,26 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), (int) Math.max(aMaterialMass, 1L), - 96); - if (aSpecialRecipeReq - && GregTech_API.sRecipeFile.get( - ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { - "I", - "B", - "h", - 'I', - OrePrefixes.ingotTriple.get(aMaterial), - 'B', - OrePrefixes.ingot.get(aMaterial) - }); + calculateRecipeEU(aMaterial, 96)); + + // If tier < IV add manual crafting. + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + if (aSpecialRecipeReq + && GregTech_API.sRecipeFile.get( + ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotQuadruple, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { + "I", + "B", + "h", + 'I', + OrePrefixes.ingotTriple.get(aMaterial), + 'B', + OrePrefixes.ingot.get(aMaterial) + }); + } } } break; @@ -198,22 +212,25 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L), (int) Math.max(aMaterialMass, 1L), - 96); - if (aSpecialRecipeReq - && GregTech_API.sRecipeFile.get( - ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { - GT_ModHandler.addCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L), - GT_Proxy.tBits, - new Object[] { - "I", - "B", - "h", - 'I', - OrePrefixes.ingotQuadruple.get(aMaterial), - 'B', - OrePrefixes.ingot.get(aMaterial) - }); + calculateRecipeEU(aMaterial, 96)); + + if (aMaterial.getProcessingMaterialTierEU() < Tier.IV) { + if (aSpecialRecipeReq + && GregTech_API.sRecipeFile.get( + ConfigCategories.Tools.hammermultiingot, aMaterial.toString(), true)) { + GT_ModHandler.addCraftingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ingotQuintuple, aMaterial, 1L), + GT_Proxy.tBits, + new Object[] { + "I", + "B", + "h", + 'I', + OrePrefixes.ingotQuadruple.get(aMaterial), + 'B', + OrePrefixes.ingot.get(aMaterial) + }); + } } } break; diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java index b1a73e19b5..7e2dfbd439 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java @@ -1,5 +1,7 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.util.GT_Utility.calculateRecipeEU; + import gregtech.api.enums.*; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -15,10 +17,7 @@ public class ProcessingNugget implements gregtech.api.interfaces.IOreRecipeRegis @Override public void registerOre( OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - if (aMaterial == Materials.Iron) - GT_ModHandler.addSmeltingRecipe( < |
