Skip to main content

/advancement

Grants or revokes advancements from players. Can target specific advancements, advancement trees, or all advancements.

Category
Data
Permission Level
Game Master
Version Added
1.12

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 (, , and ) and 2 optional arguments ([advancement] and [criterion]).

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 , , and . The arguments [advancement] and [criterion] may be omitted, in which case the documented default applies.

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

NameTypeRequiredDescription
actionliteralRequiredgrant or revoke.
targetsentityRequiredThe player(s) to affect.
modeliteralRequiredeverything = all advancements; only = single advancement; from/through/until = advancement tree traversal.
advancementresourceOptionalThe specific advancement ID (not needed for 'everything').
criterionstringOptionalA 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 everything

Grants all advancements to yourself.

/advancement revoke @a everything

Revokes all advancements from all players.

/advancement grant @p only minecraft:story/mine_stone

Grants 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

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 [] []. The required arguments are action, targets, and mode, and the optional ones are advancement and criterion.

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