aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-04-30 20:16:24 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-04-30 20:16:24 +0800
commita7e0b3e2bfbdefdd7eee4dc108e7e6e4fce5da33 (patch)
treec27abf2db7b9c5a2b549ed0a57a9cee338d3e441 /src/main/java/me/shedaniel/rei/gui/widget
parent0bcfca2b8366092141c8e86f9e9f37dea670f334 (diff)
downloadRoughlyEnoughItems-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.java11
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;