aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-07-01 00:21:46 +0800
committershedaniel <daniel@shedaniel.me>2021-07-01 00:21:46 +0800
commit6759288abce48d6cf38c48bc28dd84648f43ed85 (patch)
treecdfe63482661817ca3fca7330df02fa6ba1f32d8 /runtime/src/main/java
parent5d8cca18abfb2538404b07a886edb854c9279952 (diff)
parent828247bd6266556bbdd3c1ba41a2d0909c9f68b8 (diff)
downloadRoughlyEnoughItems-6759288abce48d6cf38c48bc28dd84648f43ed85.tar.gz
RoughlyEnoughItems-6759288abce48d6cf38c48bc28dd84648f43ed85.tar.bz2
RoughlyEnoughItems-6759288abce48d6cf38c48bc28dd84648f43ed85.zip
Merge remote-tracking branch 'shedaniel/6.x-1.17' into 6.x
Diffstat (limited to 'runtime/src/main/java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/craftable/CraftableFilter.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java6
5 files changed, 17 insertions, 8 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
index 99a930072..0e3b6e080 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
@@ -236,7 +236,7 @@ public class ClientHelperImpl implements ClientHelper {
return Minecraft.getInstance().player.inventory.compartments.stream()
.flatMap(Collection::stream)
.map(EntryStacks::of)
- .mapToLong(EntryStacks::hashExact)
+ .mapToLong(EntryStacks::hashFuzzy)
.collect(LongOpenHashSet::new, LongOpenHashSet::add, LongOpenHashSet::addAll);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/craftable/CraftableFilter.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/craftable/CraftableFilter.java
index 7e4e90178..0bd0765d8 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/craftable/CraftableFilter.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/craftable/CraftableFilter.java
@@ -67,11 +67,11 @@ public class CraftableFilter {
}
public boolean matches(EntryStack<?> stack, Iterable<SlotAccessor> inputSlots) {
- if (invStacks.contains(EntryStacks.hashExact(stack))) return true;
+ if (invStacks.contains(EntryStacks.hashFuzzy(stack))) return true;
if (stack.getType() != VanillaEntryTypes.ITEM) return false;
for (SlotAccessor slot : inputSlots) {
EntryStack<?> itemStack = EntryStacks.of(slot.getItemStack());
- if (!itemStack.isEmpty() && EntryStacks.equalsExact(itemStack, stack)) {
+ if (!itemStack.isEmpty() && EntryStacks.equalsFuzzy(itemStack, stack)) {
return true;
}
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
index 12ba2ab3d..a75e75698 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
@@ -89,7 +89,7 @@ public class ViewsImpl implements Views {
for (List<? extends EntryStack<?>> results : display.getOutputEntries()) {
for (EntryStack<?> otherEntry : results) {
for (EntryStack<?> stack : recipesFor) {
- if (EntryStacks.equalsExact(otherEntry, stack)) {
+ if (EntryStacks.equalsFuzzy(otherEntry, stack)) {
set.add(display);
break back;
}
@@ -102,7 +102,7 @@ public class ViewsImpl implements Views {
for (List<? extends EntryStack<?>> input : display.getInputEntries()) {
for (EntryStack<?> otherEntry : input) {
for (EntryStack<?> stack : usagesFor) {
- if (EntryStacks.equalsExact(otherEntry, stack)) {
+ if (EntryStacks.equalsFuzzy(otherEntry, stack)) {
set.add(display);
break back;
}
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 a36d386e6..07c0e618c 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
@@ -218,4 +218,13 @@ public class EntryRegistryImpl implements EntryRegistry {
return entries.removeIf(stack -> predicate.test(EntryStacks.hashExact(stack)));
}
}
+
+ @Override
+ public boolean removeEntryFuzzyHashIf(LongPredicate predicate) {
+ if (reloading) {
+ return reloadingRegistry.removeIf(wrapper -> predicate.test(EntryStacks.hashFuzzy(wrapper.unwrap())));
+ } else {
+ return entries.removeIf(stack -> predicate.test(EntryStacks.hashFuzzy(stack)));
+ }
+ }
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
index d61f09ddd..ae8ea8f6d 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
@@ -193,11 +193,11 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
private static class EntryStackFavoriteEntry extends FavoriteEntry {
private static final Function<EntryStack<?>, String> CANCEL_FLUID_AMOUNT = s -> null;
private final EntryStack<?> stack;
- private final long hashIgnoreAmount;
+ private final long hash;
public EntryStackFavoriteEntry(EntryStack<?> stack) {
this.stack = stack.normalize();
- this.hashIgnoreAmount = EntryStacks.hashExact(this.stack);
+ this.hash = EntryStacks.hashExact(this.stack);
}
@Override
@@ -231,7 +231,7 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
@Override
public long hashIgnoreAmount() {
- return hashIgnoreAmount;
+ return hash;
}
@Override