From 6f4cd1e501bb5ed41ad9c799f78ae2c4a2e4890d Mon Sep 17 00:00:00 2001 From: halogly Date: Sat, 23 Aug 2025 23:39:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8DMatchBlockTypeCondition?= =?UTF-8?q?=E8=AF=86=E5=88=ABce=E8=87=AA=E5=AE=9A=E4=B9=89=E6=96=B9?= =?UTF-8?q?=E5=9D=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/context/condition/MatchBlockTypeCondition.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 7a08fd238..08d3afe48 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 @@ -1,5 +1,6 @@ package net.momirealms.craftengine.core.plugin.context.condition; +import net.momirealms.craftengine.core.block.ImmutableBlockState; 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; @@ -28,7 +29,12 @@ public class MatchBlockTypeCondition implements Condition block = ctx.getOptionalParameter(DirectContextParameters.BLOCK); - return block.filter(blockInWorld -> MiscUtils.matchRegex(blockInWorld.type().asString(), this.ids, this.regexMatch)).isPresent(); + Optional customBlock = ctx.getOptionalParameter(DirectContextParameters.CUSTOM_BLOCK_STATE); + return block.filter(blockInWorld -> { + String key = customBlock.map(immutableBlockState -> + immutableBlockState.owner().value().id().asString()).orElseGet(() -> blockInWorld.type().asString()); + return MiscUtils.matchRegex(key, this.ids, this.regexMatch); + }).isPresent(); } public static class FactoryImpl implements ConditionFactory {