View at: Template:Commands/content [edit]
Commands/advancement - minecraft.fandom.com
Jump to navigation
Jump to search
Treść tej podstrony pochodzi z artykułu „Commands/advancement” w domenie minecraft.fandom.com na licencji CC BY-NC-SA 3.0
This feature is exclusive to Java Edition.
Gives or takes an advancement or its criterion from one or more players.
Syntax[]
advancement (grant|revoke) <targets> everything- Adds or removes all loaded advancements.
advancement (grant|revoke) <targets> only <advancement> [<criterion>]- Adds or removes a single advancement or criterion.
advancement (grant|revoke) <targets> from <advancement>- Adds or removes an advancement and all its child advancements.
- Think of specifying everything from that advancement to the end.
- The exact order the operation is carried out in is
specified advancement > child > child's child > ...When it operates on a child that branches, it iterates through all its children before continuing.
advancement (grant|revoke) <targets> through <advancement>- Specifies an advancement, and adds or removes all its parent advancements, and all its child advancements.
- Think of specifying everything through the specified advancement, going both backwards and forwards.
- The exact order the operation is as if the command were executed with "until" specified, then with "from" specified:
parent > parent's parent > ... > root > specified advancement > child > child's child > ...
advancement (grant|revoke) <targets> until <advancement>- Adds or removes an advancement and all its parent advancements until the root for addition/removal.
- Think of specifying everything from the start until that advancement.
- The exact order the operation is carried out in is:
parent > parent's parent > ... > root > specified advancement.
Arguments[]
grant|revoke
- Specifies whether to add or remove the to-be-specified advancement(s).
<targets>: entity
- Specifies one player or more.
- Must be a player name, a target selector or a UUID. And the target selector must be of player type.
<advancement>: resource_location
- Specifies a valid resource location of the advancement to target.
- Must be a resource location which will be resolved during command execution into unregistered content or client-side content.
<criterion>: string
- Specifies a valid criterion of the advancement to manipulate.
- The command defaults to the entire advancement.
- If specified, the command refers to merely the criterion and not the entire advancement.
- Must be a string. And it is a greedy phrase (taking the rest of the command as the string argument).
Result[]
| Command | Trigger | Java Edition |
|---|---|---|
| any | the arguments are not specified correctly | Unparseable |
if <entity> fails to resolve to one or more online players | Failed | |
| there's no advancement/criterion added to/remove from any player | Error | |
... only <advancement> <criterion> | the <criterion> is invalid for the <advancement> | |
| any | Otherwise | Successful |
Output[]
| Command | Edition | Situation | Success Count | /execute store success ... | /execute store result ... |
|---|---|---|---|---|---|
| any | Java Edition | On error | 0 | unchanged | unchanged |
| On fail | 0 | 0 | 0 | ||
| On success | 1 | 1 | the total number of advancements/criterions added to/removed from each player. |
Examples[]
- To grant the "Cover Me With Diamonds" advancement to your player, execute the command
/advancement grant @s only minecraft:story/shiny_gear. - To grant all advancements to every player, execute
/advancement grant @a everything.
History[]
| Java Edition | |||||
|---|---|---|---|---|---|
| 1.12 | 17w13a | Added advancement. | |||
| 1.13 | 17w45a | Removed advancement test in favor of advancement target selectors. | |||
See also[]
/gamerule announceAdvancements