diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-02-27 19:06:59 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-02-27 19:06:59 +0800 |
| commit | e35aa217aa3bbba5653201186add39de871fae07 (patch) | |
| tree | 4d5387d010f69dc7ffed27da525526943ec172e2 /runtime | |
| parent | a2309c47c447d217346147af5823e991feaf9dcd (diff) | |
| download | RoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.tar.gz RoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.tar.bz2 RoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.zip | |
Fix #787
Diffstat (limited to 'runtime')
2 files changed, 5 insertions, 5 deletions
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<? extends GuiEventListener> setupDisplay) { for (EntryWidget widget : Widgets.<EntryWidget>walk(setupDisplay, EntryWidget.class::isInstance)) { if (widget.getEntries().size() > 1) { - Collection<EntryStack<?>> refiltered = EntryRegistry.getInstance().refilterNew(widget.getEntries()); + Collection<EntryStack<?>> 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<EntryStack<?>> refilterNew(Collection<EntryStack<?>> entries) { - if (lastRefilterWarning != null) { + public Collection<EntryStack<?>> refilterNew(boolean warn, Collection<EntryStack<?>> 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!"); } |
