aboutsummaryrefslogtreecommitdiff
path: root/api/src/main/java/me/shedaniel
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2023-05-31 23:18:02 +0800
committershedaniel <daniel@shedaniel.me>2023-06-01 16:55:08 +0800
commit15ff1dcfe181d3469b5a1d28986cf965f0e95df4 (patch)
treece5801c45facc01b5245bce7b3f519c39e4c9312 /api/src/main/java/me/shedaniel
parentc14a1cc216730037319f2a18370fd29b1993fe71 (diff)
downloadRoughlyEnoughItems-15ff1dcfe181d3469b5a1d28986cf965f0e95df4.tar.gz
RoughlyEnoughItems-15ff1dcfe181d3469b5a1d28986cf965f0e95df4.tar.bz2
RoughlyEnoughItems-15ff1dcfe181d3469b5a1d28986cf965f0e95df4.zip
Fix #1396 and fix #998
Diffstat (limited to 'api/src/main/java/me/shedaniel')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java25
2 files changed, 24 insertions, 4 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java b/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java
index 45d66c860..02afcd7f4 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java
@@ -272,6 +272,9 @@ public interface ConfigObject {
boolean doesCacheEntryRendering();
+ @ApiStatus.Experimental
+ boolean doesCacheDisplayLookup();
+
boolean doDebugRenderTimeRequired();
boolean doMergeDisplayUnderOne();
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java b/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java
index eb0449f48..bd8376e53 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java
@@ -23,12 +23,10 @@
package me.shedaniel.rei.api.common.util;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import com.google.common.collect.UnmodifiableIterator;
+import com.google.common.collect.*;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.ints.IntList;
+import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet;
import me.shedaniel.rei.api.common.entry.EntryStack;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
@@ -550,4 +548,23 @@ public class CollectionUtils {
return size;
}
}
+
+ public static <T> Iterable<T> distinctReferenceOf(Iterable<T> iterable) {
+ return () -> new AbstractIterator<T>() {
+ private final Set<T> set = new ReferenceOpenHashSet<>();
+ private final Iterator<T> iterator = iterable.iterator();
+
+ @Override
+ protected T computeNext() {
+ while (iterator.hasNext()) {
+ T next = iterator.next();
+ if (set.add(next)) {
+ return next;
+ }
+ }
+
+ return endOfData();
+ }
+ };
+ }
}