9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-26 02:19:23 +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
public Key type() {
return CommonConditions.MATCH_ENTITY_TYPE;
return CommonConditions.MATCH_BLOCK_TYPE;
}
@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.plugin.context.Condition;
import net.momirealms.craftengine.core.plugin.context.Context;
import net.momirealms.craftengine.core.plugin.context.parameter.DirectContextParameters;
import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException;
import net.momirealms.craftengine.core.util.Key;
import net.momirealms.craftengine.core.util.MiscUtils;
import net.momirealms.craftengine.core.util.ResourceConfigUtils;
import net.momirealms.craftengine.core.entity.Entity;
import net.momirealms.craftengine.core.plugin.context.Condition;
import net.momirealms.craftengine.core.plugin.context.Context;
import net.momirealms.craftengine.core.plugin.context.parameter.DirectContextParameters;
import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException;
import net.momirealms.craftengine.core.util.Key;
import net.momirealms.craftengine.core.util.MiscUtils;
import net.momirealms.craftengine.core.util.ResourceConfigUtils;
import java.util.*;
import java.util.*;
public class MatchEntityTypeCondition<CTX extends Context> implements Condition<CTX> {
private final Set<String> ids;
private final boolean regexMatch;
public class MatchEntityTypeCondition<CTX extends Context> implements Condition<CTX> {
private final Set<String> ids;
private final boolean regexMatch;
public MatchEntityTypeCondition(Collection<String> ids, boolean regexMatch) {
this.ids = new HashSet<>(ids);
this.regexMatch = regexMatch;
}
public MatchEntityTypeCondition(Collection<String> ids, boolean regexMatch) {
this.ids = new HashSet<>(ids);
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
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
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);
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);
}
}
}