Interface ObjectiveManager


public interface ObjectiveManager
Represents a group of ScoreboardObjectives. To get an instance of this interface, use ScoreboardLibrary.createObjectiveManager() Note: this interface is not thread-safe, meaning you can only use it from one thread at a time, although it does not have to be the main thread.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    addPlayer(@NotNull org.bukkit.entity.Player player)
    Adds a viewer to this ObjectiveManager.
    default void
    addPlayers(@NotNull Collection<org.bukkit.entity.Player> players)
    Adds multiple viewers to this ObjectiveManager.
    void
    Closes this ObjectiveManager.
    boolean
     
    create(@NotNull String name)
    Creates an objective with a name if one doesn't already exist and returns it.
    void
    display(@NotNull ObjectiveDisplaySlot displaySlot, @NotNull ScoreboardObjective objective)
    Updates which objective is shown in a display slot.
    @NotNull Collection<org.bukkit.entity.Player>
     
    void
    remove(@NotNull ScoreboardObjective objective)
    Removes an objective.
    boolean
    removePlayer(@NotNull org.bukkit.entity.Player player)
    Removes a viewer from this ObjectiveManager.
    default void
    removePlayers(@NotNull Collection<org.bukkit.entity.Player> players)
    Removes multiple viewers from this ObjectiveManager
  • Method Details

    • create

      @NotNull @NotNull ScoreboardObjective create(@NotNull @NotNull String name)
      Creates an objective with a name if one doesn't already exist and returns it.
      Parameters:
      name - name of the objective
      Returns:
      objective
    • remove

      void remove(@NotNull @NotNull ScoreboardObjective objective)
      Removes an objective.
      Parameters:
      objective - objective to remove
    • display

      void display(@NotNull @NotNull ObjectiveDisplaySlot displaySlot, @NotNull @NotNull ScoreboardObjective objective)
      Updates which objective is shown in a display slot.
      Parameters:
      displaySlot - display slot value to show objective in
      objective - objective to display in that display slot
    • players

      @NotNull @NotNull Collection<org.bukkit.entity.Player> players()
      Returns:
      unmodifiable collection of viewers in this ObjectiveManager
      See Also:
    • addPlayer

      boolean addPlayer(@NotNull @NotNull org.bukkit.entity.Player player)
      Adds a viewer to this ObjectiveManager. Note that a player can only see a single ObjectiveManager at a time. The ObjectiveManager will internally be added to a queue for this player who will start seeing it once they are removed from all previous ObjectiveManagers.
      Parameters:
      player - player to add
      Returns:
      whether the player was added
    • addPlayers

      default void addPlayers(@NotNull @NotNull Collection<org.bukkit.entity.Player> players)
      Adds multiple viewers to this ObjectiveManager.
      Parameters:
      players - viewers to add
      See Also:
    • removePlayer

      boolean removePlayer(@NotNull @NotNull org.bukkit.entity.Player player)
      Removes a viewer from this ObjectiveManager.
      Parameters:
      player - viewer to remove
      Returns:
      whether the viewer was removed
    • removePlayers

      default void removePlayers(@NotNull @NotNull Collection<org.bukkit.entity.Player> players)
      Removes multiple viewers from this ObjectiveManager
      Parameters:
      players - viewers to remove
    • close

      void close()
      Closes this ObjectiveManager. This must be called once you no longer need this ObjectiveManager to prevent a memory leak.
    • closed

      boolean closed()
      Returns:
      whether this ObjectiveManager is closed
      See Also: