From ef23b11140085651287ce35deca87723daf34e78 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 27 Jan 2022 13:08:31 +0800 Subject: Fix #738 --- .../shedaniel/rei/impl/client/view/ViewsImpl.java | 27 ++++------------------ 1 file changed, 5 insertions(+), 22 deletions(-) (limited to 'runtime/src/main/java/me/shedaniel') 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 fcfc17807..c07a29072 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 @@ -24,7 +24,6 @@ package me.shedaniel.rei.impl.client.view; import com.google.common.base.Stopwatch; -import com.google.common.collect.AbstractIterator; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -107,13 +106,13 @@ public class ViewsImpl implements Views { if (!recipesForStacks.isEmpty()) { if (isRecipesFor(recipesForStacks, display)) { set.add(display); - break; + continue; } } if (!usagesForStacks.isEmpty()) { if (isUsagesFor(usagesForStacks, display)) { set.add(display); - break; + continue; } } } @@ -243,7 +242,7 @@ public class ViewsImpl implements Views { } private static boolean checkUsages(List> stacks, Display display, List entries) { - for (List> results : entries) { + for (EntryIngredient results : entries) { for (EntryStack otherEntry : results) { for (EntryStack recipesFor : stacks) { if (EntryStacks.equalsFuzzy(otherEntry, recipesFor)) { @@ -270,24 +269,8 @@ public class ViewsImpl implements Views { } } - return Iterables.concat(successfulDisplays, applicableDisplays, () -> new AbstractIterator() { - Iterator iterator = displays.iterator(); - - @Override - protected Display computeNext() { - while (iterator.hasNext()) { - Display next = iterator.next(); - - if (successfulDisplays.contains(next) || applicableDisplays.contains(next)) { - continue; - } - - return next; - } - - return endOfData(); - } - }); + return Iterables.concat(successfulDisplays, applicableDisplays, + Iterables.filter(displays, display -> !successfulDisplays.contains(display) && !applicableDisplays.contains(display))); } private static void generateLiveDisplays(DisplayRegistry displayRegistry, DynamicDisplayGenerator generator, ViewSearchBuilder builder, Consumer displayConsumer) { -- cgit