From 0a1d0e7d72c31638f4b078a5c2ba1d5abe2e17f1 Mon Sep 17 00:00:00 2001 From: jhqwqmc Date: Mon, 17 Nov 2025 16:27:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bukkit/item/behavior/CeilingBlockItemBehavior.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/CeilingBlockItemBehavior.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/CeilingBlockItemBehavior.java index cb9a45816..49b0db4c4 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/CeilingBlockItemBehavior.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/CeilingBlockItemBehavior.java @@ -7,6 +7,7 @@ import net.momirealms.craftengine.core.item.context.BlockPlaceContext; import net.momirealms.craftengine.core.item.context.UseOnContext; import net.momirealms.craftengine.core.pack.Pack; import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException; +import net.momirealms.craftengine.core.util.Direction; import net.momirealms.craftengine.core.util.Key; import java.nio.file.Path; @@ -26,10 +27,12 @@ public class CeilingBlockItemBehavior extends BlockItemBehavior { @Override public InteractionResult place(BlockPlaceContext context) { - if (context.getClickedFace().stepY() != -1) { - return InteractionResult.PASS; + for (Direction direction : context.getNearestLookingDirections()) { + if (direction.axis() != Direction.Axis.Y) continue; + if (direction == Direction.DOWN) break; // 如果最后只能放到地面就直接不放置 + super.place(context); } - return super.place(context); + return InteractionResult.PASS; } public static class Factory implements ItemBehaviorFactory {