java.lang.Object
com.github.darksoulq.abyssallib.world.advancement.criterion.LevelCriterion
All Implemented Interfaces:
AdvancementCriterion

public class LevelCriterion extends Object implements AdvancementCriterion
An advancement criterion ensuring a player reaches a specified vanilla XP level.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Codec<LevelCriterion>
    The codec used for serializing and deserializing the level criterion.
    The registered type definition for the level criterion.
  • Constructor Summary

    Constructors
    Constructor
    Description
    LevelCriterion(int level)
    Constructs a new LevelCriterion.
  • Method Summary

    Modifier and Type
    Method
    Description
    Set<Class<? extends org.bukkit.event.Event>>
    Retrieves the specific Event class that this criterion listens for.
    Retrieves the type definition associated with this specific criterion instance.
    boolean
    isMet(org.bukkit.entity.Player player)
    Checks if the player's XP level meets or exceeds the required level.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.github.darksoulq.abyssallib.world.advancement.criterion.AdvancementCriterion

    isMet
  • Field Details

    • CODEC

      public static final Codec<LevelCriterion> CODEC
      The codec used for serializing and deserializing the level criterion.
    • TYPE

      public static final CriterionType<LevelCriterion> TYPE
      The registered type definition for the level criterion.
  • Constructor Details

    • LevelCriterion

      public LevelCriterion(int level)
      Constructs a new LevelCriterion.
      Parameters:
      level - The required vanilla XP level.
  • Method Details

    • getType

      public CriterionType<?> getType()
      Description copied from interface: AdvancementCriterion
      Retrieves the type definition associated with this specific criterion instance.
      Specified by:
      getType in interface AdvancementCriterion
      Returns:
      The CriterionType characterizing this instance.
    • isMet

      public boolean isMet(org.bukkit.entity.Player player)
      Checks if the player's XP level meets or exceeds the required level.
      Specified by:
      isMet in interface AdvancementCriterion
      Parameters:
      player - The player to evaluate.
      Returns:
      True if the condition is met.
    • getTargetEvents

      public Set<Class<? extends org.bukkit.event.Event>> getTargetEvents()
      Description copied from interface: AdvancementCriterion
      Retrieves the specific Event class that this criterion listens for. If this returns empty set, the criterion will be treated as global and evaluated on state changes.
      Specified by:
      getTargetEvents in interface AdvancementCriterion
      Returns:
      The set of target Event classes, or empty if not event-specific.