9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2026-01-04 15:41:38 +00:00

修正MatchBlockTypeCondition;清除MatchEntityTypeCondition多余的缩进

This commit is contained in:
halogly
2025-08-23 21:34:28 +08:00
parent 42f890a6bf
commit e4f4324a31
2 changed files with 38 additions and 38 deletions

View File

@@ -22,7 +22,7 @@ public class MatchBlockTypeCondition<CTX extends Context> implements Condition<C
@Override @Override
public Key type() { public Key type() {
return CommonConditions.MATCH_ENTITY_TYPE; return CommonConditions.MATCH_BLOCK_TYPE;
} }
@Override @Override

View File

@@ -1,46 +1,46 @@
package net.momirealms.craftengine.core.plugin.context.condition; package net.momirealms.craftengine.core.plugin.context.condition;
import net.momirealms.craftengine.core.entity.Entity; import net.momirealms.craftengine.core.entity.Entity;
import net.momirealms.craftengine.core.plugin.context.Condition; import net.momirealms.craftengine.core.plugin.context.Condition;
import net.momirealms.craftengine.core.plugin.context.Context; import net.momirealms.craftengine.core.plugin.context.Context;
import net.momirealms.craftengine.core.plugin.context.parameter.DirectContextParameters; import net.momirealms.craftengine.core.plugin.context.parameter.DirectContextParameters;
import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException; import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException;
import net.momirealms.craftengine.core.util.Key; import net.momirealms.craftengine.core.util.Key;
import net.momirealms.craftengine.core.util.MiscUtils; import net.momirealms.craftengine.core.util.MiscUtils;
import net.momirealms.craftengine.core.util.ResourceConfigUtils; import net.momirealms.craftengine.core.util.ResourceConfigUtils;
import java.util.*; import java.util.*;
public class MatchEntityTypeCondition<CTX extends Context> implements Condition<CTX> { public class MatchEntityTypeCondition<CTX extends Context> implements Condition<CTX> {
private final Set<String> ids; private final Set<String> ids;
private final boolean regexMatch; private final boolean regexMatch;
public MatchEntityTypeCondition(Collection<String> ids, boolean regexMatch) { public MatchEntityTypeCondition(Collection<String> ids, boolean regexMatch) {
this.ids = new HashSet<>(ids); this.ids = new HashSet<>(ids);
this.regexMatch = regexMatch; this.regexMatch = regexMatch;
} }
@Override
public Key type() {
return CommonConditions.MATCH_ENTITY_TYPE;
}
@Override
public boolean test(CTX ctx) {
Optional<Entity> entity = ctx.getOptionalParameter(DirectContextParameters.ENTITY);
return entity.filter(value -> MiscUtils.matchRegex(value.type().asString(), this.ids, this.regexMatch)).isPresent();
}
public static class FactoryImpl<CTX extends Context> implements ConditionFactory<CTX> {
@Override @Override
public Key type() { public Condition<CTX> create(Map<String, Object> arguments) {
return CommonConditions.MATCH_ENTITY_TYPE; List<String> ids = MiscUtils.getAsStringList(arguments.get("id"));
} if (ids.isEmpty()) {
throw new LocalizedResourceConfigException("warning.config.condition.match_entity_type.missing_id");
@Override
public boolean test(CTX ctx) {
Optional<Entity> entity = ctx.getOptionalParameter(DirectContextParameters.ENTITY);
return entity.filter(value -> MiscUtils.matchRegex(value.type().asString(), this.ids, this.regexMatch)).isPresent();
}
public static class FactoryImpl<CTX extends Context> implements ConditionFactory<CTX> {
@Override
public Condition<CTX> create(Map<String, Object> arguments) {
List<String> ids = MiscUtils.getAsStringList(arguments.get("id"));
if (ids.isEmpty()) {
throw new LocalizedResourceConfigException("warning.config.condition.match_entity_type.missing_id");
}
boolean regex = ResourceConfigUtils.getAsBoolean(arguments.getOrDefault("regex", false), "regex");
return new MatchEntityTypeCondition<>(ids, regex);
} }
boolean regex = ResourceConfigUtils.getAsBoolean(arguments.getOrDefault("regex", false), "regex");
return new MatchEntityTypeCondition<>(ids, regex);
} }
} }
}