diff options
Diffstat (limited to 'runtime')
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java | 4 |
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 ee348b71b..80b453d50 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 @@ -379,6 +379,7 @@ public class ViewsImpl implements Views { Iterable<SlotAccessor> inputSlots = info != null ? info.getInputSlots(context.withDisplay(display)) : Collections.emptySet(); int slotsCraftable = 0; + boolean containsNonEmpty = false; List<EntryIngredient> requiredInput = display.getRequiredEntries(); Long2LongMap invCount = new Long2LongOpenHashMap(CraftableFilter.INSTANCE.getInvStacks()); for (SlotAccessor inputSlot : inputSlots) { @@ -409,12 +410,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)); } } |
