diff options
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r-- | src/main/java/gregtech/api/enums/OrePrefixes.java | 1 | ||||
-rw-r--r-- | src/main/java/gregtech/api/util/GT_RecipeRegistrator.java | 74 |
2 files changed, 25 insertions, 50 deletions
diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java index 502cd06b25..c9225aca2d 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -970,7 +970,6 @@ public enum OrePrefixes { oreRich.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2); ore.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount); crushed.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount); - toolHeadDrill.mSecondaryMaterial = new MaterialStack(Materials.Steel, plate.mMaterialAmount * 4); toolHeadChainsaw.mSecondaryMaterial = new MaterialStack( Materials.Steel, plate.mMaterialAmount * 4 + ring.mMaterialAmount * 2); 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; |