跳到主要内容

📦 简单存储家具

简单存储家具会为家具添加类似箱子的容器。玩家可以右键打开并存取物品。

示例

furniture:
default:storage_core:
behavior:
type: simple_storage_furniture
title: "<dark_gray>Storage Core" # 容器标题,支持 MiniMessage 格式(默认为 "<lang:container.chest>")
rows: 3 # 行数,1~6(默认为 1)
data_key: "craftengine:simple_storage_contents" # 持久化数据的 NBT 键(默认为 "craftengine:simple_storage_contents")
sounds:
open: minecraft:block.iron_trapdoor.open # 容器打开时播放的音效(可选)
close: minecraft:block.iron_trapdoor.close # 容器关闭时播放的音效(可选)

按变体配置交互碰撞箱

可以通过 variants.<变体名>.hitboxessimple_storage_furniture 行为单独配置交互碰撞箱。这些碰撞箱不属于家具的默认碰撞箱,只会触发当前行为的储物 GUI。

常见用途:

  • 家具默认不设置碰撞箱(hitboxes: []),由各个行为分别定义可点击区域。
  • 在同一家具上添加多个 simple_storage_furniture 行为,并为每个行为设置不同的 data_key,从而实现多个独立储物槽位。
furniture:
default:double_drawer:
settings:
item: default:double_drawer
variants:
ground:
elements:
- item: default:double_drawer
hitboxes: [] # 家具默认没有碰撞箱
behavior: # 家具 behavior 列表
- type: simple_storage_furniture
title: "<dark_gray>Left Drawer"
data_key: "left_drawer"
rows: 2
variants:
ground:
hitboxes:
- type: interaction
position: -0.25,0.5,0
width: 0.5
height: 1
interactive: true
- type: simple_storage_furniture
title: "<dark_gray>Right Drawer"
data_key: "right_drawer"
rows: 2
variants:
ground:
hitboxes:
- type: interaction
position: 0.25,0.5,0
width: 0.5
height: 1
interactive: true