From 2e69c0b69fbab4fa2872f2ea28440ca19e3d8c6a Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Tue, 22 Apr 2025 01:29:15 +0800 Subject: [PATCH] Update LiquidCollisionBlockItemBehavior.java --- .../item/behavior/LiquidCollisionBlockItemBehavior.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/LiquidCollisionBlockItemBehavior.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/LiquidCollisionBlockItemBehavior.java index 09a8575b3..3e35bc7df 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/LiquidCollisionBlockItemBehavior.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/LiquidCollisionBlockItemBehavior.java @@ -63,11 +63,16 @@ public class LiquidCollisionBlockItemBehavior extends BlockItemBehavior { public ItemBehavior create(Pack pack, Path path, Key key, Map arguments) { Object id = arguments.get("block"); if (id == null) { - throw new IllegalArgumentException("Missing required parameter 'block' for on_liquid_block_item behavior"); + throw new IllegalArgumentException("Missing required parameter 'block' for liquid_collision_block_item behavior"); } int offset = MiscUtils.getAsInt(arguments.getOrDefault("y-offset", 1)); if (id instanceof Map map) { - BukkitBlockManager.instance().parser().parseSection(pack, path, key, MiscUtils.castToMap(map, false)); + if (map.containsKey(key.toString())) { + // 防呆 + BukkitBlockManager.instance().parser().parseSection(pack, path, key, MiscUtils.castToMap(map.get(key.toString()), false)); + } else { + BukkitBlockManager.instance().parser().parseSection(pack, path, key, MiscUtils.castToMap(map, false)); + } return new LiquidCollisionBlockItemBehavior(key, offset); } else { return new LiquidCollisionBlockItemBehavior(Key.of(id.toString()), offset);