aboutsummaryrefslogtreecommitdiff
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
parenta2309c47c447d217346147af5823e991feaf9dcd (diff)
downloadRoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.tar.gz
RoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.tar.bz2
RoughlyEnoughItems-e35aa217aa3bbba5653201186add39de871fae07.zip
Fix #787
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java2
-rw-r--r--forge/build.gradle1
-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
4 files changed, 7 insertions, 6 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java
index 8c4c9e4b3..6ff3af865 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java
@@ -153,7 +153,7 @@ public interface EntryRegistry extends Reloadable<REIClientPlugin> {
// TODO Re-evaluate the need for this
@ApiStatus.Internal
- Collection<EntryStack<?>> refilterNew(Collection<EntryStack<?>> entries);
+ Collection<EntryStack<?>> refilterNew(boolean warn, Collection<EntryStack<?>> entries);
/**
* Checks if a stack is already registered.
diff --git a/forge/build.gradle b/forge/build.gradle
index 45bcac64a..637be2c04 100644
--- a/forge/build.gradle
+++ b/forge/build.gradle
@@ -131,6 +131,7 @@ dependencies {
modRuntime("curse.maven:elemental-craft-395158:3593428")
modRuntime("curse.maven:datapack-anvil-432817:3569515")
modRuntime("curse.maven:assemblylinemachines-388282:3623609")
+ modRuntime("curse.maven:mystical-agriculture-246640:3645812")
}
shadowJar {
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!");
}