Package org.bukkit.advancement

# Interface Advancement

All Superinterfaces:
  `net.kyori.adventure.key.Keyed`, `Keyed`

public interface Advancement extends Keyed
Represents an advancement that may be awarded to a player. This class is not reference safe as the underlying advancement may be reloaded.

## Method Summary

Modifier and Type
Method
Description
`@NotNull @Unmodifiable Collection<Advancement>`
`getChildren()`
Gets all the direct children advancements.
`@NotNull Collection<String>`
`getCriteria()`
Get all the criteria present in this advancement.
`AdvancementDisplay`
`getDisplay()`
Get the display info of this advancement.
`@Nullable Advancement`
`getParent()`
Gets the parent advancement, if any.
`@NotNull Advancement`
`getRoot()`
Gets the root advancement of the tree this is located in.

### Methods inherited from interface org.bukkit.Keyed

`getKey, key`

## Method Details

### getCriteria

@NotNull @NotNull Collection<String> getCriteria()
Get all the criteria present in this advancement.

Returns:
  a unmodifiable copy of all criteria

### getDisplay

@Nullable AdvancementDisplay getDisplay()
Get the display info of this advancement.

Will be `null` when totally hidden, for example with crafting recipes.

Returns:
  the display info

### getParent

@Nullable @Nullable Advancement getParent()
Gets the parent advancement, if any.

Returns:
  the parent advancement

### getChildren

@NotNull @NotNull @Unmodifiable Collection<Advancement> getChildren()
Gets all the direct children advancements.

Returns:
  the children advancements

### getRoot

@NotNull @NotNull Advancement getRoot()
Gets the root advancement of the tree this is located in.

Returns:
  the root advancement