将指定位置的方块更改为另一个方块。
语法
- Java版
setblock <pos> <block> [destroy|keep|replace]
- 基岩版
setblock <position: x y z> <tileName: Block> [tileData: int] [destroy|keep|replace]setblock <position: x y z> <tileName: Block> [blockStates: block states] [destroy|keep|replace]
参数
JE:<pos>:block_pos
BE:position: x y z:CommandPosition
- 指定要被更改方块的位置。
- 必须为方块坐标,包括<X>、<Y>和<Z>,每个值都必须是整数或者含有波浪号与脱字号标记。在基岩版中,必须为三维的坐标,包括<X>、<Y>和<Z>,每个值都必须是浮点数或者含有波浪号与脱字号标记。
JE:<block>:block_state
BE:tileName: Block:Block
- 指定新方块的方块数据。如果指定的数据无效,或未指定,默认为0。
- 必须为32位整型数值。必须在0到65535之间(含)。
BE:blockStates: block states:BlockStateCommandParam
- 指定新方块的方块状态。
- 必须为格式为
["<键1>"=<值1>,"<键2>"=<值2>,...]的方块状态,例如:["old_leaf_type"="birch","persistent_bit"=true]。
destroy|keep|replace
- 指定方块更改的处理方式,必须为以下其中之一:
destroy— 原方块正常掉落物品(类似于被一个玩家破坏),并播放方块被破坏的音效。keep— 仅当原方块是空气方块时才进行更改。replace— 原方块不掉落物品,且不播放方块被破坏的音效。
- 如果未指定,默认为
replace。
效果
| 命令 | 触发条件 | Java版 | 基岩版 |
|---|---|---|---|
| 任意 | 参数不正确 | 无法解析 | 执行失败 |
| 指定位置未被加载或在世界之外 | 执行失败 | ||
| 尝试在调试模式中更改方块 | N/A | ||
/setblock ... keep | 尝试更改非空气的方块 | 执行失败 | |
/setblock ... keep | 原方块与新方块完全相同 | ||
| 任意 | 执行成功时 | 将指定位置的方块更改为另一个方块。 | |
输出
| 命令 | 版本 | 条件 | 成功次数 | /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{Text1:'"My chest"',Text2:'"Do not open!"'}(注意文字两边有两组引号,它们都是需要的)
- 放置一个位于顶端石英台阶在你的头上。
参见
历史
| Java版 | |||||
|---|---|---|---|---|---|
| 1.7.2 | 13w37a | 加入了/setblock。 | |||
| 1.11 | 16w32a | 加入了/setblock中对方块状态的支持。 | |||
| 携带版Alpha | |||||
| v0.16.0 | build 1 | 加入了/setblock。 | |||
| 基岩版 | |||||
| 1.16.210 | beta 1.16.210.53 | 加入了/setblock中对方块状态的支持。 | |||