diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/CommonConditions.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/CommonConditions.java index 05ddbf39b..1283a89da 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/CommonConditions.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/CommonConditions.java @@ -30,18 +30,4 @@ public final class CommonConditions { public static final Key EXPRESSION = Key.from("craftengine:expression"); public static final Key IS_NULL = Key.from("craftengine:is_null"); public static final Key HAND = Key.from("craftengine:hand"); - - public static boolean matchObject(Key key, boolean regexMatch, Set ids) { - String id = key.toString(); - if (regexMatch) { - for (String regex : ids) { - if (id.matches(regex)) { - return true; - } - } - } else { - return ids.contains(id); - } - return false; - } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchBlockTypeCondition.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchBlockTypeCondition.java index be8e8036e..b8d825437 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchBlockTypeCondition.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchBlockTypeCondition.java @@ -32,7 +32,7 @@ public class MatchBlockTypeCondition implements Condition customBlock = ctx.getOptionalParameter(DirectContextParameters.CUSTOM_BLOCK_STATE); Key key = customBlock.isPresent() ? customBlock.get().owner().value().id() : block.get().type(); - return CommonConditions.matchObject(key, this.regexMatch, this.ids); + return MiscUtils.matchObject(key, this.regexMatch, this.ids); } public static class FactoryImpl implements ConditionFactory { diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchEntityTypeCondition.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchEntityTypeCondition.java index 708bb4b41..5f51872ab 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchEntityTypeCondition.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchEntityTypeCondition.java @@ -30,7 +30,7 @@ Optional entity = ctx.getOptionalParameter(DirectContextParameters.ENTITY); if (entity.isEmpty()) return false; Key key = entity.get().type(); - return CommonConditions.matchObject(key, this.regexMatch, this.ids); + return MiscUtils.matchObject(key, this.regexMatch, this.ids); } public static class FactoryImpl implements ConditionFactory { diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchItemCondition.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchItemCondition.java index 41b14231a..4ba82709f 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchItemCondition.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/condition/MatchItemCondition.java @@ -30,7 +30,7 @@ public class MatchItemCondition implements Condition { Optional> item = ctx.getOptionalParameter(DirectContextParameters.ITEM_IN_HAND); if (item.isEmpty()) return false; Key key = item.get().id(); - return CommonConditions.matchObject(key, this.regexMatch, this.ids); + return MiscUtils.matchObject(key, this.regexMatch, this.ids); } public static class FactoryImpl implements ConditionFactory { diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java b/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java index 54195dff8..77853bb18 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java @@ -4,10 +4,7 @@ import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigExce import org.joml.Quaternionf; import org.joml.Vector3f; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; public class MiscUtils { @@ -153,4 +150,18 @@ public class MiscUtils { return o; } } + + public static boolean matchObject(Key key, boolean regexMatch, Set ids) { + String id = key.toString(); + if (regexMatch) { + for (String regex : ids) { + if (id.matches(regex)) { + return true; + } + } + } else { + return ids.contains(id); + } + return false; + } }