/advancement
Give or take away advancements from players.
Overview
What is the /advancement command?
The /advancement command grants or revokes advancements (the achievement-style progress tree) for players. You can award a single advancement, everything up to a point, or only specific criteria โ and take them back too.
It's used to unlock recipes tied to advancements, reset progress for testing, or drive datapack reward systems.
When to use it: Use /advancement to grant or revoke achievements and their criteria โ unlocking recipes or resetting progress.
At a glance
Syntax
/advancement <grant|revoke> <target> <only|everything> [id]See it
What it does
Advancement Made!
Stone Age
Anatomy
Every part, explained
- 1
CommandRequired/advancementGrants or revokes advancements.
- 2
ActionRequired<grant|revoke>Give or take advancements.
- 3
TargetRequired<target>Which player to affect.
- 4
ScopeRequired<only|everything>One advancement or all of them.
Your turn
Try it yourself
Copy & paste
Examples
/advancement grant @s everythingUnlock all advancements.
/advancement revoke @s everythingReset all advancements.
/advancement grant @s only minecraft:story/mine_stoneGrant one advancement.
Avoid these
Common mistakes
/advancement grant everything @s/advancement grant @s everythingThe target comes before the scope.
/advancement grant @s only/advancement grant @s only minecraft:story/mine_stoneOnly needs an advancement ID after it.
Good to know
Frequently asked questions
- How do you grant an advancement with a command?
- Run /advancement grant <player> only <advancement> for one, or grant ... everything to award them all.
- How do you reset advancements?
- Use /advancement revoke <player> everything to clear all progress, useful for re-testing a map.
- Why grant advancements in a datapack?
- Advancements can unlock recipes and trigger reward functions, so granting them drives progression and crafting access.
Keep going