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 {