/setblock

/setblock

原文:Commands/setblock;源修订:3826035。

权限等级:Java 版为 2,基岩版为 1;基岩版需要开启作弊。将一个方块更改为另一个方块。

语法

Java 版:

setblock <pos> <block> [destroy|keep|replace|strict]

基岩版:

setblock <position: x y z> <tileName: Block> <blockStates: block states> [destroy|keep|replace]
setblock <position: x y z> <tileName: Block> [destroy|keep|replace]

参数

pos(block_pos)或 position: x y z(CommandPosition):指定要更改的方块位置。

block(block_state)或 tileName: Block(枚举):指定新方块。

基岩版的 blockStates: block states(BlockStateCommandParam):指定该方块要使用的方块状态。

destroy|keep|replace 或 destroy|keep|replace|strict 指定如何处理方块更改,必须为以下值之一:

值 行为
destroy 原方块掉落自身及其内容物,如同被玩家破坏,并播放相应的方块破坏声音。
keep 只更改空气方块,非空气方块保持不变。
replace 原方块既不掉落自身,也不掉落内容物;不播放声音。
strict 按原样放置方块,不触发方块更新和形状更新。

省略处理方式时默认为 replace。详细参数类型规则见参数类型。

结果

命令不完整或任意参数指定不正确时无法解析。

指定位置未加载或位于世界外时失败。在 Java 版的调试模式中放置方块会失败。使用 keep 更改非空气方块会失败。使用 keep、replace 或 strict 把方块替换为完全相同的副本(忽略方块实体)会失败。

将某些红石元件替换为不稳定方块时,Java 版会失败而基岩版会成功,例如把两个相邻直立红石火把中的一个替换为 TNT 方块;见 MC-255198。其他情况成功。

输出

版本与情况 成功次数 success result
Java 版,失败 0 0 0
Java 版,成功 1 1 1
基岩版,失败 0 不适用 不适用
基岩版,成功 1 不适用 不适用

示例

在脚边放置朝东的箱子:

setblock ~ ~ ~ chest[facing=east]

以上为 Java 版。基岩版为:

setblock ~ ~ ~ chest ["minecraft:cardinal_direction"="east"]

Java 版中,在旁边放置告示牌(注意文字周围的两组引号,二者都必需):

setblock ~ ~ ~-1 birch_sign{Text1:'"My chest"',Text2:'"Do not open!"'}

在头顶放置上半石英台阶:

setblock ~ ~2 ~ quartz_slab[type=top]

以上为 Java 版。基岩版为:

setblock ~ ~2 ~ quartz_slab ["minecraft:vertical_half"="top"]

另见

  • /data:修改方块或实体的数据标签。
  • /clone:把方块从一个区域复制到另一个区域。
  • /fill:以一种方块填充区域。

参考资料与外部链接

MC-255198。Microsoft Learn:/setblock 命令(2024 年 6 月 17 日)。

来源为 Minecraft Wiki;本中文翻译/改编按 CC BY-NC-SA 3.0 共享。