diff options
-rw-r--r-- | src/main/java/gregtech/api/util/GT_RecipeRegistrator.java | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java index 368b61aec3..10dd3b953b 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java +++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java @@ -319,27 +319,29 @@ public class GT_RecipeRegistrator { } recipeBuilder.addTo(UniversalArcFurnace); } else { - 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)), - GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(3)), - GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(5)), - GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(6)), - GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(7)), - GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(8))) - .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(); + 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); } - recipeBuilder.addTo(UniversalArcFurnace); } } |