aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java')
-rw-r--r--src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java b/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
index bf74df9154..4451e3f401 100644
--- a/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
+++ b/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
@@ -208,7 +208,7 @@ public abstract class KubaTechGTMultiBlockBase<T extends GT_MetaTileEntity_Exten
return tryOutputAll(list, l -> Collections.singletonList((ItemStack) l));
}
- protected boolean tryOutputAll(List<?> list, Function<Object, List<ItemStack>> mappingFunction) {
+ protected <Y> boolean tryOutputAll(List<Y> list, Function<Y, List<ItemStack>> mappingFunction) {
if (list == null || list.isEmpty() || mappingFunction == null) return false;
int emptySlots = 0;
boolean ignoreEmptiness = false;
@@ -224,6 +224,10 @@ public abstract class KubaTechGTMultiBlockBase<T extends GT_MetaTileEntity_Exten
boolean wasSomethingRemoved = false;
while (!list.isEmpty()) {
List<ItemStack> toOutputNow = mappingFunction.apply(list.get(0));
+ if (toOutputNow == null) {
+ list.remove(0);
+ continue;
+ }
if (!ignoreEmptiness && emptySlots < toOutputNow.size()) break;
emptySlots -= toOutputNow.size();
list.remove(0);