Advancement
Minecraft command for granting advancements to players.
Think of advancements like built in quests for minecraft.
The /advancement command allows you to grant or revoke advancements to players.
The general command logic goes for the following /advancement <grant|revoke> <selector> <operation> <advancement> [criterion]
without the brackets <>.
Granting and revoking
The first argument of the command is either grant or revoke which determines whether you
get or remove an advancement.
Operation
The options for this argument are only, from, until, and everything.
Only
onlygrants or revokes only that specified advancement.
ignores parent advancements, only gives advancement
From
fromgrants or revokes the specified advancement and all advancements that are children of it.
grabs all children of the advancements in scope advancement -> child -> child
Until
untilgrants or revokes the specified advancement and all advancements that are parents of it
grabs all parents of the advancement into scope parent <- parent <- advancement
Everything
everythinggrants or revokes all advancements.
Grabs everything into scope, even side branches
parent <- advancement -> child
parent_2 <- advancement_2 -> child_2
Through
throughgrants or revokes the specified advancement and all advancements that are parents and children of it.
This is useful for grabbing everything that leads up to an advancement to the end
parent <- advancement -> child
Criterion
When using /advancement command you can specify a criterion on said advancement.
Though what is a criterion?
A criterion is a specific requirement for an advancement to be granted, usually like a checklist of requirements.
example :
advancement grant @s only minecraft:adventure/adventuring_time plains
The minecraft:adventure/adventuring_time advancement requires the player to visit multiple biomes, and the plains criterion is one of those biomes.
So by granting that criterion you are granting the advancement as if the player has visited the plains biome.
UI
![]()
Usually when calling for an advancement you can look up the parent or child of the advancement easily in the ui.
Use cases
Great for calling custom triggers.
Quest rewarding.
Resetting progress for smps.
Reference
Information:
https://minecraft.wiki/w/Commands/advancement
https://www.youtube.com/watch?v=cBRTQDt01WA
https://www.digminecraft.com/game_commands/advancement_command.php
Assets:
https://minecraft.wiki/images/thumb/AdvancementsInterface.png/700px-AdvancementsInterface.png?768a0