aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java14
1 files changed, 3 insertions, 11 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
index 148eba7b4..c42ac3341 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
@@ -40,10 +40,10 @@ import me.shedaniel.rei.api.client.util.SpriteRenderer;
import me.shedaniel.rei.api.common.entry.EntrySerializer;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.comparison.ComparisonContext;
+import me.shedaniel.rei.api.common.entry.comparison.FluidComparatorRegistry;
import me.shedaniel.rei.api.common.entry.type.EntryDefinition;
import me.shedaniel.rei.api.common.entry.type.EntryType;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
-import me.shedaniel.rei.api.common.util.EntryStacks;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.ChatFormatting;
@@ -62,7 +62,6 @@ import net.minecraft.tags.TagCollection;
import net.minecraft.tags.TagContainer;
import net.minecraft.util.Mth;
import net.minecraft.world.inventory.InventoryMenu;
-import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.material.FlowingFluid;
import net.minecraft.world.level.material.Fluid;
import org.jetbrains.annotations.Nullable;
@@ -70,7 +69,6 @@ import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -128,7 +126,7 @@ public class FluidEntryDefinition implements EntryDefinition<FluidStack>, EntryS
public long hash(EntryStack<FluidStack> entry, FluidStack value, ComparisonContext context) {
int code = 1;
code = 31 * code + value.getFluid().hashCode();
- code = 31 * code + (context.isFuzzy() || !value.hasTag() ? 0 : value.getTag().hashCode());
+ code = 31 * code + Long.hashCode(FluidComparatorRegistry.getInstance().hashOf(context, value));
return code;
}
@@ -136,13 +134,7 @@ public class FluidEntryDefinition implements EntryDefinition<FluidStack>, EntryS
public boolean equals(FluidStack o1, FluidStack o2, ComparisonContext context) {
if (o1.getFluid() != o2.getFluid())
return false;
- return context.isFuzzy() || isTagEqual(o1, o2);
- }
-
- private boolean isTagEqual(FluidStack o1, FluidStack o2) {
- CompoundTag tag1 = o1.getTag();
- CompoundTag tag2 = o2.getTag();
- return Objects.equals(tag1, tag2);
+ return FluidComparatorRegistry.getInstance().hashOf(context, o1) == FluidComparatorRegistry.getInstance().hashOf(context, o2);
}
@Override