diff options
author | chochem <40274384+chochem@users.noreply.github.com> | 2023-05-15 06:51:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-15 07:51:04 +0200 |
commit | 274cfd1ae8edbfa04457aab42670876a002a93d1 (patch) | |
tree | 77d6b22da0b4092931eff2f4f32752d78fdccbcf /src/main/java/gregtech/api/util/GT_RecipeRegistrator.java | |
parent | 4fc648aba6e9ed7d3cade45ea77bf9c3eb2b927e (diff) | |
download | GT5-Unofficial-274cfd1ae8edbfa04457aab42670876a002a93d1.tar.gz GT5-Unofficial-274cfd1ae8edbfa04457aab42670876a002a93d1.tar.bz2 GT5-Unofficial-274cfd1ae8edbfa04457aab42670876a002a93d1.zip |
Various GT recipe fixes (#1990)
* null checks for cables
* actually fix drillhead recycling
* revert old incorrect drill fix
* fix netherstar cables
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_RecipeRegistrator.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_RecipeRegistrator.java | 74 |
1 files changed, 25 insertions, 49 deletions
diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java index 10dd3b953b..819f8240b0 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java +++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java @@ -194,8 +194,8 @@ public class GT_RecipeRegistrator { // } RA.addFluidSmelterRecipe( GT_Utility.copyAmount(1, aStack), - aByproduct == null - || (tData != null && tData.hasValidPrefixData() && tData.mPrefix == OrePrefixes.toolHeadDrill) + aByproduct + == null ? null : aByproduct.mMaterial.contains(SubTag.NO_SMELTING) || !aByproduct.mMaterial.contains(SubTag.METAL) ? aByproduct.mMaterial.contains(SubTag.FLAMMABLE) @@ -305,11 +305,20 @@ public class GT_RecipeRegistrator { tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass(); boolean tHide = !tIron && GT_Mod.gregtechproxy.mHideRecyclingRecipes; - if (aData.mPrefix == OrePrefixes.toolHeadDrill) { + ArrayList<ItemStack> outputs = new ArrayList<ItemStack>(); + if (GT_OreDictUnificator.getIngotOrDust(aData.mMaterial) != null) { + outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial)); + } + for (int i = 0; i < 8; i++) { + if (GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i)) != null) { + outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i))); + } + } + if (outputs.size() != 0) { + ItemStack[] outputsArray = outputs.toArray(new ItemStack[outputs.size()]); GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); - recipeBuilder.itemInputs(aStack) - .itemOutputs(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial)) + .itemOutputs(outputsArray) .fluidInputs(Materials.Oxygen.getGas((int) Math.max(16, tAmount / M))) .noFluidOutputs() .duration(((int) Math.max(16, tAmount / M)) * TICKS) @@ -318,31 +327,8 @@ public class GT_RecipeRegistrator { recipeBuilder.hidden(); } recipeBuilder.addTo(UniversalArcFurnace); - } else { - ArrayList<ItemStack> outputs = new ArrayList<ItemStack>(); - if (GT_OreDictUnificator.getIngotOrDust(aData.mMaterial) != null) { - outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial)); - } - for (int i = 0; i < 8; i++) { - if (GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i)) != null) { - outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i))); - } - } - if (outputs.size() != 0) { - ItemStack[] outputsArray = outputs.toArray(new ItemStack[outputs.size()]); - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); - recipeBuilder.itemInputs(aStack) - .itemOutputs(outputsArray) - .fluidInputs(Materials.Oxygen.getGas((int) Math.max(16, tAmount / M))) - .noFluidOutputs() - .duration(((int) Math.max(16, tAmount / M)) * TICKS) - .eut(90); - if (tHide) { - recipeBuilder.hidden(); - } - recipeBuilder.addTo(UniversalArcFurnace); - } } + } public static void registerReverseMacerating(ItemStack aStack, Materials aMaterial, long aMaterialAmount, @@ -374,26 +360,16 @@ public class GT_RecipeRegistrator { for (MaterialStack tMaterial : aData.getAllMaterialStacks()) tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass(); boolean tHide = (aData.mMaterial.mMaterial != Materials.Iron) && (GT_Mod.gregtechproxy.mHideRecyclingRecipes); - if (aData.mPrefix == OrePrefixes.toolHeadDrill) { - RA.addPulveriserRecipe( - aStack, - new ItemStack[] { GT_OreDictUnificator.getDust(aData.mMaterial) }, - null, - aData.mMaterial.mMaterial == Materials.Marble ? 1 : (int) Math.max(16, tAmount / M), - 4, - tHide); - } else { - RA.addPulveriserRecipe( - aStack, - new ItemStack[] { GT_OreDictUnificator.getDust(aData.mMaterial), - GT_OreDictUnificator.getDust(aData.getByProduct(0)), - GT_OreDictUnificator.getDust(aData.getByProduct(1)), - GT_OreDictUnificator.getDust(aData.getByProduct(2)) }, - null, - aData.mMaterial.mMaterial == Materials.Marble ? 1 : (int) Math.max(16, tAmount / M), - 4, - tHide); - } + RA.addPulveriserRecipe( + aStack, + new ItemStack[] { GT_OreDictUnificator.getDust(aData.mMaterial), + GT_OreDictUnificator.getDust(aData.getByProduct(0)), + GT_OreDictUnificator.getDust(aData.getByProduct(1)), + GT_OreDictUnificator.getDust(aData.getByProduct(2)) }, + null, + aData.mMaterial.mMaterial == Materials.Marble ? 1 : (int) Math.max(16, tAmount / M), + 4, + tHide); if (!aAllowHammer) { return; |