aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchochem <40274384+chochem@users.noreply.github.com>2023-05-13 16:39:34 +0100
committerGitHub <noreply@github.com>2023-05-13 17:39:34 +0200
commitdc1d5be412e3f26335c5526831d7957a12375d7d (patch)
tree2abc95007363148156a8c21ea41dd98d66618cbb
parente56ccbbad79b915db3515f24894c5c5aa5aab881 (diff)
downloadGT5-Unofficial-dc1d5be412e3f26335c5526831d7957a12375d7d.tar.gz
GT5-Unofficial-dc1d5be412e3f26335c5526831d7957a12375d7d.tar.bz2
GT5-Unofficial-dc1d5be412e3f26335c5526831d7957a12375d7d.zip
More ReverseArcSmelting fixes (#1979)
* null check and removal for reversearcfurnace * max 9 not 10 outputs
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeRegistrator.java42
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);
}
}