aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java
diff options
context:
space:
mode:
authorchochem <40274384+chochem@users.noreply.github.com>2023-05-19 18:52:57 +0100
committerGitHub <noreply@github.com>2023-05-19 19:52:57 +0200
commit1798aa29d3126252c163f919b0eb2518b2e5b68c (patch)
tree9b887bf7c8dfdad005c13564741b2b2923d7a018 /src/main/java/gregtech/api/util/GT_RecipeMapUtil.java
parent1722f9738b57db2958efd339a6bc490a643ac5c9 (diff)
downloadGT5-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.java31
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,