diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-08-06 09:14:27 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-08-06 09:14:27 +0800 |
| commit | 49ae61c2165eb478f7a56e387115344c9aac0578 (patch) | |
| tree | da0060ed72f1bf227bfb1aa1b37a2d6c44ced42a /src/main/java | |
| parent | e0693920a12aab76328f8ee88edbcaf4fa835024 (diff) | |
| download | RoughlyEnoughItems-49ae61c2165eb478f7a56e387115344c9aac0578.tar.gz RoughlyEnoughItems-49ae61c2165eb478f7a56e387115344c9aac0578.tar.bz2 RoughlyEnoughItems-49ae61c2165eb478f7a56e387115344c9aac0578.zip | |
3x Faster Method in calculating same content list
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java | 11 |
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) { |
