aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-02-27 19:06:59 +0800
committershedaniel <daniel@shedaniel.me>2022-02-27 19:06:59 +0800
commite35aa217aa3bbba5653201186add39de871fae07 (patch)
tree4d5387d010f69dc7ffed27da525526943ec172e2 /runtime
parenta2309c47c447d217346147af5823e991feaf9dcd (diff)
downloadRoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.tar.gz
RoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.tar.bz2
RoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.zip
Fix #787
Diffstat (limited to 'runtime')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java8
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!");
}