命令/setblock
< 命令
将指定位置的方块更改为另一个方块。
语法[编辑 | 编辑源代码]
- Java版
setblock <pos> <block> [destroy|keep|replace|strict]
- 基岩版
setblock <position: x y z> <tileName: Block> [blockStates: block states] [destroy|keep|replace]
参数[编辑 | 编辑源代码]
JE:<pos>
:block_pos
BE:position: x y z
:CommandPosition
- 指定要被更改方块的位置。
- 在Java版中,必须为方块坐标,格式为
<X> <Y> <Z>
,三个值必须为整数、相对坐标或局部坐标。在基岩版中,必须为三维的坐标,格式为<X> <Y> <Z>
,三个值必须是浮点数、相对坐标或局部坐标。
JE:<block>
:block_state
BE:tileName: Block
:Block
- 指定更改后的新方块。
- 在Java版中,格式必须为
方块ID[方块状态]{方块实体NBT}
,可仅在需要时指定方块状态与NBT,参见参数类型 § minecraft:block_state。在基岩版中,必须为方块ID。
BE:blockStates: block states
:BlockStateCommandParam
- 指定新方块的方块状态。
- 必须为格式为
["<键1>"=<值1>,"<键2>"=<值2>,...]
的方块状态(例如:["old_leaf_type"="birch","persistent_bit"=true]
)。
destroy|keep|replace
和destroy|keep|replace|strict
- 指定方块更改的处理方式,必须为以下其中之一:
- 如果未指定,默认为
replace
。
结果[编辑 | 编辑源代码]
命令 | 触发条件 | Java版 | 基岩版 |
---|---|---|---|
任意 | 命令不完整或参数未正确指定 | 无法解析 | 无法解析 |
指定位置未被加载或在世界之外 | 执行失败 | 执行失败 | |
尝试在调试模式中更改方块 | N/A | ||
/setblock ... keep | 尝试更改非空气的方块 | 执行失败 | |
/setblock ... keep | 原方块与新方块完全相同(不考虑方块实体) | ||
尝试将某些红石元件替换为不稳定的方块(例如,把两个相邻的红石火把中的其中一个替换为TNT)[1] | 执行成功 | ||
任意 | 不符合以上所有条件 | 执行成功 |
输出[编辑 | 编辑源代码]
命令 | 版本 | 条件 | 成功次数 | /execute store success ... | /execute store result ... |
---|---|---|---|---|---|
任意 | Java版 | 执行失败 | 0 | 0 | 0 |
执行成功 | 1 | 1 | 1 | ||
基岩版 | 执行失败 | 0 | N/A | N/A | |
执行成功 | 1 | N/A | N/A |
示例[编辑 | 编辑源代码]
- 在你脚的位置上放置一个朝北的箱子。
- 放置一个写有提示的告示牌在上述箱子的旁边。
[仅Java版] setblock ~ ~ ~-1 birch_sign{front_text:{messages:['"My chest"','"Do not open!"','""','""']}}
(注意文字两边有两组引号,它们都是需要的,即使没有提示也要写够4行,否则无法正确解析)
- 放置一个位于顶端石英台阶在你的头上。
- 放置一个内含1个苹果的可疑的沙砾。
setblock ~ ~ ~ minecraft:suspicious_gravel{item:{id:"minecraft:apple",count:1}}
[仅Java版]
历史[编辑 | 编辑源代码]
Java版 | |||||||
---|---|---|---|---|---|---|---|
1.7.2 | 13w37a | 加入了/setblock 。 | |||||
1.11 | 16w32a | 加入了/setblock 中对方块状态的支持。 | |||||
1.16 | 20w06a | /setblock ~ ~ ~ air destroy 现在可以破坏液体。[2] | |||||
1.21.5 | 25w02a | 更改了处理方块实体数据的方式。 | |||||
加入了strict 选项。 | |||||||
携带版Alpha | |||||||
0.16.0 | build 1 | 加入了/setblock 。 | |||||
基岩版 | |||||||
1.16.210 | 1.16.210.53 | 加入了/setblock 中对方块状态的支持。 | |||||
1.19.70 | 1.19.70.21 | 移除了tileData: int 参数。 |