# Uses of Interface
org.bukkit.advancement.Advancement

Packages that use Advancement
Package
Description
com.destroystokyo.paper.event.player
org.bukkit
The root package of the Bukkit API, contains generalized API classes.
org.bukkit.advancement
Classes relevant to advancements.
org.bukkit.entity
Interfaces for non-voxel objects that can exist in a `world`, including all players, monsters, projectiles, etc.
org.bukkit.event.player
`Events` relating to `players`.

## Uses of Advancement in com.destroystokyo.paper.event.player

Methods in com.destroystokyo.paper.event.player that return Advancement
Modifier and Type
Method
Description
`@NotNull Advancement`
PlayerAdvancementCriterionGrantEvent.`getAdvancement()`
Get the advancement which has been affected.
Constructors in com.destroystokyo.paper.event.player with parameters of type Advancement
Modifier
Constructor
Description
``
`PlayerAdvancementCriterionGrantEvent(@NotNull Player who, @NotNull Advancement advancement, @NotNull String criterion)`

## Uses of Advancement in org.bukkit

Fields in org.bukkit with type parameters of type Advancement
Modifier and Type
Field
Description
`static final Registry<Advancement>`
Registry.`ADVANCEMENT`
Server advancements.
Methods in org.bukkit that return Advancement
Modifier and Type
Method
Description
`static @Nullable Advancement`
Bukkit.`getAdvancement(@NotNull NamespacedKey key)`
Get the advancement specified by this key.
`@Nullable Advancement`
Server.`getAdvancement(@NotNull NamespacedKey key)`
Get the advancement specified by this key.
`Advancement`
UnsafeValues.`loadAdvancement(NamespacedKey key, String advancement)`
Deprecated.
Load an advancement represented by the specified string into the server.
Methods in org.bukkit that return types with arguments of type Advancement
Modifier and Type
Method
Description
`static @NotNull Iterator<Advancement>`
Bukkit.`advancementIterator()`
Get an iterator through all advancements.
`@NotNull Iterator<Advancement>`
Server.`advancementIterator()`
Get an iterator through all advancements.

## Uses of Advancement in org.bukkit.advancement

Methods in org.bukkit.advancement that return Advancement
Modifier and Type
Method
Description
`@NotNull Advancement`
AdvancementProgress.`getAdvancement()`
The advancement this progress is concerning.
`@Nullable Advancement`
Advancement.`getParent()`
Gets the parent advancement, if any.
`@NotNull Advancement`
Advancement.`getRoot()`
Gets the root advancement of the tree this is located in.
Methods in org.bukkit.advancement that return types with arguments of type Advancement
Modifier and Type
Method
Description
`@NotNull @Unmodifiable Collection<Advancement>`
Advancement.`getChildren()`
Gets all the direct children advancements.

## Uses of Advancement in org.bukkit.entity

Methods in org.bukkit.entity with parameters of type Advancement
Modifier and Type
Method
Description
`@NotNull AdvancementProgress`
Player.`getAdvancementProgress(@NotNull Advancement advancement)`
Return the player's progression on the specified advancement.

## Uses of Advancement in org.bukkit.event.player

Methods in org.bukkit.event.player that return Advancement
Modifier and Type
Method
Description
`@NotNull Advancement`
PlayerAdvancementDoneEvent.`getAdvancement()`
Get the advancement which has been completed.
Constructors in org.bukkit.event.player with parameters of type Advancement
Modifier
Constructor
Description
``
`PlayerAdvancementDoneEvent(@NotNull Player who, @NotNull Advancement advancement)`
``
`PlayerAdvancementDoneEvent(@NotNull Player who, @NotNull Advancement advancement, @Nullable Component message)`