此特性为Java版独有。
advancement
| 需要的权限等级 | 2 |
|---|---|
| 限制条件 | 无 |
给予或移除玩家的进度。
语法
advancement (grant|revoke) <targets> everythingadvancement (grant|revoke) <targets> only <advancement> [<criterion>]advancement (grant|revoke) <targets> (from|through|until) <advancement>
参数
grant|revoke
- 要执行的动作,授予(grant)或移除(revoke)指定的进度。
<targets>:entity
- 指定一个或多个玩家。必须为玩家名或目标选择器。
- 不允许除了玩家以外的实体。
everything
- 操作玩家的全部已载入进度。
from
- 操作玩家的指定进度及其全部下游进度。
- 进度的遍历顺序是
-{}-指定进度 > 下游进度 > 下游进度的下游进度 > ……,以DFS遍历(即优先列举节点的子节点,而后才列举节点的兄弟节点)。 - 由于具体的进度树取决于操作系统读取文件的方式,因此在不同操作系统上具体的遍历顺序不尽相同。
only
- 仅操作玩家的指定进度。
through
- 操作玩家的指定进度及其全部上游和下游进度。
- 进度的遍历顺序是
until和from的结合,首先进行until,然后进行from,即-{}-上游进度 > 上游进度的上游进度 > …… > 根进度 > 指定进度 > 下游进度 > 下游进度的下游进度 > ……。
until
- 操作玩家的指定进度及其全部上游进度。
- 进度的遍历顺序是
-{}-上游进度 > 上游进度的上游进度 > …… > 根进度 > 指定进度。
<advancement>:resource_location
- 指定要给予、移除或检测的进度。必须是有效进度识别符。
<criterion>:string
- 指定要操作的进度的条件。必须是有效进度条件识别符。
- 默认是所有进度。
- 若指定,命令只会遵循该完成条件,而不是全部进度。
效果
| 命令 | 触发条件 | Java版 |
|---|---|---|
| 任意 | 参数不正确 | 无法解析 |
<targets>未能解析出至少一个在线玩家 |
执行失败 | |
| 没有从任何玩家授予或移除进度或条件 | 执行出错 | |
... only <advancement> <criterion> |
指定的<criterion>对<advancement>不可用 |
|
| 任意 | 执行成功时 | 从玩家添加授予或移除进度或条件 |
输出
| 命令 | 版本 | 条件 | 成功次数 | /execute store success ... |
/execute store result ... |
|---|---|---|---|---|---|
| 任意 | Java版 | 出错时 | 0 | 不改变 | 不改变 |
| 失败时 | 0 | 0 | 0 | ||
| 成功时 | 1 | 1 | 从每个玩家授予或移除的进度或条件总数 |
示例
- 授予自己“钻石护体”进度:
advancement grant @s only minecraft:story/shiny_gear - 授予所有玩家所有进度:
advancement grant @a everything
我的世界中文站 国内知名Minecraft中文主题网站