aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
index 034ee378e..720961de3 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
@@ -375,6 +375,7 @@ public class ViewsImpl implements Views {
InfoContext context = new InfoContext(display);
Iterable<SlotAccessor> inputSlots = info != null ? info.getInputSlots(context) : Collections.emptySet();
int slotsCraftable = 0;
+ boolean containsNonEmpty = false;
List<EntryIngredient> requiredInput = display.getRequiredEntries();
Long2LongMap invCount = new Long2LongOpenHashMap(CraftableFilter.INSTANCE.getInvStacks());
for (SlotAccessor inputSlot : inputSlots) {
@@ -405,12 +406,13 @@ public class ViewsImpl implements Views {
long availableAmount = invCount.get(hashFuzzy);
if (availableAmount >= stack.getCount()) {
invCount.put(hashFuzzy, availableAmount - stack.getCount());
+ containsNonEmpty = true;
slotsCraftable++;
break;
}
}
}
- if (slotsCraftable == display.getRequiredEntries().size()) {
+ if (slotsCraftable == display.getRequiredEntries().size() && containsNonEmpty) {
display.getOutputEntries().stream().flatMap(Collection::stream).collect(Collectors.toCollection(() -> craftables));
}
}