aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2019-12-28 11:13:09 +0800
committershedaniel <daniel@shedaniel.me>2019-12-28 11:13:09 +0800
commit66e3304df4c3bb2189e86ffe7730fef7181bd088 (patch)
tree260e108df623728cb45835f52555e654665ac950 /src/main/java/me/shedaniel/rei/gui
parenta39860d419842ed49427b3c8dd541b7ef7ea2ab3 (diff)
downloadRoughlyEnoughItems-66e3304df4c3bb2189e86ffe7730fef7181bd088.tar.gz
RoughlyEnoughItems-66e3304df4c3bb2189e86ffe7730fef7181bd088.tar.bz2
RoughlyEnoughItems-66e3304df4c3bb2189e86ffe7730fef7181bd088.zip
More improvements to the entrylist
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java14
1 files changed, 9 insertions, 5 deletions
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<EntryStack> list = Lists.newLinkedList();
boolean checkCraftable = ConfigManager.getInstance().isCraftableOnlyEnabled() && !ScreenHelper.inventoryStacks.isEmpty();
List<EntryStack> 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<EntryStack> 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();