/advancement
Grants or revokes advancements from players. Can target specific advancements, advancement trees, or all advancements.
Overview
Grants or revokes advancements from players. Can target specific advancements, advancement trees, or all advancements. In vanilla Minecraft Java Edition it is one of the data commands and has been available since version 1.12.
It is invoked as /advancement and accepts 3 required arguments (
Advancements are organized in trees. 'from' grants the advancement and everything after it, 'until' grants the advancement and everything before it, 'through' grants the advancement and all connected advancements in both directions.
Modes traverse the advancement tree: 'from' grants the target and everything after it, 'until' everything before it, and 'through' the target plus everything connected in both directions.
Syntax & Arguments
/advancement <grant|revoke> <targets> <everything|from|only|through|until> [<advancement>] [<criterion>]The full syntax is /advancement . Angle brackets < > mark required arguments and square brackets [ ] mark optional ones; a vertical bar | between words means you pick exactly one of those literals. You must always supply
- action
- Required, of type a literal. grant or revoke.
- targets
- Required, of type an entity. The player(s) to affect.
- mode
- Required, of type a literal. everything = all advancements; only = single advancement; from/through/until = advancement tree traversal.
- advancement
- Optional, of type a resource. The specific advancement ID (not needed for 'everything').
- criterion
- Optional, of type a string. A specific criterion within the advancement (only with 'only' mode).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| action | literal | Required | grant or revoke. |
| targets | entity | Required | The player(s) to affect. |
| mode | literal | Required | everything = all advancements; only = single advancement; from/through/until = advancement tree traversal. |
| advancement | resource | Optional | The specific advancement ID (not needed for 'everything'). |
| criterion | string | Optional | A specific criterion within the advancement (only with 'only' mode). |
Examples
The 3 examples below are ready to copy and adapt. For instance, /advancement grant @s everything grants all advancements to yourself. Each example varies the arguments to show a different real use of /advancement; read the note under every snippet to see exactly what changes.
/advancement grant @s everythingGrants all advancements to yourself.
/advancement revoke @a everythingRevokes all advancements from all players.
/advancement grant @p only minecraft:story/mine_stoneGrants just the "Stone Age" advancement to the nearest player.
Permission Level & Requirements
/advancement sits at permission Level 2 - Game Master / Cheats, which means it needs permission level 2, the level cheats grant to single-player worlds and that operators hold by default.
In a single-player world you must have "Allow Cheats" turned on (or open the world to LAN with cheats) before it will run; on a multiplayer server the player needs to be an operator at the matching level.
This reference describes the Java Edition 1.21 form of the command; Bedrock Edition may use slightly different argument formats.
Common Mistakes
- Using the display name instead of the advancement ID, you must use the namespaced ID (minecraft:story/mine_stone).
- Granting 'everything' in a world with many data packs, this can grant hundreds of advancements at once.
Notes
Advancements are organized in trees. 'from' grants the advancement and everything after it, 'until' grants the advancement and everything before it, 'through' grants the advancement and all connected advancements in both directions.
Related Commands
If /advancement is part of your toolkit, the commands below are the ones you will most often reach for alongside it: /recipe, /data, and /scoreboard. They cover closely related tasks, so the links above jump straight to each one.
Frequently Asked Questions about /advancement
What does the /advancement command do in Minecraft?
Grants or revokes advancements from players. Can target specific advancements, advancement trees, or all advancements. It belongs to the data command group and was added in Java Edition 1.12.
What is the correct syntax for /advancement?
/advancement
What permission level does /advancement need?
It requires permission Level 2 - Game Master / Cheats. On a server the player must be an operator at that level, or have cheats enabled in single-player.
What is a common mistake when using /advancement?
Using the display name instead of the advancement ID, you must use the namespaced ID (minecraft:story/mine_stone).
Can you give an example of /advancement in use?
Yes. /advancement revoke @a everything — revokes all advancements from all players.
Need a Minecraft server?
Try these commands on Astroworld or host your own server.
Try Astroworld Hosting