diff options
author | Martin Robertz <dream-master@gmx.net> | 2021-06-17 16:08:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-17 16:08:10 +0200 |
commit | 833478c897e6bdc4bd43a89d0e57da2a6b80ed61 (patch) | |
tree | 78e544e6c8fd6fc3ee52cc4c5942db5ac2313a9b /src/main/java/gregtech/api/util/GT_Utility.java | |
parent | b0caaa39e46d63bc24e7e0ca095030d1387346a9 (diff) | |
parent | 693fb95cc15cce05ed84a9b1c56e28711284f121 (diff) | |
download | GT5-Unofficial-833478c897e6bdc4bd43a89d0e57da2a6b80ed61.tar.gz GT5-Unofficial-833478c897e6bdc4bd43a89d0e57da2a6b80ed61.tar.bz2 GT5-Unofficial-833478c897e6bdc4bd43a89d0e57da2a6b80ed61.zip |
Merge pull request #565 from GTNewHorizons/item-regulator-fix
Fix regulator not working when some slots are empty
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_Utility.java')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_Utility.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index e9a9d6a436..8cbb44fe07 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -886,13 +886,16 @@ public class GT_Utility { public static boolean listContainsItem(Collection<ItemStack> aList, ItemStack aStack, boolean aTIfListEmpty, boolean aInvertFilter) { if (aStack == null || aStack.stackSize < 1) return false; if (aList == null) return aTIfListEmpty; - aList.removeIf(Objects::isNull); - if (aList.size() < 1) return aTIfListEmpty; - Iterator<ItemStack> tIterator = aList.iterator(); - ItemStack tStack = null; - while (tIterator.hasNext()) - if ((tStack = tIterator.next()) != null && areStacksEqual(aStack, tStack)) return !aInvertFilter; - return aInvertFilter; + boolean tEmpty = true; + for (ItemStack tStack : aList) { + if (tStack != null) { + tEmpty = false; + if (areStacksEqual(aStack, tStack)) { + return !aInvertFilter; + } + } + } + return tEmpty ? aTIfListEmpty : aInvertFilter; } public static boolean areStacksOrToolsEqual(ItemStack aStack1, ItemStack aStack2) { |