diff options
author | chochem <40274384+chochem@users.noreply.github.com> | 2023-05-19 18:52:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-19 19:52:57 +0200 |
commit | 1798aa29d3126252c163f919b0eb2518b2e5b68c (patch) | |
tree | 9b887bf7c8dfdad005c13564741b2b2923d7a018 /src/main/java/gregtech/api/util/GT_RecipeMapUtil.java | |
parent | 1722f9738b57db2958efd339a6bc490a643ac5c9 (diff) | |
download | GT5-Unofficial-1798aa29d3126252c163f919b0eb2518b2e5b68c.tar.gz GT5-Unofficial-1798aa29d3126252c163f919b0eb2518b2e5b68c.tar.bz2 GT5-Unofficial-1798aa29d3126252c163f919b0eb2518b2e5b68c.zip |
Yet another round of ra2 conversions (#2006)
* lathe and saplings
* toolhead oreproc recipes
* fluid solidification
* reverse macerating
* autoclave combs
* implosion compressor
* assembler recipes
* assembling line
* slicer recipes
* minor fixes
* attempted cell to fluid fix
* minor fix 2
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_RecipeMapUtil.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_RecipeMapUtil.java | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java b/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java index 4f7f2e199b..a534f8031d 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java +++ b/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java @@ -92,10 +92,33 @@ public class GT_RecipeMapUtil { TIntList chances = b.getChances() != null ? new TIntArrayList(b.getChances()) : null; cellToFluid(itemInputs, fluidInputs, removeIntegratedCircuit, null); cellToFluid(itemOutputs, fluidOutputs, removeIntegratedCircuit, chances); - return b.itemInputs(itemInputs.toArray(new ItemStack[0])) - .itemOutputs(itemOutputs.toArray(new ItemStack[0]), chances != null ? chances.toArray() : null) - .fluidInputs(fluidInputs.toArray(new FluidStack[0])) - .fluidOutputs(fluidOutputs.toArray(new FluidStack[0])); + itemInputs.removeIf(Objects::isNull); + if (chances == null) { + itemOutputs.removeIf(Objects::isNull); + } + fluidInputs.removeIf(Objects::isNull); + fluidOutputs.removeIf(Objects::isNull); + if (itemInputs.size() == 0) { + b.noItemInputs(); + } else { + b.itemInputs(itemInputs.toArray(new ItemStack[0])); + } + if (itemOutputs.size() == 0) { + b.noItemOutputs(); + } else { + b.itemOutputs(itemOutputs.toArray(new ItemStack[0]), chances != null ? chances.toArray() : null); + } + if (fluidInputs.size() == 0) { + b.noFluidInputs(); + } else { + b.fluidInputs(fluidInputs.toArray(new FluidStack[0])); + } + if (fluidOutputs.size() == 0) { + b.noFluidOutputs(); + } else { + b.fluidOutputs(fluidOutputs.toArray(new FluidStack[0])); + } + return b; } private static void cellToFluid(List<ItemStack> items, List<FluidStack> fluids, boolean removeIntegratedCircuit, |