From e35aa217aa3bbba5653201186add39de871fae07 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 27 Feb 2022 19:06:59 +0800 Subject: Fix #787 --- .../rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java | 2 +- .../shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'runtime/src/main/java/me/shedaniel') diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java index e0c9206e4..78854bfa9 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java @@ -173,7 +173,7 @@ public abstract class AbstractDisplayViewingScreen extends Screen implements Dis protected void transformFiltering(List setupDisplay) { for (EntryWidget widget : Widgets.walk(setupDisplay, EntryWidget.class::isInstance)) { if (widget.getEntries().size() > 1) { - Collection> refiltered = EntryRegistry.getInstance().refilterNew(widget.getEntries()); + Collection> refiltered = EntryRegistry.getInstance().refilterNew(false, widget.getEntries()); if (!refiltered.isEmpty()) { widget.clearStacks(); widget.entries(refiltered); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java index 247de3c47..ac523d3d5 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java @@ -197,7 +197,7 @@ public class EntryRegistryImpl implements EntryRegistry { int index = entries.lastIndexOf(afterEntry); entries.add(index, stack); } else entries.add(stack); - preFilteredList.addAll(refilterNew(Collections.singletonList(stack))); + preFilteredList.addAll(refilterNew(true, Collections.singletonList(stack))); queueSearchUpdate(); } } @@ -216,7 +216,7 @@ public class EntryRegistryImpl implements EntryRegistry { int index = entries.lastIndexOf(afterEntry); entries.addAll(index, filtered); } else entries.addAll(filtered); - preFilteredList.addAll(refilterNew(filtered)); + preFilteredList.addAll(refilterNew(true, filtered)); queueSearchUpdate(); } } @@ -231,8 +231,8 @@ public class EntryRegistryImpl implements EntryRegistry { @ApiStatus.Internal @Override - public Collection> refilterNew(Collection> entries) { - if (lastRefilterWarning != null) { + public Collection> refilterNew(boolean warn, Collection> entries) { + if (lastRefilterWarning != null && warn) { if (lastRefilterWarning.getValue() > 0 && System.currentTimeMillis() - lastRefilterWarning.getValue() > 5000) { RoughlyEnoughItemsCore.LOGGER.warn("Detected runtime EntryRegistry modification, this can be extremely dangerous, or be extremely inefficient!"); } -- cgit