方块状态
简介
方块状态(Block States),也称为方块属性(Block Properties),用于定义方块的显示方式或行为特性,包括朝向、颜色、变种或红石信号状态等属性。这些状态被广泛应用于 /clone、/execute、/fill、/setblock 和 /testforblock 等命令中。
在1.19.70版本之前,基岩版使用附加值(Aux values,即元数据)来定义方块。但该方法现已被方块状态取代。新版本引擎中不再支持附加值系统。
转换示例
yaml
# 使用附加值的示例:
/setblock ~ ~ ~ wool 1
# 等效的方块状态写法:
/setblock ~ ~ ~ wool ["color"="orange"]- 使用附加值的命令在旧版本中仍可运行,或在行为包的
min_engine_version设为1.19.63及以下时有效 - 若将
min_engine_version更新至1.19.70或更高版本,则必须改用方块状态
语法与示例
语法规范
- 方块状态需用方括号包裹(
[]) - 多个状态间用逗号分隔(
,) - 字符串值需加引号(如
"birch"、"orange") - 整型(
0、1等)和布尔值(true/false)不加引号 - 空括号(
[])或不加括号时默认为0值(如wool []或直接写wool都对应白色羊毛)
应用示例
yaml
/setblock ~ ~ ~ wool ["color"="white"]
/setblock ~ ~ ~ wheat ["growth"=0]
/setblock ~ ~ ~ wood ["wood_type"="birch","stripped_bit"=true]
/setblock ~ ~ ~ wool []新手核心概念
- 整型值:用于定义范围的整数(如
["redstone_power"=10]表示红石信号强度) - 布尔值:表示真/假状态(如
["stripped_bit"=true]表示已剥离的木头) - 字符串值:预定义的文本输入(如
["wood_type"="spruce"]表示云杉木)
方块状态参考表
完整方块状态列表详见: 方块状态列表
- 注意:网站上列出的
camelCase格式状态名需转换为snake_case格式才能在命令中使用- 例如:
buttonPressedBit→"button_pressed_bit"
- 例如:
转换工具
使用由*@SmokeyStack*开发的对照表工具将附加值转换为方块状态。
已知限制
使用方块的命令必须指定所有对应的方块状态,或将方块状态字段留空。遗漏任何必需状态都会导致命令执行失败。
典型示例
yaml
# 检测普通石质按钮(附加值0)
/execute if block ~~~ stone_button run say success
# 检测朝西未按下的石质按钮(附加值1)
/execute if block ~~~ stone_button ["button_pressed_bit"=false,"facing_direction"=1] run say success- 第一条命令有效是因为方块状态字段为空
- 第二条命令有效是因为指定了全部相关状态(
button_pressed_bit和facing_direction)
重要说明:若只测试部分条件(如
["button_pressed_bit"=true])而未指定其他状态(如facing_direction),命令将失败。与实体不同,方块目前不支持基于条件的筛选。



