Minecraft Wiki

The Minecraft Wiki is no longer considered as official by Microsoft and therefore several changes are required to be made, including to the wiki's logo. Please read this announcement for more information.

READ MORE

Minecraft Wiki
Advertisement
Information icon.svg
This feature is exclusive to Java Edition. 
advancement
Permission level
required

2

Restrictions

None

Gives or takes an advancement 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 children 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 children 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 namespaced id of the advancement to target.
Must be a resource location.

<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.

Result[]

CommandTriggerJava Edition
anythe 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>
anyOn successgrants or removes the specified advancement(s) or criterion(s) to the player(s).

Output[]

CommandEditionSituationSuccess Count/execute store success .../execute store result ...
anyJava EditionOn error0unchangedunchanged
On fail000
On success11the 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.1217w13aAdded advancement.
1.1317w45aRemoved advancement test in favor of advancement target selectors.

See also[]

Advertisement