aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-06-17 16:08:10 +0200
committerGitHub <noreply@github.com>2021-06-17 16:08:10 +0200
commit833478c897e6bdc4bd43a89d0e57da2a6b80ed61 (patch)
tree78e544e6c8fd6fc3ee52cc4c5942db5ac2313a9b /src/main/java
parentb0caaa39e46d63bc24e7e0ca095030d1387346a9 (diff)
parent693fb95cc15cce05ed84a9b1c56e28711284f121 (diff)
downloadGT5-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')
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java17
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java2
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) {