aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlease <4586901+Glease@users.noreply.github.com>2021-06-16 16:33:53 +0800
committerGlease <4586901+Glease@users.noreply.github.com>2021-07-30 14:39:32 +0800
commita47c5003192c87f6960d490abedd1e342acb56bd (patch)
treea3475f84f3206aeca7fd961c3c46ae48e9618433
parent62f04c2893a66c4f80383da1a973fad4708171d4 (diff)
downloadGT5-Unofficial-a47c5003192c87f6960d490abedd1e342acb56bd.tar.gz
GT5-Unofficial-a47c5003192c87f6960d490abedd1e342acb56bd.tar.bz2
GT5-Unofficial-a47c5003192c87f6960d490abedd1e342acb56bd.zip
make fuel recipe map index building a bit more robust
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java3
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java
index a5b263a145..19f46dfd15 100644
--- a/src/main/java/gregtech/api/util/GT_Recipe.java
+++ b/src/main/java/gregtech/api/util/GT_Recipe.java
@@ -1010,7 +1010,8 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
@Override
public GT_Recipe add(GT_Recipe aRecipe) {
aRecipe = super.add(aRecipe);
- if (aRecipe.mInputs != null && aRecipe.mInputs.length == 1 && (aRecipe.mFluidInputs == null || aRecipe.mFluidInputs.length == 0)) {
+ if (aRecipe.mInputs != null && GT_Utility.getNonnullElementCount(aRecipe.mInputs) == 1 &&
+ (aRecipe.mFluidInputs == null || GT_Utility.getNonnullElementCount(aRecipe.mFluidInputs) == 0)) {
FluidStack tFluid = GT_Utility.getFluidForFilledItem(aRecipe.mInputs[0], true);
if (tFluid != null) {
tFluid.amount = 0;
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index c7cee8c9c2..bb2c644f95 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -2884,4 +2884,8 @@ public class GT_Utility {
dropItem.delayBeforeCanPickup = 0;
}
}
+
+ public static long getNonnullElementCount(Object[] tArray) {
+ return Arrays.stream(tArray).filter(Objects::nonNull).count();
+ }
}