令

是篇載控制檯令之事也。至於行令之塊，宜閱「**命令塊**」。至於行令之礦車，宜閱「**命令塊礦車**」。至於基石版開發者試之令，宜閱「**基岩版开发者命令**」。
**命令（Command）**，簡稱**令**，亦稱**控制檯令（Console Command）**或**斜杠令（Slash Command）**，入字串而行能也。

法

於客戶端，令入以論議，抑`T`、[僅基石及教育版]、[僅基石版]（默認）或`/`出之。用`/`而出斜槓以需（/），故實用也。`↑``↓`二者可覽先後之文，令。`Tab ↹`覽令並参，亦可入準星指座標（實體者於爪哇版，可指之入其UUID）。

於命令塊，令**可**以斜槓首而非須。

令亦可入於伺服器，而**勿**入`/`首。

多令惟效於：

* 於眾戲，用以管理員或命令塊，亦或允舞弊者。
* 於獨戲，舞弊開也。

權`0`等之令可為眾人所用。詳見權等。

**注：**爪哇版內，於獨戲，舞弊關者，仍可布於區網（`Esc`而『供區網共戲』，開『允舞弊』）而舞弊少時。此間可行令，且改皆存也。亦可反復。

### 座標

主篇：座標
令中座標可以三絕對座標（`X Y Z`）組而示。亦可以波浪號（`~`）定相對座標、脱字符（`^`）定局部座標。

### 目標選擇器

主篇：目標選擇器
目標選擇器，用之頻也。亦用於原始JSON文本。

目标选择器分为两个部分，分别为变量和参数。

* 变量是目标选择器必要的成分，可以大致地指定要选择的实体（例如：所有实体、距离最近的玩家、与NPC交互的玩家等）。
* 参数是可选的，负责修饰变量，可以对变量选中的实体进行进一步的过滤。参数中有许多子参数供玩家使用（例如：type、name、scores等）。

### NBT簽

主篇：NBT格式
**NBT标签**是一种树状数据结构，可以被用花括号包含的键值对（即**SNBT**）描述。SNBT用于Java版的命令中，用于指定玩家、实体和一些方块的较为复杂的数据。

SNBT由零个或多个用逗号分隔的键值对组成，且本身用大括号括住。每个键值对包含键名和键值，用冒号分开。但是，有些键值可以继续包含键值对，因此SNBT可以用来描述层次结构。

*例：* `{name1:123,name2:"sometext",name3:{subname1:456,subname2:789}}`
这些NBT标签所采用的数据结构与Minecraft世界存档相同。这种数据结构在其他条目中有详细描述。NBT标签中键名有严格的限定（区分大小写）：

数据结构规范链接
 其他实体 | 烟花火箭、画和物品展示框

指定键名的键值也必须符合数据类型要求。

NBT簽錄類
*例：*`3.1415927`
**Double**: 六十四位雙精度浮點數，於-1.7E+308、+1.7E+308間。

*例：*`3.141592653589793`
  字串（string） | 一串字符，如果内容包含不在 `a-z A-Z 0-9 _ .`（不包括空格）的字符则需要在整个字符串前后加上双引号。`\`可以将后面的字符转义（支持像JSON那样的转义，如`\n`與`\u00a7`）。转义方式为，在`"`及`\`号前加上`\`。
*例：* `{X:3,Y:64,Z:129}`
每个NBT标签的内容本身就是一个复合标签。
  字節數組（byte-array） | 介于-128和127（包含）之间的整数序列，用逗号分隔内容并用方括号包含，首个元素前方需要加入类型标识`B;`。

某些命令要求明确指明某些数值的数据类型，这可以通过在数值后附加限定字符（B、S、L、F、D）来实现。举例来说，`3s`表示短整型，`3.2f`表示单精度浮点，等等。（字符I不能限定整型。）限定字符不区分大小写。在不加限定字符，且Minecraft无法根据上下文来确定数据类型或需要比对NBT标签时，会将数据类型假定为双精度浮点型（数值有小数部分时）、整型（数值没有小数点，且在整型取值范围内）或字符串（若前述情况均不符合）。被方括号包含的集合中，被逗号分隔的元素若全为整型，则会将数据类型假定为整型数组（如`[I;1,2,3]`是一个整型数组，`[L;1L,2L,3L]`是一个长整型数组）；否则会假定为。但有以下特例：`[]`是一个空，而`[,]`是一个空整型数组。

如果用`/clear`等命令来查找NBT标签，这些命令只会检查目标实体/方块/物品是否存在此标签。这意味着一个符合条件的实体/方块/物品可能同时还拥有其他标签。这对和数组同样成立：只要或数组中包含待查找的所有元素，就会成功匹配，既不考虑元素的排列顺序，也不考虑是否有多余的元素存在。

### 原始JSON文本

主篇：原始JSON文本格式
爪哇版內，`/tellraw`和`/title`命令使用严格的JSON语法以显示文字。此外，部分NBT标签的值需要输入原始JSON文本。

基石版內，原始JSON文本可以作用于`/tellraw`的内容、`/titleraw`的标题、书与笔的文本（题目和作者除外）、告示牌的文本以及NPC的对话的编辑（操作员在编辑时，效果不可见）。

### Java版中的ID参数

另見：命名空间ID§从字符串识别
许多命令要求指定某种方块、物品、实体、药水效果、附魔、boss栏等的ID。在下文的命令语法中，这些参数会被标注为`-{}-<*方块*>`、`<*物品*>`，或在实例中用诸如`minecraft:stone` 之类的标识符替换。这些ID都有命名空间。所有来自Minecraft的内容都使用`minecraft`命名空间，而来自mod及数据包的内容都使用其他命名空间。 在大多数情况下，可以省略命名空间为`minecraft`的ID的前缀，但是在某些情况下，例如匹配NBT标签时，需要完整的命名空间ID。

#### `-{}-<*方块*>`

例子：

* `stone`
* `minecraft:redstone_wire[power=15,north=up,south=side]`
* `minecraft:jukebox{RecordItem:{...}}`
* `minecraft:furnace[facing=north]{BurnTime:200}`

`-{}-<*方块*>`参数的格式为`-{}-*命名空间ID*[*方块状态*]{*NBT标签*}`，其中方块状态和NBT标签在不需要时可以省略。

* 方块的命名空间ID是必需的（如果没有设定命名空间则将默认为预设值：`minecraft:`）。
* 方块状态是可选的，位于`[]`内，名称与值用等号分隔，名称数值组用逗号分隔，且必须是该方块支持的状态：
`-{}-[<*方块状态名称*>=<*值*>,<*方块状态名称*>=<*值*>,…]`
	+ `minecraft:stone[doesntexist=purpleberry]`有语法错误，因为`stone`（石头）没有`doesntexist`状态。
	+ `minecraft:redstone_wire[power=tuesday]`有语法错误，因为`redstone_wire`（红石线）的`power`是一个在0和15之间的数字。
* NBT标签是可选的，位于`{}`内。
* 如果方块参数被用于检查方块，则只会检查参数内指定了的方块状态与NBT标签是否符合。
* 如果方块参数用于放置方块，你所提供的任何状态与标签都会被设置，而其他未提供的状态与标签会被设为预设值
	+ 如当你设置`redstone_wire[power=15]`，那它将设置`power`到15却使`north`设为预设值（在这个情况下被设置为`none`）

如果方块参数被用于检查方块，则也可以填写带`#`前缀的方块标签的命名空间ID，如`#minecraft:planks`。

#### `<*物品*>`

例子：

* `stone`
* `-{}-minecraft:stick{display:{Name:"\"谎言之杖\""}}`

`<*物品*>`参数的格式为`-{}-*命名空间ID*{*NBT标签*}`，其中NBT标签在不需要时可以省略。

* 物品的命名空间ID是必需的（如果没有设定命名空间则将设为预设值`minecraft:`）。
* NBT标签位于`{}`，是可选的。

### 权限等级

**权限等级**用于控制命令执行者可以执行什么命令。比如爪哇版內，`/kick`不能在命令方块中执行，因为这个命令需要`3`的权限等级，而命令方块的权限等级仅为`2`。

爪哇版內，权限等级可为`0`，`1`，`2`，`3`或`4`。

* 命令方块或命令方块矿车的权限等级为`2`。
* 服务器控制台的权限等级为`4`。
* 函数的权限等级为`2`（可在server.properties中更改）。
* `/execute`执行子命令的权限等级为`2`。
* 对于玩家来说：
	+ 如果该玩家是服务器的管理员，那么他的权限等级由`ops.json`中的值决定（默认为`4`）。
	+ 如果该玩家已经启用作弊，并在单人游戏世界中或是局域网世界的所有者，那么他的权限等级为`4`。
	+ 如果该玩家在一个允许作弊的局域网世界中，那么他的权限等级为`4`。
	+ 否则，他的权限等级为`0`。

基石版內，权限等级可为`0`，`1`，`2`，`3`或`4`。

* 命令方块或命令方块矿车的权限等级为`1`。
* 服务器控制台的权限等级为`4`。
* 函数和附加包中的脚本的权限等级为`1`。
* `/execute`执行子命令的权限等级为`1`[求驗]。
* 对于玩家来说：
	+ 如果该玩家在服务器中，且该玩家在“玩家权限”屏幕中的“操作员命令”开关已打开，那么他的权限等级默认为`1`（可在server.properties中更改）。
	+ 如果该玩家在单人游戏世界或局域网世界中，且该玩家在“玩家权限”屏幕中的“操作员命令”开关已打开，那么他的权限等级默认为`3`。
	+ 否则，他的权限等级为`0`。[當測]

注：命令的权限等级与暂停菜单和“玩家权限”屏幕中的身份（访客，成员，操作员或自定义）不同。例如在单人游戏世界中，身份为操作员的玩家的权限等级为`3`，因为其对应的“操作员命令”开关已打开；身份为访客或成员的玩家的权限等级为`0`，因为其对应的“操作员命令”开关没有打开。[僅基石版]

## 命令列表及其概述

下表列出了所有可用命令，包括即将到来的命令。点击表头可以排序。

点击每一行第一格中的链接可以查看命令的具体用法。

### 隐藏命令

**此爲BE版獨有事也。**

这类命令通常需要使用WebSocket服务器代为执行，在游戏界面中无法被执行。

### 已移除的命令

#### 基岩版开发者命令

**此爲Be版獨有事也。**

主篇：基岩版开发者命令
基岩版开发者命令是供游戏的开发和测试使用的，在正式版本中玩家通常无法看见并执行这些命令。

#### 智能体命令

**是篇所述，教育版之事也。**

其惟見於教育版，以及基石版之啟「教育版」選項者。

以下命令已由`/agent`取代：

* `/attack`
* `/collect`
* `/createagent`
* `/destroy`
* `/detectredstone`
* `/detect`
* `/dropall`
* `/drop`
* `/getitemcount`
* `/getitemdetail`
* `/getitemspace`
* `/inspectdata`
* `/inspect`
* `/move`
* `/place`
* `/till`
* `/tpagent`
* `/transfer`
* `/turn`

## 命令指引

另見：命令术语列表
格式
爪哇版內：

 `-{}-省略 ...` | 需要接入一条子命令。

基石版內：

 `-{}-参数：字符串` | 此参数是**字符串**。

成功条件
只有情况符合命令的成功条件时游戏才会认为命令执行成功。成功与否本身会产生许多影响，例如接收了命令方块红石信号的红石比较器，其输出会有所变化。请注意，并非所有的“成功”的命令都会使世界有所改变，“失败”的命令也不意味着命令什么也没有做。

限制条件
描述该命令的执行者与执行条件要求。
* *无：*此命令可以由任何玩家在任何世界执行。下列命令没有限制条件：`/help`、`/me`、`/tell`和`/trigger`。
* *是管理员：*此命令只能由管理员或在启用作弊的单人游戏执行。在多人游戏服务器中，这类命令的结果会向所有在线管理员通报。
* *仅多人游戏：*此命令只能在多人游戏服务器中执行。下列命令只能在多人游戏服务器中执行：`/ban`、`/ban-ip`、`/banlist`、`/deop`、`/kick`、`/list`、`/op`、`/pardon`、`/pardon-ip`、`/save-all`、`/save-off`、`/save-on`、`/setidletimeout`、`/stop`和`/whitelist`。

所有多人游戏限定的命令都不允许参数中有目标选择器。
除了`/list`、`/kick`[僅基石版]所有的多人游戏命令都不能由命令方块执行。
许多这类命令都可以对从未进入服务器甚至非Minecraft账户的玩家使用。
* *不在命令方块上执行：命令方块不能执行此命令*。

历史
--

参见
--

* 样式代码
* 实体格式