指令(Command),也被称作控制台指令(Console Command)或斜杠指令(Slash Command),也称作命令是游戏《
Minecraft》中通过输入特定文本字符串而激活的高级功能。
使用方法
一般的客户端中,命令由
Minecraft的聊天视窗中输入,借由按下T键(预设) 或/键(预设),手机版顶端聊天键,手柄十字键右键(预设)叫出聊天视窗。使用/键也会同时输入命令必备的前缀斜线(/),因此这是个实用的快捷键。在输入命令时按下↑键或↓键可浏览之前输入的文本,包含所有之前执行的命令。按下Tab ↹键会循环可用的命令或参数,也可以快速输入准星当前指向方块的坐标(在Java版输入实体参数时,如果准星指向某个实体,则可以直接输入其
UUID)。当光标在某些参数(比如一个ID)的对应位置时,在文本框上方会展示一个可用值的列表。如果这个参数已经输入了一半,这个列表则只会展示包含当前输入内容的值。
命令也可以在多人
服务器的控制台输入,但是不能加入前缀的/。在英语中,以这种方式执行命令的服务器管理员被称为“ghosting”。命令方块中的命令可以加入前缀/,但是非必要。命令方块中的命令可能还会要求可选择的参数,通常是玩家的名字。
命令可通过以下方式执行:
指引
语法表示
每条命令都由若干以空格隔开的片段组成。以下格式用以辅助表示命令语法中各片段的含义。
在Java版中
例如,[]是可选的参数,而[size]是可选的字面量。
以advancement (grant|revoke)
only []为例,其中advancement和only是需要原样输入的字面量,(grant|revoke)是需要从grant和revoke中选择一个输入的字面量,和是必需的以合适值替换的参数,[]是可选的以合适值替换的参数。在基岩版中
其中尖括号修饰符(<输入项>)一般不修饰字面量,必选的字面量不需添加修饰符。例如,set和都表示必选的字面量,但后者不会在游戏中出现。而是必选的参数。
在Java版和基岩版中,方括号都表示可选。被方括号修饰的输入项只能位于命令末尾,不会出现在命令中间。命令结尾允许并列出现多个方括号,如位于命令结尾的a [b] [c]表示只有a、a b和a b c三者是合法的。
限制条件
大部分命令要求执行上下文要有足够的权限等级,这就意味着大部分命令在单人游戏中只有在开启作弊的情况下才能被使用,并且在多人游戏服务器中需要玩家是管理员时才能使用。详见权限等级。
一些命令对当前的游戏和世界有限制。
仅专用服务器:此命令只能在专用服务器中执行。
仅单人游戏:此命令不能在专用服务器中执行。
作弊
创建新的世界时,可以通过“允许作弊”[仅JE]或“无敌模式”[仅BE]选项启用作弊。
在Java版中,创建新的世界时的“允许作弊”选项仅影响离线单人世界的玩家或局域网世界的所有者。对局域网开放时的“允许作弊”选项会影响局域网世界中的所有玩家。
在Java版中,当前的离线单人游戏如果未开启作弊,可以通过公开目前的游戏至局域网(Esc→“对局域网开放”,点选“允许作弊”为开,接着“创建局域网世界”)而暂时可以作弊。你不必实际连入局域网或等待别人加入。这并不是永久的,但直至退出世界前都可以使用命令,且命令做出的修改都会被保存(物品、生物生成等)。你可以在再次开启游戏时重复以上步骤。注意对局域网开放后游戏便无法暂停,所以在公开到局域网时若有需要,最好在你的世界中找个安全的地方。你可以重新载入世界来取消对局域网开放。若要永久开启作弊,必须修改level.dat文件。
在基岩版中,作弊可以随时使用设置菜单中的选项切换。开启作弊会导致玩家在该世界永远无法获得成就,即使后来再关闭作弊也一样。
结果
尝试执行命令后会产生不同的效结果,包括无法解析、执行失败、执行成功、Void、执行中断、执行错误[仅JE]。
无法解析
若当前游戏、世界或执行上下文不满足命令的限制条件,或输入的命令不完整,或存在无法解析的参数,该命令就无法解析。
在Java版中,当向聊天栏输入参数时,若一个参数无法解析,则会向玩家发出提示。
在Java版中,若参数无法解析,参数将被标记为红色,聊天栏上方会显示语法错误信息。
在基岩版中,当在聊天栏输入命令时,若某一个参数无法被客户端解析,则语法提示中的下一个参数将从灰色变为白色。如果所有的参数(包括可选参数)都被输入,那么整个语法提示都将从灰色变为白色。然而,能被客户端解析,并不能保证此参数能被服务端解析。
在Java版中,在命令方块中输入命令与在聊天栏中输入时的行为相同。
在基岩版中,当在一个命令方块中输入命令后,若命令无法解析,在关闭命令方块界面时,会把一个错误信息输出到命令方块的输出框中。当尝试执行一个无法解析的命令时,将显示错误信息。
在Java版中,提示信息为“未知或不完整的命令,错误见下”或“错误的命令参数”。在基岩版中,为“未知的命令”或“语法错误:意外的错误”:出现在“错误所在位置”。
若在函数文件中存在无法解析的命令,此函数将无法被加载到游戏中。
在基岩版中,如果脚本中存在无法解析的命令,则在尝试运行该命令时会抛出错误。
执行错误[仅JE]
如果一个命令执行错误,则意味着该命令存在显著的漏洞。从技术上来说,该命令在执行时抛出了除brigadier.exceptions.CommandSyntaxException以外的异常。Void[仅JE]仅存在于/function命令。命令Void时,没有result或success值可供/execute store命令存储。
执行中断[仅JE]
仅存在于/execute命令。即在执行一个/execute命令的过程中,执行分支数量变成了0,在执行末尾的子命令前就已经停止,称为执行中断。比如在命令方块中执行/execute as @s run...。
执行失败和执行成功
如果命令不是无法解析、执行错误、Void或执行中断,则该命令的结果可分为执行失败或执行成功。如果此时该命令的成功次数为0,则命令执行失败。否则,命令执行成功。命令的成功次数,可以由红石比较器从命令方块接收,由脚本获取[仅BE]。
在Java版中,如果该命令无法被命令方块执行,则当/execute store success ... run ...储存0时命令失败,当/execute store success ... run ...储存1时命令成功。
在基岩版中,即使该命令无法被命令方块或脚本执行,它依旧存在成功次数,只不过无法获取。
请注意,只有在命令不是无法解析、执行错误、Void或执行中断时,才存在执行失败和执行成功。尽管当无法解析、执行错误、Void或执行中断时,命令的成功次数为0,但它不会被视为执行失败,也不是执行成功。
请注意,并非所有的“执行成功”的命令都会使世界有所改变,“执行失败”的命令也不意味着命令什么也没有做。
坐标
命令中的坐标可以用三个绝对坐标(X Y Z)组成的一组坐标来表示。也可以使用波浪号(~)及给出增量来指定相对坐标和使用脱字符(^)及给出偏移来指定局部坐标。绝对坐标与相对坐标可以混用,但它们都不能与局部坐标混用。
目标选择器
目标选择器是命令中使用得最频繁的参数之一,允许规范地、自由地选择将要参与命令的实体。目标选择器也在原始JSON文本中使用。
NBT标签
NBT标签是一种树状数据结构,可以被用花括号包含的键值对(即SNBT)描述。SNBT用于Java版的命令中,用于指定玩家、实体和一些方块的较为复杂的数据。
SNBT由零个或多个用逗号分隔的键值对组成,且本身用大括号括住。每个键值对包含键名和键值,用冒号分开。但是,有些键值可以继续包含键值对,因此SNBT可以用来描述层次结构。
这些NBT标签所采用的数据结构与Minecraft世界存档相同。这种数据结构在其他条目中有详细描述。NBT标签中键名有严格的限定(区分大小写):
指定键名的键值也必须符合数据类型要求。
某些命令要求明确指明某些数值的数据类型,这可以通过在数值后附加限定字符(B、S、L、F、D)来实现。举例来说,3s表示短整型,3.2f表示单精度浮点,等等。(字符I不能限定整型。)限定字符不区分大小写。在不加限定字符,且Minecraft无法根据上下文来确定数据类型或需要比对NBT标签时,会将数据类型假定为双精度浮点型(数值有小数部分时)、整型(数值没有小数点,且在整型取值范围内)或字符串(若前述情况均不符合)。被方括号包含的集合中,被逗号分隔的元素若全为整型,则会将数据类型假定为整型数组(如[I;1,2,3]是一个整型数组,[L;1L,2L,3L]是一个长整型数组);否则会假定为列表。但有以下特例:[ ]是一个空列表,而[ , ]是一个空整型数组。
如果用/clear等命令来查找NBT标签,这些命令只会检查目标
实体/
方块/物品是否存在此标签。这意味着一个符合条件的实体/方块/物品可能同时还拥有其他标签。这对列表和数组同样成立:只要列表或数组中包含待查找的所有元素,就会成功匹配,既不考虑元素的排列顺序,也不考虑是否有多余的元素存在。
权限等级
权限等级用于控制命令执行者可以执行什么命令。比如在Java版中,/kick不能在命令方块中执行,因为这个命令需要3的权限等级,而命令方块的权限等级仅为2。
注:命令的权限等级与暂停菜单和“玩家权限”屏幕中的身份(访客,成员,操作员或自定义)不同。例如在单人游戏世界中,身份为操作员的玩家的权限等级为3,因为其对应的“操作员命令”开关已打开;身份为访客或成员的玩家的权限等级为0,因为其对应的“操作员命令”开关没有打开。[仅BE]
命令列表及其概述
缩写说明:下面的表格中,BE为基岩版,JE为Java版,EE或EDU为教育版,SP为单人游戏,MP为多人游戏,WS为WebSocket服务器。
普通命令
以下列出了所有可以在正常版本的Minecraft中使用的指令
隐藏命令
这类命令通常需要使用WebSocket服务器代为执行,在游戏界面中无法被执行。
已移除的命令
以下列出了已经被移除的命令。
基岩版开发者命令
以下列出了可在Minecraft基岩版开发版执行的命令。在正常版本的Minecraft中,玩家无法看见并执行这些命令。但是在IOS端基岩版1.2.13中,这些指令意外出现在了正式版本的游戏里。随后在IOS端基岩版1.2.14更新后将这些指令移除了。
(来源)
智能体命令
以下命令已由/agent取代:
愚人节命令
仅适用于Java版。
历史
参考资料
命令.中文Minecraft Wiki.2024-02-22