aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-08-06 09:14:27 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-08-06 09:14:27 +0800
commit49ae61c2165eb478f7a56e387115344c9aac0578 (patch)
treeda0060ed72f1bf227bfb1aa1b37a2d6c44ced42a /src/main/java/me
parente0693920a12aab76328f8ee88edbcaf4fa835024 (diff)
downloadRoughlyEnoughItems-49ae61c2165eb478f7a56e387115344c9aac0578.tar.gz
RoughlyEnoughItems-49ae61c2165eb478f7a56e387115344c9aac0578.tar.bz2
RoughlyEnoughItems-49ae61c2165eb478f7a56e387115344c9aac0578.zip
3x Faster Method in calculating same content list
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index 33daab37d..edc1dbbc6 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -355,8 +355,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
shouldReInit = true;
if (shouldReInit)
init(true);
- else if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && (!hasSameListContent(new LinkedList<>(ScreenHelper.inventoryStacks), currentStacks) || (currentStacks.size() != ScreenHelper.inventoryStacks.size()))) {
- ScreenHelper.inventoryStacks = ClientHelper.getInstance().getInventoryItemsTypes();
+ else if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && ((currentStacks.size() != ScreenHelper.inventoryStacks.size()) || !hasSameListContent(new LinkedList<>(ScreenHelper.inventoryStacks), currentStacks))) {
+ ScreenHelper.inventoryStacks = currentStacks;
DisplayHelper.DisplayBoundsHandler<?> boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
@@ -440,10 +440,9 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
}
private boolean hasSameListContent(List<ItemStack> list1, List<ItemStack> list2) {
- list1.sort((itemStack, t1) -> ItemListOverlay.tryGetItemStackName(itemStack).compareToIgnoreCase(ItemListOverlay.tryGetItemStackName(t1)));
- list2.sort((itemStack, t1) -> ItemListOverlay.tryGetItemStackName(itemStack).compareToIgnoreCase(ItemListOverlay.tryGetItemStackName(t1)));
-
- return list1.stream().map(ItemListOverlay::tryGetItemStackName).collect(Collectors.joining("")).equals(list2.stream().map(ItemListOverlay::tryGetItemStackName).collect(Collectors.joining("")));
+ list1.sort(Comparator.comparing(Object::toString));
+ list2.sort(Comparator.comparing(Object::toString));
+ return list1.stream().map(Objects::toString).collect(Collectors.joining("")).equals(list2.stream().map(Objects::toString).collect(Collectors.joining("")));
}
public void addTooltip(QueuedTooltip queuedTooltip) {