From 61f30d7ad5ffa44c3de9d53ef6f76d44ec3b0919 Mon Sep 17 00:00:00 2001 From: bdemmy13 Date: Wed, 23 Oct 2024 09:42:32 -0400 Subject: [PATCH] PR Review changes --- .../gtceu/api/cover/filter/TagFilter.java | 6 ++--- .../api/cover/filter/TagFluidFilter.java | 6 ++--- .../gtceu/api/cover/filter/TagItemFilter.java | 6 ++--- ...DictExprFilter.java => TagExprFilter.java} | 27 ++++++++++--------- 4 files changed, 23 insertions(+), 22 deletions(-) rename src/main/java/com/gregtechceu/gtceu/utils/{OreDictExprFilter.java => TagExprFilter.java} (89%) diff --git a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFilter.java b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFilter.java index 0e408ea15b..e7120ae291 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFilter.java +++ b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFilter.java @@ -2,7 +2,7 @@ import com.gregtechceu.gtceu.api.gui.GuiTextures; import com.gregtechceu.gtceu.data.lang.LangHandler; -import com.gregtechceu.gtceu.utils.OreDictExprFilter; +import com.gregtechceu.gtceu.utils.TagExprFilter; import com.lowdragmc.lowdraglib.gui.widget.ImageWidget; import com.lowdragmc.lowdraglib.gui.widget.TextFieldWidget; @@ -36,7 +36,7 @@ public abstract class TagFilter> implements Filter itemWriter = filter -> {}; protected Consumer onUpdated = filter -> itemWriter.accept(filter); - protected OreDictExprFilter.OreDictExprParser.MatchExpr matchExpr = null; + protected TagExprFilter.TagExprParser.MatchExpr matchExpr = null; protected TagFilter() {} @@ -48,7 +48,7 @@ public CompoundTag saveFilter() { public void setOreDict(String oreDict) { this.oreDictFilterExpression = oreDict; - matchExpr = OreDictExprFilter.parseExpression(oreDictFilterExpression); + matchExpr = TagExprFilter.parseExpression(oreDictFilterExpression); onUpdated.accept((S) this); } diff --git a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFluidFilter.java b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFluidFilter.java index 4a3fa43d85..fc6092d38e 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFluidFilter.java +++ b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagFluidFilter.java @@ -1,6 +1,6 @@ package com.gregtechceu.gtceu.api.cover.filter; -import com.gregtechceu.gtceu.utils.OreDictExprFilter; +import com.gregtechceu.gtceu.utils.TagExprFilter; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.ItemStack; @@ -33,7 +33,7 @@ private static TagFluidFilter loadFilter(CompoundTag tag, Consumer handler.oreDictFilterExpression = tag.getString("oreDict"); handler.matchExpr = null; handler.cache.clear(); - handler.matchExpr = OreDictExprFilter.parseExpression(handler.oreDictFilterExpression); + handler.matchExpr = TagExprFilter.parseExpression(handler.oreDictFilterExpression); return handler; } @@ -46,7 +46,7 @@ public void setOreDict(String oreDict) { public boolean test(FluidStack fluidStack) { if (oreDictFilterExpression.isEmpty()) return true; if (cache.containsKey(fluidStack.getFluid())) return cache.getOrDefault(fluidStack.getFluid(), false); - if (OreDictExprFilter.matchesOreDict(matchExpr, fluidStack)) { + if (TagExprFilter.tagsMatch(matchExpr, fluidStack)) { cache.put(fluidStack.getFluid(), true); return true; } diff --git a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagItemFilter.java b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagItemFilter.java index b026942377..4d88ca8e30 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagItemFilter.java +++ b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/TagItemFilter.java @@ -1,6 +1,6 @@ package com.gregtechceu.gtceu.api.cover.filter; -import com.gregtechceu.gtceu.utils.OreDictExprFilter; +import com.gregtechceu.gtceu.utils.TagExprFilter; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.Item; @@ -32,7 +32,7 @@ private static TagItemFilter loadFilter(CompoundTag tag, Consumer it handler.oreDictFilterExpression = tag.getString("oreDict"); handler.matchExpr = null; handler.cache.clear(); - handler.matchExpr = OreDictExprFilter.parseExpression(handler.oreDictFilterExpression); + handler.matchExpr = TagExprFilter.parseExpression(handler.oreDictFilterExpression); return handler; } @@ -45,7 +45,7 @@ public void setOreDict(String oreDict) { public boolean test(ItemStack itemStack) { if (oreDictFilterExpression.isEmpty()) return true; if (cache.containsKey(itemStack.getItem())) return cache.getOrDefault(itemStack.getItem(), false); - if (OreDictExprFilter.matchesOreDict(matchExpr, itemStack)) { + if (TagExprFilter.tagsMatch(matchExpr, itemStack)) { cache.put(itemStack.getItem(), true); return true; } diff --git a/src/main/java/com/gregtechceu/gtceu/utils/OreDictExprFilter.java b/src/main/java/com/gregtechceu/gtceu/utils/TagExprFilter.java similarity index 89% rename from src/main/java/com/gregtechceu/gtceu/utils/OreDictExprFilter.java rename to src/main/java/com/gregtechceu/gtceu/utils/TagExprFilter.java index 9080730c9e..e485dd03d2 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/OreDictExprFilter.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/TagExprFilter.java @@ -1,5 +1,6 @@ package com.gregtechceu.gtceu.utils; +import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.ItemStack; import net.minecraftforge.fluids.FluidStack; @@ -13,9 +14,9 @@ /** * @author brachy84 */ -public class OreDictExprFilter { +public class TagExprFilter { - public static class OreDictExprParser { + public static class TagExprParser { public enum TokenType { LParen, @@ -42,12 +43,12 @@ public Token(TokenType type, String lexeme) { } } - abstract static public class MatchExpr { + public static abstract class MatchExpr { public abstract boolean matches(Set input); } - static class BinExpr extends MatchExpr { + private static class BinExpr extends MatchExpr { MatchExpr left, right; Token op; @@ -70,7 +71,7 @@ public boolean matches(Set input) { } } - static class UnaryExpr extends MatchExpr { + private static class UnaryExpr extends MatchExpr { Token token; MatchExpr expr; @@ -90,7 +91,7 @@ public boolean matches(Set input) { } } - static class StringExpr extends MatchExpr { + private static class StringExpr extends MatchExpr { String value; @@ -122,7 +123,7 @@ private String quote(String str) { } } - static class GroupingExpr extends MatchExpr { + private static class GroupingExpr extends MatchExpr { MatchExpr inner; @@ -262,8 +263,8 @@ private List tokenize(String expr) { * @param expression expr to parse * @return The parsed expression tree */ - public static OreDictExprParser.MatchExpr parseExpression(String expression) { - return new OreDictExprParser().parse(expression); + public static TagExprParser.MatchExpr parseExpression(String expression) { + return new TagExprParser().parse(expression); } /** @@ -273,9 +274,9 @@ public static OreDictExprParser.MatchExpr parseExpression(String expression) { * @param stack item to check * @return if any of the items oreDicts matches the rules */ - public static boolean matchesOreDict(OreDictExprParser.MatchExpr expr, ItemStack stack) { + public static boolean tagsMatch(TagExprParser.MatchExpr expr, ItemStack stack) { Set oreDicts = stack.getTags().map(TagKey::location) - .map(rl -> rl.getNamespace() + ":" + rl.getPath()).collect(Collectors.toSet()); + .map(ResourceLocation::toString).collect(Collectors.toSet()); if (oreDicts.isEmpty() || expr == null) { return false; @@ -284,9 +285,9 @@ public static boolean matchesOreDict(OreDictExprParser.MatchExpr expr, ItemStack return expr.matches(oreDicts); } - public static boolean matchesOreDict(OreDictExprParser.MatchExpr expr, FluidStack stack) { + public static boolean tagsMatch(TagExprParser.MatchExpr expr, FluidStack stack) { Set oreDicts = stack.getFluid().defaultFluidState().getTags().map(TagKey::location) - .map(rl -> rl.getNamespace() + ":" + rl.getPath()).collect(Collectors.toSet()); + .map(ResourceLocation::toString).collect(Collectors.toSet()); if (oreDicts.isEmpty() || expr == null) { return false;