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 | |
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')
5 files changed, 14 insertions, 11 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) { diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java index 0c5b1dfda8..5b23c36d9a 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java @@ -23,7 +23,7 @@ public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer { super(aID, aName, aNameRegional, aTier, 19, new String[]{ "Filters up to 9 different Items", "Use Screwdriver to regulate output stack size", - "Consumes 1EU per moved Item"}); + "Does not consume energy to move Item"}); } public GT_MetaTileEntity_Filter(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java index c941b73e58..d3b124b79f 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java @@ -27,7 +27,7 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer "Distributes Items between different Machine Sides", "Default Items per Machine Side: 0", "Use Screwdriver to increase/decrease Items per Side", - "Consumes 1EU per moved Item"}); + "Does not consume energy to move Item"}); } public GT_MetaTileEntity_ItemDistributor(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java index 3bc79f3348..c20df68b32 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java @@ -28,7 +28,7 @@ public class GT_MetaTileEntity_Regulator "Filters up to 9 different Items", "Allows Item-specific output stack size", "Allows Item-specific output slot", - "Consumes 1EU per moved Item"}); + "Does not consume energy to move Item"}); } public GT_MetaTileEntity_Regulator(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java index 4e5864c3e6..61f0b5cb29 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java @@ -29,7 +29,7 @@ public class GT_MetaTileEntity_TypeFilter extends GT_MetaTileEntity_Buffer { super(aID, aName, aNameRegional, aTier, 11, new String[]{ "Filters 1 Item Type", "Use Screwdriver to regulate output stack size", - "Consumes 1 EU per moved Item"}); + "Does not consume energy to move Item"}); } public GT_MetaTileEntity_TypeFilter(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { |