From 66e3304df4c3bb2189e86ffe7730fef7181bd088 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 28 Dec 2019 11:13:09 +0800 Subject: More improvements to the entrylist --- .../java/me/shedaniel/rei/gui/widget/EntryListWidget.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/gui/widget') diff --git a/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java index f57523010..cb9614a75 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java @@ -41,6 +41,7 @@ import org.apache.commons.lang3.StringUtils; import javax.annotation.Nullable; import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Supplier; import java.util.stream.Collectors; @@ -535,11 +536,14 @@ public class EntryListWidget extends WidgetWithBounds { List list = Lists.newLinkedList(); boolean checkCraftable = ConfigManager.getInstance().isCraftableOnlyEnabled() && !ScreenHelper.inventoryStacks.isEmpty(); List workingItems = checkCraftable ? RecipeHelper.getInstance().findCraftableEntriesByItems(CollectionUtils.map(ScreenHelper.inventoryStacks, EntryStack::create)) : null; - for (EntryStack stack : EntryRegistry.getInstance().getStacksList()) { - if (canLastSearchTermsBeAppliedTo(stack)) { - if (workingItems != null && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null) - continue; - list.add(stack.copy().setting(EntryStack.Settings.RENDER_COUNTS, EntryStack.Settings.FALSE).setting(EntryStack.Settings.Item.RENDER_ENCHANTMENT_GLINT, RENDER_ENCHANTMENT_GLINT)); + List stacks = EntryRegistry.getInstance().getStacksList(); + if (stacks instanceof CopyOnWriteArrayList) { + for (EntryStack stack : stacks) { + if (canLastSearchTermsBeAppliedTo(stack)) { + if (workingItems != null && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null) + continue; + list.add(stack.copy().setting(EntryStack.Settings.RENDER_COUNTS, EntryStack.Settings.FALSE).setting(EntryStack.Settings.Item.RENDER_ENCHANTMENT_GLINT, RENDER_ENCHANTMENT_GLINT)); + } } } ItemListOrdering ordering = ConfigObject.getInstance().getItemListOrdering(); -- cgit