diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-04-30 20:16:24 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-04-30 20:16:24 +0800 |
| commit | a7e0b3e2bfbdefdd7eee4dc108e7e6e4fce5da33 (patch) | |
| tree | c27abf2db7b9c5a2b549ed0a57a9cee338d3e441 /src/main/java/me/shedaniel/rei/gui/widget | |
| parent | 0bcfca2b8366092141c8e86f9e9f37dea670f334 (diff) | |
| download | RoughlyEnoughItems-a7e0b3e2bfbdefdd7eee4dc108e7e6e4fce5da33.tar.gz RoughlyEnoughItems-a7e0b3e2bfbdefdd7eee4dc108e7e6e4fce5da33.tar.bz2 RoughlyEnoughItems-a7e0b3e2bfbdefdd7eee4dc108e7e6e4fce5da33.zip | |
Fixed #76
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java index 7b8e3b353..345342ef0 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java @@ -34,10 +34,10 @@ import java.util.stream.Collectors; public class ItemListOverlay extends Widget { private static List<Item> searchBlacklisted = Lists.newArrayList(); + private final List<ItemStack> currentDisplayed; private List<Widget> widgets; private int width, height, page; private Rectangle rectangle, listArea; - private List<ItemStack> currentDisplayed; public ItemListOverlay(int page) { this.currentDisplayed = Lists.newArrayList(); @@ -86,12 +86,15 @@ public class ItemListOverlay extends Widget { ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(I18n.translate("text.rei.delete_items"))); } - public void updateList(DisplayHelper.DisplayBoundsHandler boundsHandler, Rectangle rectangle, int page, String searchTerm) { + public void updateList(DisplayHelper.DisplayBoundsHandler boundsHandler, Rectangle rectangle, int page, String searchTerm, boolean processSearchTerm) { this.rectangle = rectangle; this.page = page; this.widgets = Lists.newLinkedList(); calculateListSize(rectangle); - currentDisplayed = processSearchTerm(searchTerm, RoughlyEnoughItemsCore.getItemRegisterer().getItemList(), ScreenHelper.inventoryStacks); + if (currentDisplayed.isEmpty() || processSearchTerm) { + currentDisplayed.clear(); + currentDisplayed.addAll(processSearchTerm(searchTerm, RoughlyEnoughItemsCore.getItemRegisterer().getItemList(), ScreenHelper.inventoryStacks)); + } int startX = (int) rectangle.getCenterX() - width * 9; int startY = (int) rectangle.getCenterY() - height * 9; this.listArea = new Rectangle((int) startX, (int) startY, width * 18, height * 18); @@ -182,7 +185,7 @@ public class ItemListOverlay extends Widget { } private List<ItemStack> processSearchTerm(String searchTerm, List<ItemStack> ol, List<ItemStack> inventoryItems) { - List<ItemStack> os = new LinkedList<>(ol), stacks = Lists.newArrayList(), finalStacks = Lists.newArrayList(); + List<ItemStack> os = Lists.newArrayList(ol), stacks = Lists.newArrayList(), finalStacks = Lists.newArrayList(); List<ItemGroup> itemGroups = Lists.newArrayList(ItemGroup.GROUPS); itemGroups.add(null); ItemListOrdering ordering = RoughlyEnoughItemsCore.getConfigManager().getConfig().itemListOrdering; |
