Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Information icon.svg
此特性为Java版独有。
advancement
需要的权限等级

2

限制条件

给予或移除玩家的进度

语法[]

advancement (grant|revoke) <targets> everything
advancement (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

操作玩家的指定进度及其全部上游和下游进度。
进度的遍历顺序是untilfrom的结合,首先进行until,然后进行from,即上游进度 > 上游进度的上游进度 > …… > 根进度 > 指定进度 > 下游进度 > 下游进度的下游进度 > ……

until

操作玩家的指定进度及其全部上游进度。
进度的遍历顺序是上游进度 > 上游进度的上游进度 > …… > 根进度 > 指定进度

<advancement>resource_location

指定要给予、移除或检测的进度。必须是有效进度识别符。

<criterion>string

指定要操作的进度的条件。必须是有效进度条件识别符。
默认是所有进度。
若指定,命令只会遵循该完成条件,而不是全部进度。

效果[]

命令触发条件Java版
任意参数不正确 无法解析
<targets>未能解析出至少一个在线玩家 执行失败
没有从任何玩家授予或移除进度或条件 执行出错
... only <advancement> <criterion>指定的<criterion><advancement>不可用
任意执行成功时从玩家添加授予或移除进度或条件

输出[]

命令版本条件成功次数/execute store success .../execute store result ...
任意Java版出错时0不改变不改变
失败时000
成功时11从每个玩家授予或移除的进度或条件总数

示例[]

[需要更多信息]

  • 授予自己“钻石护体”进度:advancement grant @s only minecraft:story/shiny_gear
  • 授予所有玩家所有进度:advancement grant @a everything

历史[]

Java版
1.1217w13a加入了/advancement命令。
1.1317w45a移除了/advancement test的用法,以应对实体选择器的修改。

参见[]

Advertisement