命令(Command)是通过输入特定文本字符串而激活的高级功能。
使用方法
在客户端中,命令通过Minecraft的聊天窗口输入,通过按下T键(默认)或/键唤出聊天窗口。使用/键会同时输入命令必需的前缀斜杠(/),因此这是个实用的快捷键。↑和↓键可浏览之前输入的命令文本,包含所有之前执行的命令。在输入命令时按下Tab ↹键会循环显示当前可用的命令或参数,也可以快速输入准星当前指向方块的坐标(在Java版,如果准星没有指向坐标,则输入~ ~ ~;在输入实体选择器时,如果准星指向某个实体(包括掉落的物品),则可以直接输入其UUID)。
命令也可以在多人服务器的控制台中输入,但是不需要加入前缀/。在英语中,以这种方式执行命令的服务器管理员被称为“ghosting”。
命令方块的变种“命令方块矿车”可用在铁轨上。但是也不需要加上前缀l/。
命令方块可在聊天栏用/give @s(也可用@p) command_block获取。
命令方块矿车可在聊天栏用/give @s(也可用@p) command_block_minecart获取。
前缀“/”
在命令方块中,命令可以以前缀斜杠开头,但不是必须的。在命令方块中的命令通常还需要一个可选参数,如玩家名称。
大多数命令只能在以下状况有效:
- 在Minecraft多人联机服务器游戏中,由管理员或命令方块使用。
- 在其他的多人模式游戏中,由开启局域网并允许作弊的玩家,或主持多人联机服务器的玩家使用。
- 在单人模式中,创建世界时开启作弊(藉由“更多选项”按钮;极限模式不能开启作弊)。
玩家命令在不允许作弊的生存模式中仍然可用。
注意:在单人游戏中,如果不允许作弊,仍可以通过公开目前的游戏至局域网 (Esc→“公开至局域网”,点选“允许作弊”为开,接着“开始局域网游戏”) 而暂时可以作弊。你不必实际连入局域网或等待别人加入。这并不是永久的,但直至退出世界前都可以使用命令,且命令做出的修改都会被保存(物品、生物生成等)。你可以在再次开启游戏时重复以上步骤。注意当公开至局域网时游戏便无法暂停,所以在打开游戏目录时若有需要最好找个安全的地方。你可以重新载入世界来取消公开至局域网。
波浪号和插入符
很多命令可以使用波浪号(~)来指定相对坐标,插入符(^)来指定局部坐标(也称本地坐标)。在波浪号和插入符后方的数字是相对某个东西的偏移量而不是绝对坐标。数字的正负号表示以坐标轴的正或负方向偏移。一个单独的波浪号~是~0的简写。
举例来说,/tp 0 64 0将会移动使用者到坐标(0, 64, 0),而/tp ~3 ~ ~-3会使使用者往x轴移动3米(东方),保持原本高度,并在z轴移动-3米(北方),而/tp ^ ^ ^3会使使用者往前移动3米。
通常绝对坐标和相对坐标可以混合使用,而局部坐标不可与绝对或相对坐标混合使用。举例来说,/tp ~ 64 ~会保持使用者的x轴和z轴坐标,但是传送使用者到绝对高度64,而/tp ^-5 ^ ^会根据使用者头部的方向将其传送到右边。插入符的用法是/tp ^左 ^上 ^前。
在基岩版,多个命令参数有时可以不需要空格,如~~~可以代表~ ~ ~,~~1~可以代表~ ~1 ~,比如/tp @a ~1 ~2 ~3可以简写为/tp@a~1~2~3。注意~~1不能代表~ ~ 1,因为“~1”会被视为一个整体,而“1~”不会。插入符也是如此。
偏移量的基准点由命令本身决定。比如/tp会以目标的起始位置未基准点。其它常见的基准点包括命令的执行位置和命令指定的其他坐标。
目标选择器
本段文字中,variable翻译为变量,argument翻译为参数,而value代表数值。有些命令因为易读性的关系,并不会把它翻译出来。
大多数以玩家作为参数的命令,可以通过某些限定条件来选择一个或多个玩家,而不必要用名字来指定玩家。要用条件来选择玩家,先选择一个目标选择器变量,然后,选择一个或多个目标选择器参数以制定具体的条件(可选)。以实体作为参数的命令,也可以通过目标选择器选择符合条件的一个或多个实体。
比如,要改变红(Red)队所有玩家的游戏模式为创造模式,但不使用名字来逐个指明:
/gamemode creative @a[team=Red]
请注意,Java版的目标选择器和基岩版有较大的区别,有的语法只适用于Java版,有的语法只适用于基岩版,请注意文中的“仅Java版”和“仅基岩版”标识。
目标选择器变量
| 变量 | 功能 |
|---|---|
@p |
距离最近的玩家 |
@r |
随机玩家 |
@a |
所有玩家 |
@e |
所有实体 |
@s |
命令的执行者 |
目标选择器变量用于指定待选目标的大致分类。共有5种变量:
@p
- 选择最近的玩家。在服务器控制台中输入时,基准点为(0, 0, 0)。如果有多个最近的玩家,他们与基准点距离完全相同,那么会选择其中最晚进入服务器的玩家。
- 目标选择器参数可以进一步筛选待选目标。举例来说,
@p[team=Red]只会选择红队中距离最近的玩家,即使有其他非红队玩家更为靠近。
- 在基岩版,
c[仅基岩版]目标选择器参数可以用来追加待选目标。(举例来说, @p[c=3]会选择最近的三名玩家)。若参数是负值,c会反转选择目标的顺序(举例来说,@p[c=-1]会选择最远的一名玩家)[仅基岩版]。在Java版,该参数被 limit取代[仅Java版],比如 @p[limit=3]会选择最近的三名玩家,选择最远的一名玩家则应该使用@a[limit=1,sort=furthest][仅Java版]。
@r
- 选择随机玩家(或使用
type目标选择器参数来包含实体)。
- 目标选择器参数可以进一步筛选待选目标。举例来说,
@r[team=Red]只会随机选择红队玩家。
- 在基岩版,
c目标选择器参数可以用来追加待选目标。在Java版,追加待选目标应使用limit。比如@r[c=3][仅基岩版]、 @r[limit=3][仅Java版]或 @a[limit=3,sort=random][仅Java版]会随机选择三名玩家。
- 如果没有使用
type参数,@r只会选择随机玩家。type参数可以用来选择非玩家的实体(举例来说,@r[type=zombie]会随机选择僵尸,@r[type=!player]会随机选择非玩家实体,等等)。
@a
- 选择所有玩家,包括已死亡玩家。除了
@a以及@s以外的其他所有目标选择器都不能选中已死亡玩家。
- 目标选择器参数可以进一步筛选待选目标。举例来说,
@a[team=Red]只会选择红队的所有玩家。
@e- 选择所有实体(包含玩家)。
- 目标选择器参数可以进一步筛选待选目标。举例来说,
@e[type=cow]只会选择牛。
@s- 只选择唯一一个实体:执行该命令的实体,包括已死亡玩家。若命令执行者不是一个实体,比如是命令方块或服务器控制台执行命令,则此选择器不会选中任何东西。
- 目标选择器参数可以进一步筛选命令执行者。举例来说,
@s[type=cow,team=Red]只会在命令执行者是红队的一头牛时才会将其选中。
目标选择器参数
| 通过坐标 | |
|---|---|
| 参数 | 选择标准 |
x, y, z
|
坐标 |
distancer,rm |
距离 |
dx, dy, dz
|
体积尺寸 |
| 通过记分板参数 | |
| 参数 | 选择标准 |
scores
|
最大分数 |
tag
|
记分板标签 |
team
|
队伍名称 |
| 通过其他特性 | |
| 参数 | 选择标准 |
limit、sortc |
数量 |
levell、lm |
经验等级 |
gamemodem |
游戏模式 |
name
|
实体名称 |
x_rotationrx、rxm |
垂直旋转角度 |
y_rotationry、rym |
水平旋转角度 |
type
|
实体类型 |
nbt |
实体的数据标签 |
advancements |
进度 |
在使用目标选择器之后,你可以随意地使用参数来限定所要选择的群组。当使用@a或@e时,待选目标从全体筛选成特定的少数。当使用@p或@r时,待选目标根据距离远近或随机而从全体中产生。当使用@s时,命令执行者只有在所有参数都满足时才会被选择,否则命令执行失败。
在目标选择器变量之后附加键值对构成的逗号分隔,并包含在方括号中:
@<变量>[<参数>=<值>,<参数>=<值>,…]
键值区分大小写,括号、等于号和逗号旁可以有空格(目标选择器和第一个方括号之间除外),键值对只能用逗号(英文的半角逗号)分隔。
- 指定基准点
[x=X,y=Y,z=Z]— 修改目标选择器选择的基准点,与通过距离选择目标结合可以选择特定距离内的目标,与通过体积尺寸选择目标结合可以选择特定立方体内的目标。如果仅指定基准点而未指定距离和体积尺寸,则会选择整个世界(对选择顺序及部分选择参数有效,并且限制选择范围为执行的世界)。
- 通过距离选择目标
[r=R]— 只选择小于R个方块的目标执行命令。使用小于0的值则会将命令限制为在相同维度执行,且不限制执行位置的距离。[仅基岩版] [rm=RM]— 只选择大于RM个方块的目标执行命令。[仅基岩版] [distance=值或范围]— 只选择与基准点的距离(单位为方块格数)为某个值或者某个范围内的目标。只允许非负数。[仅Java版]
- 若精确到坐标(上方)和半径中的一或多个坐标,则半径将以坐标为执行中心而不是命令执行位置。
- 在Java版,范围可以是“最小值..”、“..最大值”或者“最小值..最大值”的格式,比如:
[仅Java版] @e[distance=10]— 是距离10范围@e[distance=10..12]— 是距离10到12范围@e[distance=5..]— 是距离5或以上范围@e[distance=..15]— 是距离15或以下范围
- 通过体积尺寸选择目标
[dx=DX,dy=DY,dz=DZ]
- 只选择位于一定长方体区域内部的目标,体积定义为从基准点开始,向“x”方向(东/西方)延伸DX格(包括基准点本身,下同),向“y”方向(上/下方)延伸DY格,并向“z”方向(北/南方)延伸DZ格。(
dx、dy和dz用来指定与坐标的距离;它们不是指定一个新的坐标。)dx、dy、dz也可以是负数(即为反向延伸)。
@e[x=1,y=2,z=3,dx=4,dy=5,dz=6]— 只有碰撞箱在方块区域(1~5, 2~7,3~9)(或坐标{(x,y,z)|x∈[1,6),y∈[2,8),z∈[3,10)}区域)内有重叠的实体会被选择。@e[x=1,y=2,z=3,dx=0,dy=0,dz=0]— 只有只有碰撞箱在方块区域(1,2,3)内有重叠的实体会被选择。
- 玩家可以结合通过距离和通过体积选择目标,此时只考虑二者重叠的区域。(从西北下角算起在一定的半径以内,且不超过定义的体积。)
- 通过分数选择目标
[scores={记分项1=分数1,记分项2=分数2,...}]— 仅选择计分项计分项1为分数1且计分项2为分数2……的目标。
- 记分板的选择器参数全部在scores标签中,其值为各项的组合,组合中每一项都是“记分项=分数”的格式。花括号内的分数可以是具体的值或范围。例如:
@e[scores={myscore=10}]— 仅选择记分项myscore且分数为10的目标。@e[scores={myscore=10..12}]— 仅选择记分项myscore且分数为10到12的目标。@e[scores={myscore=5..}]— 仅选择记分项myscore且分数为5或以上的目标。@e[scores={myscore=..15}]— 仅选择记分项myscore且分数为15或以下的目标。@e[scores={foo=10,bar=1..5}]— 仅选择记分项foo中分数为10,且记分项bar中分数为1到5的目标。
- 通过标签选择目标
实体的标签可以通过/tag来给予或者移除,无需事先定义。每一个实体都可以拥有一个或者多个标签,或者没有任何标签。
[tag=某标签]— 选择拥有标签“某标签”的目标。[tag=!某标签]— 选择没有“某标签”的目标。[tag=]— 只选择没有任何标签的目标。[tag=!]— 只选择拥有任意标签的目标。[tag=标签1,tag=标签2]— 选择既有标签1又有标签2的目标。[tag=!标签1,tag=!标签2]— 选择既没有标签1又没有标签2的目标。[tag=标签1,tag=!标签2]— 选择既有标签1又没有标签2的目标。
@e[tag=a,tag=b,tag=!c]— 选择只有标签a和标签b但没有标签c的目标。@r[tag=a]— 随机选择一个带有标签a的玩家。
- 通过队伍选择目标
[team=某队伍]— 只选择属于队伍“某队伍”的目标。
[team=!某队伍]— 只选择不属队伍“某队伍”的目标。
[team=]— 只选择不属任何队伍的目标。
[team=!]— 只选择属于任意队伍的目标。
- 通过数量选择目标
- 当使用
@p或@r变量时,此参数被预设为1,而更大的数值会增加回传的目标数量。当使用@a或@e变量时,此参数只会限制目标数量(默认选择所有目标)。
sort=nearest表示距离最近的,是@p的默认排序方式。sort=furthest表示距离最远的。sort=random表示随机排序,是@r的默认排序方式。sort=arbitrary表示无序,是@a和@e的默认排序方式。
- 通过经验等级选择目标
[l=L]— 只选择经验等级低于L的目标。[仅基岩版] [lm=LM]— 只选择经验等级高于LM的目标。[仅基岩版] [level=值或范围]— 只选择经验等级为某个值或在某个范围内的目标。[仅Java版]
- 这将自动过滤非玩家目标。
- 此选择器支持范围选择。
- 在Java版,从1.13开始,使用参数level而非l、lm。其中,范围可以是“最小值..”、“..最大值”、“最小值..最大值”的格式(1.13之前用法与基岩版一样),例如
@a[level=10]— 表示10级的玩家。@a[level=10..12]— 表示10级与12级之间的玩家。@a[level=5..]— 表示至少为5级的玩家。@a[level=..15]— 表示不超过15级的玩家
- 通过游戏模式选择目标
[m=M]— 选择处于指定游戏模式的玩家。[仅基岩版] [m=!M]— 选择不处于指定游戏模式的玩家。[仅基岩版] [gamemode=M]— 选择处于指定游戏模式的玩家。[仅Java版] [gamemode=!M]— 选择不处于指定游戏模式的玩家。[仅Java版] - 变量M可以是:
- 这将自动过滤非玩家目标。
在Java版从1.13,游戏模式只支持全称。在1.13之前,用法与基岩版相同。其中,在1.9之前的版本,游戏模式只允许使用数字,且不能反选。
- 通过名称选择目标
[name=NAME]— 只选择名字为NAME的目标。
[name=!NAME]— 只选择名字不是NAME的目标。
- 如果NAME中包含空格,则需要用双引号括起来。NAME不能是JSON文本。
- 通过垂直旋转选择目标
[rx=RX]— 仅选择最大垂直旋转为RX的目标。[仅基岩版] [rxm=RXM]— 仅选择最小垂直旋转为RXM的目标。[仅基岩版] [x_rotation=值或范围]— 仅选择垂直旋转为特定的值或者在某个范围内的目标。[仅Java版]
- 将视角转到最上方,然后向下旋转。垂直旋转值从-90(垂直向上)向上增加,之后增加到0(水平),最后增加到90(竖直向下)(因此垂直旋转值随着向下旋转而增加)。
- 此选择器支持范围选择。
- 在Java版,从1.13开始,参数名称从
rx和rxm改为x_rotation(1.13之前和基岩版相同)。选择范围可以是“最小值..”、“..最大值”、“最小值..最大值”的格式,例如[仅Java版]
@e[x_rotation=10]— 表示x_rotation正好是10的实体。@e[x_rotation=10..12]— 表示x_rotation为10到12(闭区间)的实体。@e[x_rotation=5..]— 表示x_rotation为不小于5的实体。@e[x_rotation=..15]— 表示x_rotation为不大于15的实体。
- 通过水平旋转选择目标
[ry=RY]— 仅选择最大水平旋转为RY的目标。[仅基岩版] [rym=RYM]— 仅选择最小水平旋转为RYM的目标。[仅基岩版] [y_rotation=值或范围]— 仅选择水平旋转为特定的值或者在某个范围内的目标。[仅Java版]
- 将视角向东旋转。水平旋转值从-180/180(面向正北),到-90(面向正东),到0(面向正南),到90(面向正西),再次到-180/180。
- 在Java版,从1.13开始,参数名称从
rx和rxm改为y_rotation(1.13之前和基岩版相同)。选择范围可以是“最小值..”、“..最大值”、“最小值..最大值”的格式(1.13之前用法与基岩版一样),例如[仅Java版] y_rotation=10表示y_rotation正好是10的目标。y_rotation=10..12表示y_rotation为10到12(闭区间)的目标。y_rotation=5..表示y_rotation为不小于5的目标。y_rotation=..15表示y_rotation为不大于15的目标。
- 通过实体类型选择目标
[type=TYPE]— 只选择特定的实体类型的目标。[type=!TYPE]— 只选择不属于特定的实体类型的目标。
- TYPE必须游戏内部用来判定不同种类实体的实体ID或实体标签(举例来说,
creeper指定爬行者,minecart指定普通矿车,tnt指定TNT等等,可以加上命名空间,如果命名空间是默认的minecraft:则可以省略)。实体ID或标签必须区别大小写,且无效的实体ID会造成命令执行失败。你可以分别使用type=player来选择玩家或type=!player来选择非玩家实体。
- 当与
@r一起使用时,原本用来选择玩家的命令也可以被用来选择其他实体。
@e[type=creeper]— 选择全部的爬行者。@e[type=!chicken,type=!cow]— 选择除鸡和牛之外的全部实体。@e[type=chicken,type=cow]— 是非法的写法。@e[type=#skeletons]— 选择全部的骷髅、凋零骷髅、流浪者。
- 通过实体的数据标签选择目标
[仅Java版]
[nbt=NBT]— 只选择拥有指定数据标签的目标。[nbt=!NBT]— 只选择没有指定数据标签的目标。[需要验证]
- NBT必须为游戏内有效的实体数据标签,需要加大括号
{}。如{CustomName:"\"foo\""}指定名字(CustomName)为foo的实体。无效的数据标签会导致命令失败。
- 比如:
@a[nbt={OnGround:1b}]或@a[nbt={OnGround:true}]— 选择站在地上的玩家。@e[nbt={Tags:[a,b]}]和@e[tag=a,tag=b]相同,但不推荐使用前者。@e[nbt={Color:0b},type=sheep]— 选择白色的羊。
- 从1.13开始,实体选择器支持
advancements参数,取代/advancement test。advancements后接一组用中括号括起来的键值对,其中键为进度或条件的名称,值为true或false或表示进度的各条件的键值对。
@a[advancements={story/form_obsidian=true}]— 选择已达成进度“冰桶挑战”(minecraft:story/from_obsidian)的玩家。@a[advancements={story/form_obsidian=false}]— 选择未达成进度“冰桶挑战”的玩家。(注意进度的条件是一个规定的字符串(可以是空字符串),它没有命名空间。)
@a[advancements={story/obtain_armor={iron_helmet=true}}]— 选择装备过铁头盔(不一定是正在装备铁头盔的玩家,也不一定需要达成进度minecraft:story/obtain_armor即“整装上阵”)的玩家。
@a[advancements={story/follow_ender_eye=true}]等价于@a[advancements={story/follow_ender_eye={in_stronghold=true}}],因为“隔墙有眼”的唯一条件是in_stronghold。
- 进度的条件的字符串可以在游戏主文件(
\versions\版本名.jar)中的data\minecraft\advancements中的代表各个进度的JSON文件中查阅。
数据标签
数据标签是一段NBT文字序列,描述键值对组成的数据结构。数据标签用于Java版的命令中,用于指定玩家、实体和一些方块的较为复杂的数据。
数据标签由零个或以上、用逗号分隔的键值对组成,且用大括号括住。每个键值对包含键名和键值,用冒号分开。但是,有些键值可以继续包含键值对,因此数据标签可以用来描述层次结构。
- 例:
{name1:123,name2:"sometext",name3:{subname1:456,subname2:789}}
这些数据标签所采用的数据结构与Minecraft世界存档相同。这种数据结构在其他条目中有详细描述。命令使用的数据标签中键名有严格的限定(区分大小写):
| 对象 | 例子 |
|---|---|
| 方块 | 箱子、熔炉、命令方块、刷怪蛋、告示牌等 |
| 物品 | 物品栏中的物品 (包括附魔、自定义名称等) |
| 物品实体 | 在地上的物品 |
| 生物 | 爬行者、牛、村民等 |
| 弹射物 | 弓箭、火球、喷溅药水等 |
| 交通工具 | 船、矿车等 |
| 动态方块 | 引燃的TNT、正在掉落的沙子、沙砾、铁砧 |
| 其他实体 | 烟花火箭、画和物品展示框 |
指定键名的键值也必须符合数据类型要求。
| 类型 | 说明 |
|---|---|
| 字节 | 介于-128和127之间(包含)的整数。 |
| 短整型 | 介于-32768和32767之间(包含)的整数。 |
| 整型 | 介于-2147483648和2147483647之间(包含)的整数。 |
| 长整型 | 介于-9,223,372,036,854,775,808和9,223,372,036,854,775,807之间(包含)的整数。 |
| 单精度浮点型 双精度浮点型 |
Float - 32位单精度浮点数,例:3.1415926
Double - 64位双精度浮点数,例:3.141592653589793 |
| 字符串 | 一串字符,如果内容包含不在 a-z A-Z 0-9 _ .(不包括空格)的字符则需要在整个字符串前后加上双引号并将内容转义。(不支持像json那样\u00a7这样的转义。)
转义方式为,在
|
| 列表 | 值的序列,用逗号分隔并用方括号包含。所有值的数据类型必须统一——数据类型标准由列表的第一个元素决定。
检测的时候仅检测是否拥有特定物品,不在乎顺序及整个列表是否一样。 |
| 字节数组 | 介于-128和127(包含)之间的整数序列,用逗号分隔内容并用方括号包含,首个元素前方需要加入类型标识B;。
检测时需要检测整个数组是否一致,包括顺序。 |
| 整型数组 | 介于-2,147,483,648和2,147,483,647(包含)之间的整数序列,用逗号分隔内容并用方括号包含,首个元素前方需要加入类型标识I;。
检测时需要检测整个数组是否一致,包括顺序。 |
| 长整型数组 | 介于-9,223,372,036,854,775,808和9,223,372,036,854,775,807(包含)之间的整数序列,用逗号分隔内容并用方括号包含,首个元素前方需要加入类型标识L;。
检测时需要检测整个数组是否一致,包括顺序。 |
| 复合标签 | 键值对的序列,用逗号分隔并用花括号包含。
每个数据标签的内容本身就是一个复合标签。 检测时仅检测特定名称的元素是否一致。 |
| 布尔型 | 一种数据类型,只有“true”和“false”两种取值。由于程序通常使用 字节存储布尔值,布尔型只会在JSON格式中出现。在NBT中,true和false相当于1和0。
|
某些命令要求明确指明某些数值的数据类型,这可以通过在数值后附加限定字符(B、S、L、F、D)来实现。举例来说,3s表示短整型,3.2f表示单精度浮点,等等。(字符I不能限定整型。)限定字符不区分大小写。在不加限定字符,且Minecraft无法根据上下文来确定数据类型或需要比对数据标签时,会将数据类型假定为双精度浮点型(数值有小数部分时)、整型(数值没有小数点,且在整型取值范围内)或字符串(若前述情况均不符合)。被方括号包含的集合中,被逗号分隔的元素若全为整型,则会将数据类型假定为整型数组(如[I;1,2,3]是一个整型数组,[L;1L,2L,3L]是一个长整型数组);否则会假定为列表。但有以下特例:[]是一个空列表,而[,]是一个空整型数组。
如果用/testfor、/testforblock、/clear等命令来查找数据标签,这些命令只会检查目标实体/方块/物品是否存在此标签。这意味着一个符合条件的实体/方块/物品可能同时还拥有其他标签。这对列表和数组同样成立:只要列表或数组中包含待查找的所有元素,就会成功匹配,既不考虑元素的排列顺序,也不考虑是否有多余的元素存在。
原始JSON文本
在告示牌被放置或修改时,或在一本成书被“翻开”(书写后第一次打开)时,记分板分数和目标选择器会被解析成具体的值。这些结果不再更新,使用NBT编辑器修改已存在的告示牌或已翻开的书也不会起作用。解析的结果无法在告示牌上换行,或在书上换页,超出的文字只会直接消失。
JSON文本的格式支持以下(大多是可选的)元素的JSON对象:
- 基础聊天组件对象
- text:字符串,存储在聊天框中直接出现的纯文字。(如果是数字或布尔值则可以转化为字符串,如果是组合对象或者列表则会报错。)注意像是“@a”和“@p”的选择器并不会转译成玩家名字;必须使用selector代替。使用转义字符“\n”换行(回车)。
- translate:显示文本的翻译标识符,用于将文本翻译至玩家使用的语言。此标识符与assets文件夹或资源包中的标识符一致。翻译文本只会在text字符串未被使用时显示。如果翻译标识符无效,则显示标识符本身,
- with:translate所使用的聊天对象参数列表和字符串参数。
- 该参数为当前语言翻译文本中出现的参数赋值,参数依序排列(例如,列表中的第一个元素将会取代翻译文本中的“%1$s”)。如果翻译标识符无效,但含有%s或%1$s这样的内容,则也能够替换。(对"text"中的%s或%1$s无效。)
- score: 一个玩家在一个记分板目标里的分数。若该玩家没有被该记分板目标追踪,则什么都不显示。此参数存在时完全忽略text和translate。
- name:要被显示分数的玩家的名字。可使用选择器(例如@p),以及记分板系统中存在的虚拟玩家名称。另外,如果名称为“*”,会显示读者自己的分数(例如,
/tellraw @a {score:{name:"*",objective:"obj"}}将给每个在线玩家显示他们自己在“obj”目标里的分数)。 - objective:要显示分数的记分板目标。
- value:可选。如果存在,将以此覆盖目标原先的分数。
- name:要被显示分数的玩家的名字。可使用选择器(例如@p),以及记分板系统中存在的虚拟玩家名称。另外,如果名称为“*”,会显示读者自己的分数(例如,
- selector:一个包含了一个选择器(@s、@p、@a、@r或@e)的字符串以及可选的选择器参数。不像text,此处的选择器将会被解析为正确的玩家/实体名。如果多于一个玩家/实体符合条件,其将会被以例如'名字1和名字2'或'名字1,名字2,名字3,和名字4'的形式显示。此参数存在时完全忽略text、translate和score。在
/tellraw命令中使用此标签时,点击结果中的玩家名称会出现私信该玩家的命令建议;按住⇧ Shift点击玩家名称会将名称填入聊天框中;按住⇧ Shift点击非玩家实体的名称会将其UUID填入聊天框中。 - keybind:显示用于执行特定操作的按键键位。例如,
key.inventory会向玩家显示打开物品栏的按键,若玩家使用默认设置,则会显示“E”。 - extra:附加对象的列表,格式与基础对象相同。
- 与基础聊天组件对象格式相同的附加对象(递归的;也可以是字符串和列表)。注意所有对象的属性都会被其子对象所继承,除了text、extra、translate、with和score。这表意味着子对象会保留与父对象相同的格式和事件,除非子对象有自己的属性将其覆盖。
- color:渲染文字时使用的颜色。有效值有:black、dark_blue、dark_green、dark_aqua、dark_red、dark_purple、gold、gray、dark_gray、blue、green、aqua、red、light_purple、yellow、white和reset(取消父对象使用的颜色效果)。技术上来说,“bold” (粗体)、“underline”(下划线)、“italic”(斜体)、“strikethrough”(删除线)和“obfuscated”(模糊处理)都是可接受的,不过建议使用下文提到的标签来实现。
- bold:布尔值(true/false) - 是否将文字渲染为粗体,默认为false。字符串形式的"true"和"false"也是可以接受的(下同)。
- italic:布尔值(true/false) - 是否将文字渲染为斜体,默认为false。
- underlined:布尔值(true/false) - 是否为文字添加下划线,默认为false。
- strikethrough:布尔值(true/false) - 是否为文字添加删除线,默认为false。
- obfuscated:布尔值(true/false) - 是否将文字模糊处理,默认为false。
- insertion:当玩家按住⇧ Shift并点击文字时,此字符串会自动填入聊天编辑框中。不会覆盖原有的文字。
- clickEvent:当玩家点击文字时产生的事件。
- action:当点击文字时所触发的行为。有效值为“open_url”(在玩家的默认浏览器中打开value中的URL地址)、“run_command”(以玩家的身份在聊天框中输入value值并提交。可以用来执行命令,但是如果玩家没有所需的权限,命令会失败)、“change_page”(只能用在成书中,如果该value页存在,翻至该页)和“suggest_command”(和“run_command”相似,但是文本只会出现在玩家的聊天输入栏,并不会自动提交。与insertion不同,这会直接取代原先在聊天输入框中的内容)。“open_file”和“twitch_user_info”用于游戏自动生成的信息中(如截图时显示的信息),不能在命令和告示牌中使用。
- value:前述指定的action使用到的URL地址、聊天内容或命令。注意,命令之前一定要加上“/”斜杠。
- hoverEvent:当玩家将鼠标指针悬浮在文字之上时显示的说明提示。
- action:说明提示的类型。有效值为“show_text”(显示JSON文本)、“show_item”(显示一个可带NBT标签的物品)和“show_entity”(显示实体的名称,还可能显示其类型和UUID)。
- value:此标签的格式取决于action。注意,“show_text”是唯一接受对象作为value值的action;其他action对应的value值都是字符串,所以必须用引号包含。
- "show_text":可以是字符串,或是与基础对象格式相同的一个对象。注意,此对象的clickEvent和hoverEvent在说明提示中不会生效,但是它的格式和extra标签仍然有效。
- "show_item":与物品NBT标签格式相同的的字符串。包含“id”标签,和可选的“Damage”标签和“tag”标签(和
/give命令所使用的“dataTag”标签中的组合相同)。 - "show_entity":描述一个组合的字符串,包含字符串值“type”(例如“Zombie”)、“name”和“id”(要求为实体UUID,但接受任意字符串)。
由于extra标签的存在,以上格式可递归地嵌套成非常复杂与多功能的字符串。然而,JSON文本不必弄得如此复杂:几乎所有的属性都可选或会被忽略。
为了确保有效,每一个对象至少应该包含以下至少一个元素:text、translate、score或selector(其余的元素都是可选的)。为使用方便,整个对象可以只用一个字符串表示。此时,将这个字符串赋作text的值即可。例如,"This is raw text"和{"text":"This is raw text"}是等价的。这种写法在任何需要使用JSON文本的地方都是有效的(包括/tellraw里面所用到的<raw json message>参数,extra列表中的元素,以及“show_text”hover_event中的value值)。
/tellraw也接受一个对象或字串的数组,数组与extra的处理方式大致相同(首个元素视作其后元素的父元素,继承文字样式)。它甚至接受多层嵌套的数组树,并以深度优先遍历。例如:
/tellraw @a ["Hello there, ",{"selector":"@p"},"."]
/tellraw @a [[[["The "],[["quick ","brown "],[{"selector":"@p"}," jumps "],"over "],"the "],["lazy ","dog."]]]
最后,不同于其它使用JSON的命令,/tellraw中的字符串允许通过\u####符号使用Unicode字符,其中####是表示Unicode字符的十六进制数。
- 外部链接
方块、物品、实体等ID
许多命令要求指定某种方块、物品、实体、药水效果、附魔、boss栏等的ID。在下文的命令语法中,这些参数会被标注为<方块>、<物品>或类似的表述,在举例中会以类似minecraft:stone的形式出现。这些ID都具有命名空间,并且所有源于Minecraft目录下的内容都具有命名空间minecraft:,生物使用其他的命名空间。命名空间为minecraft:的ID可以省略前缀。
命令列表及其概述
下表列出了所有可用命令。点击表头可以排序。点击每一列第一格中的链接可以查看命令的具体用法。
| 命令 | 描述 | BE | EDU | JE | OP等级 | 仅限MP | ||||
|---|---|---|---|---|---|---|---|---|---|---|
/?
|
/help的替代命令,提供命令使用帮助。 | 是 | 是 | 是 | 0 | — | — | — | — | — |
/ability
|
赋予或剥夺玩家的能力。 | 是 | 是 | — | 2 | — | — | — | — | |
/achievement
|
添加或移除玩家的成就。 | — | — | 已移除 | 2 | — | — | — | — | |
/advancement
|
添加、移除或查询玩家的进度。 | — | — | 是 | 2 | — | — | — | — | |
/agent
|
创建一个Agent。 | 仅WebSocket执行 | 仅WebSocket执行 | — | 2 | — | — | — | — | |
/ban
|
将玩家加入封禁列表。 | — | — | 是 | 3 | MP | — | — | — | |
/ban-ip
|
将IP地址加入封禁列表。 | — | — | 是 | 3 | MP | — | — | — | |
/banlist
|
显示封禁列表。 | — | — | 是 | 3 | MP | — | — | — | |
/blockdata
|
更改方块的数据标签。 | — | — | 已移除 | 2 | — | — | — | — | |
/bossbar
|
添加/查询/设置/移除一个Boss栏或列出所有已创建的Boss栏。 | — | — | 是 | 2 | — | — | — | — | |
/broadcast
|
向整个服务器广播消息。 | — | — | 已移除 | 2 | — | — | — | — | — |
/clear
|
从玩家物品栏中删除物品。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/clone
|
将特定区域的方块复制到另一处。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/closewebsocket
|
断开已连接的WebSocket服务器。 | 仅WebSocket执行 | 仅WebSocket执行 | — | 2 | — | — | — | — | |
/connect
|
/wsserver的替代命令,连接至WebSocket服务器。 | 是 | 是 | — | — | — | — | — | — | — |
/data
|
允许玩家获取、合并或是移除实体或方块的数据标签。 | — | — | 是 | 2 | — | — | |||
/datapack
|
控制加载的数据包。 | — | — | 是 | 3 | — | — | — | — | |
/debug
|
开始或结束调试会话。 | — | — | 是 | 3 | — | — | — | — | — |
/defaultgamemode
|
更改默认的游戏模式。 | — | — | 是 | 2 | — | — | — | — | |
/deop
|
撤销玩家的管理员权限。 | 是 | 是 | 是 | 3 | MP | — | — | — | |
/difficulty
|
设置难度等级。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/effect
|
添加或移除状态效果。 | 是 | 是 | 是 | 2 | — | — | — | ||
/enchant
|
附魔玩家的物品。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/entitydata
|
更改实体的数据标签。 | — | — | 已移除 | 2 | — | — | — | — | |
/execute
|
执行另一命令。 | 是 | 是 | 是 | 2 | — | — | — | — | — |
/experience
|
给予玩家经验 | 是 | 是 | 是 | 2 | — | — | — | — | |
/fill
|
将某个区域填满特定方块。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/forceload
|
强制不断加载区块。 | — | — | 是 | 2 | — | — | — | — | |
/function
|
运行一个函数。 | 是 | — | 是 | 2 | — | — | — | — | — |
/gamemode
|
更改玩家的游戏模式。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/gamerule
|
更改或查询游戏规则值。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/give
|
给予玩家物品。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/help
|
提供命令使用帮助。 | 是 | 是 | 是 | 0 | — | — | — | — | — |
/home
|
将玩家传送至其出生点。 | — | — | 已移除 | 0 | — | — | — | — | — |
/kick
|
将玩家踢出服务器。 | — | — | 是 | 3 | MP | — | — | — | |
/kill
|
杀死实体(玩家、生物、物品等)。 | 是 | 是 | 是 | 2 | — | — | — | ||
/list
|
列出服务器中的玩家。 | 是 | 是 | 是 | 0 | — | — | — | — | |
/listd
|
以JSON形式列出服务器中的玩家。 | 仅限WebSocket执行 | 仅限WebSocket执行 | — | 2 | — | — | — | — | |
/locate
|
显示给定结构的最近坐标。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/loot
|
从一个物品栏中掉落物品到地面上。 | — | — | 即将到来 | 2 | — | ||||
/me
|
显示一条关于自己的信息。 | 是 | 是 | 是 | 0 | — | — | — | — | |
/mixer
|
Mixer交互性控制。 | 是 | — | — | 2 | — | — | — | — | — |
/mobevent
|
控制或查询允许运行的生物事件。 | 即将到来 | — | — | 2 | — | — | — | — | |
/msg
|
/tell的替代命令,向另一玩家发送私信。 | 是 | 是 | 是 | 0 | — | — | — | — | |
/op
|
授予玩家管理员权限。 | 是 | 是 | 是 | 3 | MP | — | — | — | |
/pardon
|
从封禁列表中移除项目。 | — | — | 是 | 3 | MP | — | — | — | |
/particle
|
创建颗粒。 | 是 | — | 是 | 2 | — | — | — | — | |
/playsound
|
播放音效。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/publish
|
向局域网开放单人游戏世界。 | — | — | 是 | 4 | 仅限SP | — | — | — | |
/recipe
|
解锁或锁定合成配方。 | — | — | 是 | 2 | — | — | — | — | |
/reload
|
从硬盘中重新加载战利品表、进度和函数。 | 是 | — | 是 | 4 | — | — | — | — | |
/replaceitem
|
替换物品栏中的物品。 | 是 | 是 | 是 | 2 | — | — | |||
/resupply
|
立即补给村庄新经济供需体系。 | 即将到来 | — | — | 2 | — | — | — | — | |
/save
|
准备备份,查询其状态或恢复。 | 是 | — | — | — | MP | — | — | — | |
/save-all
|
将服务器保存到硬盘。 | — | — | 是 | 4 | MP | — | — | — | |
/save-off
|
关闭服务器自动保存。 | — | — | 是 | 4 | MP | — | — | — | |
/save-on
|
开启服务器自动保存。 | — | — | 是 | 4 | MP | — | — | — | |
/say
|
向多个玩家发送消息。 | 是 | 是 | 是 | 1 | — | — | — | — | — |
/schedule
|
安排函数或标签在特定的游戏刻后运行。 | — | — | 即将到来 | 2 | — | — | — | — | — |
/scoreboard
|
管理记分板目标、玩家、队伍与标签。 | 是 | — | 是 | 2 | — | — | — | ||
/seed
|
显示世界种子。 | — | — | 是 | 2 | — | — | — | — | |
/setblock
|
将方块替换为其他方块。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/setidletimeout
|
设置无操作玩家被踢出的延时。 | — | — | 是 | 3 | MP | — | — | — | |
/setmaxplayers
|
设置可加入游戏的玩家数量上限。 | 是 | 是 | — | — | — | — | — | — | |
/setspawn
|
将当前位置设置为新玩家的默认出生点。 | — | — | 已移除 | 2 | — | — | — | — | — |
/setworldspawn
|
设置世界出生点。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/solid
|
相互切换放置石头状态和放置基岩状态。 | — | — | 已移除 | 2 | — | — | — | — | — |
/spawnpoint
|
为玩家设置出生点。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/spreadplayers
|
将实体传送到随机位置。 | 是 | 是 | 是 | 2 | — | — | — | ||
/stats
|
使用其他命令的结果控制记分项的更新。 | — | — | 已移除 | 2 | — | — | |||
/stop
|
关闭服务器。 | — | — | 是 | 4 | MP | — | — | — | |
/stopsound
|
停止音效。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/summon
|
生成实体。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/tag
|
修改玩家或实体的标签。 | 是 | — | 是 | 2 | — | — | — | ||
/team
|
修改队伍。 | — | — | 是 | 2 | — | — | — | ||
/teleport
|
/tp的替代命令,传送实体。 | 是 | 是 | 是 | 2 | — | — | — | ||
/teammsg
|
指定要发送给队伍的消息。 | — | — | 即将到来 | 0 | — | — | — | — | |
/tell
|
向另一玩家发送私信。 | 是 | 是 | 是 | — | — | — | — | — | |
/tellraw
|
向玩家显示JSON消息。 | 是 | — | 是 | 2 | — | — | — | — | |
/testfor
|
统计符合给定条件的实体。 | 是 | 是 | — | 2 | — | — | — | ||
/testforblock
|
测定某方块是否在某位置。 | 是 | 是 | — | 2 | — | — | — | — | |
/testforblocks
|
测定两个区域中的方块是否相同。 | 是 | 是 | — | 2 | — | — | — | — | |
/tickingarea
|
添加、删除或列出常加载区域。 | 是 | 是 | — | — | — | — | — | — | |
/time
|
更改或查询游戏中的世界时间。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/title
|
管理屏幕上的标题。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/toggledownfall
|
切换天气。 | 是 | 是 | — | 2 | — | — | — | — | |
/tp
|
传送实体。 | 是 | 是 | 是 | 2 | — | — | — | ||
/transferserver
|
将玩家转送至另一服务器。 | 是 | 是 | — | — | — | — | — | — | — |
/trigger
|
设置一个触发器。 | — | — | 是 | — | — | — | — | — | |
/unban
|
解除对一个玩家的封禁。 | — | — | 已移除 | 3 | MP | — | — | — | |
/w
|
/tell的替代命令,向另一玩家发送私信。 | 是 | 是 | 是 | 0 | — | — | — | — | |
/weather
|
设置天气。 | 是 | 是 | 是 | 2 | — | — | — | — | |
/whitelist
|
管理服务器白名单。 | — | — | 是 | 3 | MP | — | — | — | |
/worldborder
|
管理世界边界。 | — | — | 是 | 2 | — | — | — | — | |
/wsserver
|
连接至WebSocket服务器。 | 是 | 是 | — | — | — | — | — | — | — |
/xp
|
增加或减少经验。 | 是 | 是 | 是 | 2 | — | — | — | — |
命令指引
- 格式
显示 则 普通文本 直接输入该文本,应完全一致。 斜体 以合适的值替换斜体部分。 <尖括号> 这是必需参数。 [方括号] 这是可选参数。 x|y 在多个选项当中选择一个。
候选字符用竖线隔开:|。
省略号 … 此参数可能是含有空格的多个单词。 x:整数 此参数需要输入数字。 y:字符串 此参数可输入多个单词,且允许包含空格。
- 成功条件
- 只有情况符合命令的成功条件时游戏才会认为命令执行成功。成功与否本身会产生许多影响,例如接受命令方块红石信号的红石比较器的输出会有所变化。请注意,并非所有的“成功”的命令都会使世界有所改变,“失败”的命令也不意味着命令什么也没有做。
- 限制条件
- 描述该命令的执行者与执行条件要求。
- 是管理员:此命令只能由管理员或在启用作弊的单人游戏执行。在多人联机服务器中,这类命令的结果会向所有在线管理员通报。
- 不在命令方块上执行:此命令的执行者不能是命令方块。
历史
| Java版Classic | |||||
|---|---|---|---|---|---|
| 0.0.15a(多人测试3) | 增加/ban、/banip、/broadcast、/deop、/kick、/op、/tp和/unban命令。 | ||||
| 0.0.16a_01 | 将/broadcast命令变更为/say。 | ||||
| 0.0.17a | 增加/setspawn命令。 | ||||
| 0.0.20a | 增加/solid命令。 | ||||
| Java版Indev | |||||
| 0.31 | 所有命令被删除。 | ||||
| Java版Alpha | |||||
| 1.0.16 | 增加/ban、/ban-ip、/banlist、/deop、/home、/kick、/op、/pardon、/pardon-ip、/say和/stop命令。 | ||||
| 1.0.16_01 | 增加/save-all、/save-on、/save-off和/tp命令。 | ||||
| 1.0.16_02 | 增加/list和/tell命令。 | ||||
| 1.2.5 | 移除/home命令。 | ||||
| 1.2.6 | 增加/kill命令。 | ||||
| Java版Beta | |||||
| 1.3 | 增加/whitelist命令。 | ||||
| Java版 | |||||
| 1.3.1 | 12w16a | 增加作弊模式和/gamemode、/give、/time、/toggledownfall和/xp命令。 | |||
| 12w17a | 增加/help命令。
| ||||
| 多人游戏中的命令被显示为斜体。 | |||||
| 12w18a | 输入命令,使用书与笔书写,显示暂停菜单时游戏不再暂停。 | ||||
| 12w21a | 增加/seed命令。 | ||||
| 12w22a | 增加/defaultgamemode命令。 | ||||
| 12w24a | 增加/publish命令。 | ||||
| 12w25a | 可在将世界开放到局域网时开关作弊模式。 | ||||
| 12w27a | 增加/debug命令。 | ||||
| 12w30a | /gamemode 3改为/gamemode 0。 | ||||
| 1.4.2 | 12w32a | 增加/difficulty、/gamerule、/spawnpoint和/weather命令。
| |||
| 增加目标选择器。 | |||||
| 12w37a | 增加/clear命令。 | ||||
| 12w38a | /clear命令增加item参数。 | ||||
| 12w41a | /xp的限制从5,000加大到2,147,483,647。 | ||||
| 1.4.4 | 1.4.4-pre | 增加/enchant命令。 | |||
| 1.5 | 13w03a | 增加/testfor命令。 | |||
| 13w04a | 增加/scoreboard命令。 | ||||
| 13w09b | 增加/effect命令。 | ||||
| 1.6.1 | 13w23a | 增加/spreadplayers命令。
| |||
增加游戏规则naturalRegeneration。 | |||||
| 13w24a | 增加游戏规则doDaylightCycle。 | ||||
| 13w24b | /kill命令造成的伤害从1,000增加至3.4×1038。 | ||||
| 1.6-pre | /effect命令增加clear参数。 | ||||
| 1.6.1-pre | 增加/playsound命令。 | ||||
| 1.7.2 | 13w36a | 增加/summon命令。
| |||
增加/achievement命令。 | |||||
/give命令增加dataTag参数。 | |||||
| 13w37a | 增加/setblock、/tellraw和/testforblock命令。 | ||||
| 13w38a | 增加/setidletimeout命令。 | ||||
| 13w43a | 增加/setworldspawn命令。 | ||||
| 1.8 | 14w02a | 增加/blockdata命令。
| |||
增加目标选择器@e。 | |||||
/kill命令增加player|entity参数。 | |||||
/clear命令增加data参数。 | |||||
/testfor命令增加dataTag参数。 | |||||
/testfor命令可在命令方块以外运行。 | |||||
JSON文本规范中增加insertion属性。 | |||||
| 14w02c | 为修复44371,/kill命令现在直接清除非生物实体,不再对其造成3.4×1038虚空伤害。 | ||||
| 14w03a | /tp命令增加旋转角度参数。
| ||||
目标选择器增加dx、dy和dz参数。 | |||||
增加/clone和/fill命令。 | |||||
增加游戏规则logAdminCommands。 | |||||
| NBT数据现在支持使用字符串ID。 | |||||
| 虽然数字ID仍能在NBT数据中使用,但在其余命令中均不再有效。 | |||||
| 14w04a | 增加/particle命令。 | ||||
| 14w05a | /gamemode和/defaultgamemode命令增加spectator参数。 | ||||
| 14w06a | /effect命令增加hideParticles参数。
| ||||
增加/trigger命令。 | |||||
| 14w07a | 增加/execute和/testforblocks命令。
| ||||
/testfor命令现在只要求NBT标签被检测的部分一致。 | |||||
| 14w08a | 使用/execute执行命令的返回值会回传到运行/execute命令的命令方块上。 | ||||
| 14w10a | 增加游戏规则showDeathMessages。
| ||||
/clone命令增加force选项。 | |||||
| 14w17a | 增加/worldborder命令。
| ||||
增加游戏规则randomTickSpeed。 | |||||
| 14w19a | 增加/worldborder damage和/worldborder warning命令。 | ||||
| 14w20a | 增加/title命令。
| ||||
JSON文本规范中增加selector属性。 | |||||
/clone命令增加move选项。 | |||||
| 14w26a | 增加/worldborder add命令。
| ||||
增加/replaceitem命令。 | |||||
增加游戏规则sendCommandFeedback。 | |||||
| 14w28a | 增加/stats命令。 | ||||
| 14w29a | 增加/worldborder get命令。
| ||||
/particle命令增加force参数。 | |||||
增加/time query命令。 | |||||
| 允许设立自定义游戏规则。 | |||||
/stats命令增加QueryResults。 | |||||
| 14w30a | /summon命令可以召唤闪电。 | ||||
| 14w31a | /debug可在单人游戏中运行。
| ||||
/debug命令增加chunk参数。 | |||||
| 14w32b | 增加/entitydata命令。
| ||||
/give现在无法突破堆叠限制。 | |||||
| 1.8.1 | 1.8.1-pre1 | 增加游戏规则doEntityDrops。
| |||
游戏规则doTileDrops不再影响实体。 | |||||
| 1.9 | 15w37a | 增加游戏规则spectatorsGenerateChunks。 | |||
| 15w43a | 现在被/gamemode命令或F3 + N切换游戏模式的玩家会在聊天框中得到提示消息。 | ||||
| 15w49a | /playsound命令支持Tab键自动补全。
| ||||
/particle命令增加player和params参数。 | |||||
| 15w49b | /time query现在支持day作为参数值。 | ||||
| 15w51a | 增加游戏规则spawnRadius,用于指定重生点半径。 | ||||
| 16w02a | 目标选择器m接受游戏模式的全称及其缩写,如a和adventure,且可以将其反选,如@a[m=!a]。
| ||||
/playsound命令要求source参数,指定声音所属的分类,以归入音量控制。 | |||||
在命令方块中运行/help命令时,会在“上一个输出”中随机显示诙谐的语句。 | |||||
| 16w03a | /achievement命令不再影响统计数据。 | ||||
| 16w07a | 增加游戏规则disableElytraMovementCheck。 | ||||
| 1.9.3 | pre1 | /tp命令不再将玩家传送至-512<y<512以外的区域。 | |||
| pre2 | 增加/stopsound命令。 | ||||
| 1.10 | 16w21b | /tp命令的y轴坐标范围扩大至-4096~4096。 | |||
| 1.10-pre1 | 增加/teleport命令。与/tp效果类似,但传送目标必须指定、无法直接传送到其他玩家身上,且相对坐标基于命令执行者而非传送目标。 | ||||
| 1.11 | 16w32a | /execute、/fill、/setblock和/testforblock命令增加方块状态支持。 | |||
| 16w32b | /title命令增加显示文本至快捷栏上方的功能。 | ||||
| 16w38a | 增加游戏规则doWeatherCycle和maxEntityCramming。
| ||||
移除隐含目标选择器(如@e[167,28,454])。 | |||||
无效的目标选择器(如@e[Type=creeper]、@e[asdf=nonexistent]和@e[malformed])现在会产生错误,而不再被静默忽略。 | |||||
| 16w39a | 增加/locate命令。 | ||||
| 1.12 | 17w13a | 增加/recipe和/advancement命令。
| |||
增加游戏规则doLimitedCrafting。 | |||||
移除/achievement命令。 | |||||
| 17w16b | 增加游戏规则maxCommandChainLength。
| ||||
增加目标选择器@s,用于选择命令执行者。 | |||||
| 17w18a | 增加游戏规则announceAdvancements。 | ||||
增加/reload命令。 | |||||
| 1.12-pre1 | 添加了游戏规则gameLoopFunction。
| ||||
增加/function命令。 | |||||
| 1.13 | 17w45a | 命令中不同的部分现在由不同颜色标示,而即使不运行命令,错误部分也将会显示为红色。 | |||
| 在大部分情况下命令将不再允许出现大写字母,并运行得比以前更加快速而效率。 | |||||
在目标选择器中增加了nbt参数。 | |||||
| 修改了部分命令的语法。 | |||||
增加/tag与/team命令。 | |||||
移除/enchant、/stats、/testfor、/testforblock、/testforblocks与/toggledownfall命令。 | |||||
重写/execute命令。 | |||||
| 17w45b | 增加/data命令。
| ||||
移除/entitydata命令。 | |||||
| 17w46a | 增加/datapack命令。
| ||||
| 增加选项以切换命令自动补全的模式。 | |||||
| 命令界面的UI样式标准更新,并重新在多人游戏中工作。 | |||||
| 17w47a | 移除/blockdata命令。
| ||||
| 粒子名变更。 | |||||
| 17w48a | 调整了命令补全界面的UI。 | ||||
| 17w49b | 移除游戏规则gameLoopFunction,使用函数标签#minecraft:tick取代。 | ||||
| 18w01a | 增加/teleport的facing语法,这会调整目标实体面向的实体或坐标。
| ||||
为/time set增加了noon以及midnight选项。 | |||||
| 将所有自定义名称(如方块、物品、生物实体、方块实体)转变为可翻译的文本. | |||||
物品实体的NBT键Thrower和Owner不再是字符串,而以两个长整型组件L和M。 | |||||
雪球、鸡蛋和末影珍珠的NBT键owner不再是字符串,而以两个长整型组件L和M。 | |||||
| 18w02a | 命令中的错误现在有了更好的错误信息(提示中有更多的信息)。 | ||||
对/teleport进行了简化,并且现在允许跨维度传送了。 | |||||
增加 /execute的子命令用于允许对于命令的进一步控制。 | |||||
服务器命令现在将会执行于世界重生点而非固定为坐标0,0,0。 | |||||
| 18w03a | 命令和函数变得更快、效率更高了。 | ||||
| 为分析器添加了命令(/debug)。 | |||||
/data get的标签路径现在可以使用非数字标签。 | |||||
增加/particle <name> <pos>作为该命令的一个简写。 | |||||
| 18w05a | 增加/bossbar命令。
| ||||
新的子命令/execute store。 | |||||
| 为命令UI增加了基本的目标选择器。 | |||||
| 现在为不明确的命令提示。 | |||||
| 18w06a | 重新加入/enchant命令。
| ||||
| 为实体选择器添加命令建议。 | |||||
| 实体选择器和方块状态参数现在允许使用空格了。 | |||||
/locate现在接受之前在Temple分组下所有结构的不同名称Desert_Pyramid、Igloo、Jungle_Pyramid和Swamp_Hut。 | |||||
| 18w08a | 为/locate命令输出的坐标添加了可点击的传送链接(将传送指令输入至聊天窗口)。 | ||||
| 18w19a | /seed输出的种子现在可被直接通过点击来复制。 | ||||
| 18w20a | 组队现在可以有一个前缀和后缀。 | ||||
| pre7 | 增加 /scoreboard objectives modify <记分项> displayname <显示名称>。 | ||||
| pre8 | 增加 /team modify <队伍> displayName。
| ||||
增加 /scoreboard objectives modify <记分项> rendertype hearts,使生命值栏目显示为心形,就像这样: | |||||
增加 /scoreboard objectives modify <记分项> rendertype integer,使生命值栏目显示为黄色的数字。 | |||||
| 队伍名称、记分项名称现在为文本元件,而不是纯字符串。 | |||||
/team option 改为 /team modify。 | |||||
| 1.13.1 | 18w31a | 增加/chunk命令。 | |||
| pre1 | 将/chunk改名为/forceload。 | ||||
| 2018年9月26日 | 据MIT许可证开源open-sourced(曾在数据库网站提供了源代码,未指定许可证)。 | ||||
| 1.14 | 18w43a | 增加/drop和/schedule。
| |||
/replaceitem可在物品展示框上使用。 | |||||
| 18w44a | 删除了/drop 命令中的award 部分。 | ||||
| 18w45a | /drop更名为/loot并重做。 | ||||
| 19w02a | 增加/teammsg。 | ||||
| 携带版Alpha | |||||
| 0.7.4 | 增加了对命令的支持,但尚未实现任何命令。 | ||||
| 0.16.0 | build 1 | 增加/clearfixedinv、/clone、/deop、/execute、/fill、/gamemode、/give、/help(及其别名/?)、/kill、/list、/op、/say、/setblock、/setfixedinvslot、/setworldspawn、/spawnpoint、/summon、/tell(及其别名/msg和/w)、/testforblock、/testforblocks、/time、/toggledownfall、/tp(及其别名/teleport)、/weather、/wsserver和/xp命令。
| |||
大部分命令的功能与PC版1.10相同。差别在于:不支持数据标签、/clone命令无法使用forced模式、/gamemode命令仅允许指定创造模式和生存模式、/give命令中玩家目标为可选参数,以及/execute命令中实体目标为可选参数。 | |||||
| build 2 | 移除/clearfixedinv、/setfixedinvslot及其他教育版相关的命令。 | ||||
| build 5 | 增加/enchant命令。 | ||||
| 携带版 | |||||
| 1.0 | build 1 | 增加/locate和/connect命令。 | |||
| build 2 | 移除/locate命令。 | ||||
| build 3 | 重新增加/locate命令。仅能用于查找要塞。 | ||||
| 1.0.3 | build 1 | 增加/transferserver命令。 | |||
| 1.0.5 | build 1 | 增加/clear、/difficulty、/effect、/gamerule、/me、/particle、/playsound、/replaceitem、/spreadplayers、/stopsound、/testfor和/title命令。 | |||
| build 2 | 移除/particle命令。
| ||||
/effect命令的amplifier参数不再允许为负值。 | |||||
| 1.1 | build 1 | /replaceitem支持canplaceon和candestroy。
| |||
/locate可查找其他结构。 | |||||
增加游戏规则dodaylightcycle、doentitydrops、dofiretick、domobspawning、domobloot、dotiledrops、doweathercycle、keepinventory和mobgriefing。 | |||||
| 1.1 | 增加/setmaxplayers。 | ||||
| 基岩版 | |||||
| 1.2 | build 1 | 增加/tickingarea。 | |||
| 1.4 | 将/transferserver移动到开发者命令,玩家不再能够正常使用。 | ||||
| 1.6 | beta 1.6.0.6 | 为/gamerule增加游戏规则doInsomnia。 | |||
| 1.7 | beta 1.7.0.2 | 增加/scoreboard。 | |||
增加了游戏规则commandblocksenabled。 | |||||
| 1.8 | beta 1.8.0.8 | 重新加入/particle。 | |||
增加randomTickSpeed游戏规则。 | |||||
增加/reload。 | |||||
| 1.9 | beta 1.9.0.0 | 增加/tellraw。
| |||
增加showdeathmessages游戏规则。 | |||||
增加immediaterespawn游戏规则 | |||||
| beta 1.9.0.2 | 现在/kill可以杀死创造模式的玩家了。 | ||||
加入了/titleraw。 | |||||
| 1.11 | beta 1.11.0.1 | 增加/resupply。 | |||
| beta 1.11.0.3 | 增加/mobevent。 | ||||
漏洞
Template:Issue list
另见
| 版本 | |||||||
|---|---|---|---|---|---|---|---|
| 开发周期 |
| ||||||
| 技术 |
| ||||||
| 多人游戏 | |||||||
| 游戏订制 | |||||||