/advancement Command
Grants or revokes advancements and their individual criteria for the specified players. `everything` affects all loaded advancements. `only` targets a single advancement (and optionally one criterion within it). `from` targets an advancement and all its descendants. `through` targets an advancement plus all ancestors and descendants. `until` targets an advancement and all ancestors up to the root.
Syntax
advancement (grant|revoke) <targets> everything
advancement (grant|revoke) <targets> only <advancement> [<criterion>]
advancement (grant|revoke) <targets> from <advancement>
advancement (grant|revoke) <targets> through <advancement>
advancement (grant|revoke) <targets> until <advancement>Permission: 2Edition: Java
Examples
advancement grant @a everythingadvancement revoke @s only minecraft:story/shiny_gearadvancement grant @p from minecraft:nether/rootadvancement revoke @a through minecraft:end/rootNotes
Exclusive to Java Edition. Revoking individual criteria (via `only <advancement> <criterion>`) does not revoke the advancement itself if it was already fully completed — the criteria must all be revoked for the advancement to become incomplete. Used in datapack questing systems and speedrun resets.