Interface AdvancementCriterion

All Known Implementing Classes:
AutoGrantCriterion, BlockMinedCriterion, CustomAttributeCriterion, CustomStatisticCriterion, EntityKilledCriterion, ItemCraftedCriterion, ItemHasCriterion, LevelCriterion, LocationCriterion, PotionEffectCriterion, StatisticCriterion

public interface AdvancementCriterion
Represents a logical condition that a player must fulfill to progress in an advancement.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    Codec for serialization.
  • Method Summary

    Modifier and Type
    Method
    Description
    default 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)
    Evaluates whether the player currently meets the conditions of this criterion.
    default boolean
    isMet(org.bukkit.entity.Player player, org.bukkit.event.Event event)
    Evaluates whether the player meets the conditions based on a specific event trigger.
  • Field Details

  • Method Details

    • getType

      CriterionType<?> getType()
      Retrieves the type definition associated with this specific criterion instance.
      Returns:
      The CriterionType characterizing this instance.
    • isMet

      boolean isMet(org.bukkit.entity.Player player)
      Evaluates whether the player currently meets the conditions of this criterion.
      Parameters:
      player - The Player to evaluate.
      Returns:
      True if the condition is met, false otherwise.
    • isMet

      default boolean isMet(org.bukkit.entity.Player player, org.bukkit.event.Event event)
      Evaluates whether the player meets the conditions based on a specific event trigger.
      Parameters:
      player - The Player involved in the event.
      event - The Event that triggered this evaluation.
      Returns:
      True if the event satisfies the criterion requirements.
    • getTargetEvents

      default Set<Class<? extends org.bukkit.event.Event>> getTargetEvents()
      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.
      Returns:
      The set of target Event classes, or empty if not event-specific.