Package org.bukkit.scoreboard

# Interface Scoreboard

public interface Scoreboard
A scoreboard

## Method Summary

Modifier and Type
Method
Description
`void`
`clearSlot(@NotNull DisplaySlot slot)`
Clears any objective in the specified slot.
`@NotNull Set<String>`
`getEntries()`
Gets all entries tracked by this Scoreboard
`@Nullable Team`
`getEntryTeam(@NotNull String entry)`
Gets a entries Team on this Scoreboard
`@Nullable Objective`
`getObjective(@NotNull String name)`
Gets an Objective on this Scoreboard by name
`@Nullable Objective`
`getObjective(@NotNull DisplaySlot slot)`
Gets the Objective currently displayed in a DisplaySlot on this Scoreboard
`@NotNull Set<Objective>`
`getObjectives()`
Gets all Objectives on this Scoreboard
`@NotNull Set<Objective>`
`getObjectivesByCriteria(@NotNull String criteria)`
Gets all Objectives of a Criteria on the Scoreboard
`@NotNull Set<OfflinePlayer>`
`getPlayers()`
Deprecated.
Scoreboards can contain entries that aren't players
`@Nullable Team`
`getPlayerTeam(@NotNull OfflinePlayer player)`
Deprecated.
Scoreboards can contain entries that aren't players
`@NotNull Set<Score>`
`getScores(@NotNull String entry)`
Gets all scores for an entry on this Scoreboard
`@NotNull Set<Score>`
`getScores(@NotNull OfflinePlayer player)`
Deprecated.
Scoreboards can contain entries that aren't players
`@Nullable Team`
`getTeam(@NotNull String teamName)`
Gets a Team by name on this Scoreboard
`@NotNull Set<Team>`
`getTeams()`
Gets all teams on this Scoreboard
`@NotNull Objective`
`registerNewObjective(@NotNull String name, @NotNull String criteria)`
Deprecated.
a displayName should be explicitly specified
`@NotNull Objective`
`registerNewObjective(@NotNull String name, @NotNull String criteria, @NotNull String displayName)`
Deprecated.
in favour of `registerNewObjective(String, String, net.kyori.adventure.text.Component)`
`@NotNull Objective`
`registerNewObjective(@NotNull String name, @NotNull String criteria, @NotNull String displayName, @NotNull RenderType renderType)`
Deprecated.
in favour of `registerNewObjective(String, String, net.kyori.adventure.text.Component, RenderType)`
`@NotNull Objective`
`registerNewObjective(@NotNull String name, @NotNull String criteria, Component displayName)`
Registers an Objective on this Scoreboard
`@NotNull Objective`
`registerNewObjective(@NotNull String name, @NotNull String criteria, Component displayName, @NotNull RenderType renderType)`
Registers an Objective on this Scoreboard
`@NotNull Team`
`registerNewTeam(@NotNull String name)`
Registers a Team on this Scoreboard
`void`
`resetScores(@NotNull String entry)`
Removes all scores for an entry on this Scoreboard
`void`
`resetScores(@NotNull OfflinePlayer player)`
Deprecated.
Scoreboards can contain entries that aren't players

## Method Details

### registerNewObjective

@Deprecated @NotNull @NotNull Objective registerNewObjective(@NotNull @NotNull String name, @NotNull @NotNull String criteria) throws IllegalArgumentException
Deprecated.
a displayName should be explicitly specified
Registers an Objective on this Scoreboard

Parameters:
  `name` - Name of the Objective
  `criteria` - Criteria for the Objective
Returns:
  The registered Objective
Throws:
  `IllegalArgumentException` - if name is null
  `IllegalArgumentException` - if name is longer than 16 characters.
  `IllegalArgumentException` - if criteria is null
  `IllegalArgumentException` - if an objective by that name already exists

### registerNewObjective

@NotNull @NotNull Objective registerNewObjective(@NotNull @NotNull String name, @NotNull @NotNull String criteria, @Nullable Component displayName) throws IllegalArgumentException
Registers an Objective on this Scoreboard

Parameters:
  `name` - Name of the Objective
  `criteria` - Criteria for the Objective
  `displayName` - Name displayed to players for the Objective.
Returns:
  The registered Objective
Throws:
  `IllegalArgumentException` - if name is null
  `IllegalArgumentException` - if name is longer than 16 characters.
  `IllegalArgumentException` - if criteria is null
  `IllegalArgumentException` - if displayName is null
  `IllegalArgumentException` - if displayName is longer than 128 characters.
  `IllegalArgumentException` - if an objective by that name already exists

### registerNewObjective

@NotNull @NotNull Objective registerNewObjective(@NotNull @NotNull String name, @NotNull @NotNull String criteria, @Nullable Component displayName, @NotNull @NotNull RenderType renderType) throws IllegalArgumentException
Registers an Objective on this Scoreboard

Parameters:
  `name` - Name of the Objective
  `criteria` - Criteria for the Objective
  `displayName` - Name displayed to players for the Objective.
  `renderType` - Manner of rendering the Objective
Returns:
  The registered Objective
Throws:
  `IllegalArgumentException` - if name is null
  `IllegalArgumentException` - if name is longer than 16 characters.
  `IllegalArgumentException` - if criteria is null
  `IllegalArgumentException` - if displayName is null
  `IllegalArgumentException` - if displayName is longer than 128 characters.
  `IllegalArgumentException` - if renderType is null
  `IllegalArgumentException` - if an objective by that name already exists

### registerNewObjective

@NotNull @Deprecated @NotNull Objective registerNewObjective(@NotNull @NotNull String name, @NotNull @NotNull String criteria, @NotNull @NotNull String displayName) throws IllegalArgumentException
Deprecated.
in favour of `registerNewObjective(String, String, net.kyori.adventure.text.Component)`
Registers an Objective on this Scoreboard

Parameters:
  `name` - Name of the Objective
  `criteria` - Criteria for the Objective
  `displayName` - Name displayed to players for the Objective.
Returns:
  The registered Objective
Throws:
  `IllegalArgumentException` - if name is null
  `IllegalArgumentException` - if name is longer than 16 characters.
  `IllegalArgumentException` - if criteria is null
  `IllegalArgumentException` - if displayName is null
  `IllegalArgumentException` - if displayName is longer than 128 characters.
  `IllegalArgumentException` - if an objective by that name already exists

### registerNewObjective

@NotNull @Deprecated @NotNull Objective registerNewObjective(@NotNull @NotNull String name, @NotNull @NotNull String criteria, @NotNull @NotNull String displayName, @NotNull @NotNull RenderType renderType) throws IllegalArgumentException
Deprecated.
in favour of `registerNewObjective(String, String, net.kyori.adventure.text.Component, RenderType)`
Registers an Objective on this Scoreboard

Parameters:
  `name` - Name of the Objective
  `criteria` - Criteria for the Objective
  `displayName` - Name displayed to players for the Objective.
  `renderType` - Manner of rendering the Objective
Returns:
  The registered Objective
Throws:
  `IllegalArgumentException` - if name is null
  `IllegalArgumentException` - if name is longer than 16 characters.
  `IllegalArgumentException` - if criteria is null
  `IllegalArgumentException` - if displayName is null
  `IllegalArgumentException` - if displayName is longer than 128 characters.
  `IllegalArgumentException` - if renderType is null
  `IllegalArgumentException` - if an objective by that name already exists

### getObjective

@Nullable @Nullable Objective getObjective(@NotNull @NotNull String name) throws IllegalArgumentException
Gets an Objective on this Scoreboard by name

Parameters:
  `name` - Name of the Objective
Returns:
  the Objective or null if it does not exist
Throws:
  `IllegalArgumentException` - if name is null

### getObjectivesByCriteria

@NotNull @NotNull Set<Objective> getObjectivesByCriteria(@NotNull @NotNull String criteria) throws IllegalArgumentException
Gets all Objectives of a Criteria on the Scoreboard

Parameters:
  `criteria` - Criteria to search by
Returns:
  an immutable set of Objectives using the specified Criteria
Throws:
  `IllegalArgumentException` - if criteria is null

### getObjectives

@NotNull @NotNull Set<Objective> getObjectives()
Gets all Objectives on this Scoreboard

Returns:
  An immutable set of all Objectives on this Scoreboard

### getObjective

@Nullable @Nullable Objective getObjective(@NotNull @NotNull DisplaySlot slot) throws IllegalArgumentException
Gets the Objective currently displayed in a DisplaySlot on this Scoreboard

Parameters:
  `slot` - The DisplaySlot
Returns:
  the Objective currently displayed or null if nothing is displayed in that DisplaySlot
Throws:
  `IllegalArgumentException` - if slot is null

### getScores

@Deprecated @NotNull @NotNull Set<Score> getScores(@NotNull @NotNull OfflinePlayer player) throws IllegalArgumentException
Deprecated.
Scoreboards can contain entries that aren't players
Gets all scores for a player on this Scoreboard

Parameters:
  `player` - the player whose scores are being retrieved
Returns:
  immutable set of all scores tracked for the player
Throws:
  `IllegalArgumentException` - if player is null
See Also:
  - `getScores(String)`

### getScores

@NotNull @NotNull Set<Score> getScores(@NotNull @NotNull String entry) throws IllegalArgumentException
Gets all scores for an entry on this Scoreboard

Parameters:
  `entry` - the entry whose scores are being retrieved
Returns:
  immutable set of all scores tracked for the entry
Throws:
  `IllegalArgumentException` - if entry is null

### resetScores

@Deprecated void resetScores(@NotNull @NotNull OfflinePlayer player) throws IllegalArgumentException
Deprecated.
Scoreboards can contain entries that aren't players
Removes all scores for a player on this Scoreboard

Parameters:
  `player` - the player to drop all current scores for
Throws:
  `IllegalArgumentException` - if player is null
See Also:
  - `resetScores(String)`

### resetScores

void resetScores(@NotNull @NotNull String entry) throws IllegalArgumentException
Removes all scores for an entry on this Scoreboard

Parameters:
  `entry` - the entry to drop all current scores for
Throws:
  `IllegalArgumentException` - if entry is null

### getPlayerTeam

@Deprecated @Nullable @Nullable Team getPlayerTeam(@NotNull @NotNull OfflinePlayer player) throws IllegalArgumentException
Deprecated.
Scoreboards can contain entries that aren't players
Gets a player's Team on this Scoreboard

Parameters:
  `player` - the player to search for
Returns:
  the player's Team or null if the player is not on a team
Throws:
  `IllegalArgumentException` - if player is null
See Also:
  - `getEntryTeam(String)`

### getEntryTeam

@Nullable @Nullable Team getEntryTeam(@NotNull @NotNull String entry) throws IllegalArgumentException
Gets a entries Team on this Scoreboard

Parameters:
  `entry` - the entry to search for
Returns:
  the entries Team or null if the entry is not on a team
Throws:
  `IllegalArgumentException` - if entry is null

### getTeam

@Nullable @Nullable Team getTeam(@NotNull @NotNull String teamName) throws IllegalArgumentException
Gets a Team by name on this Scoreboard

Parameters:
  `teamName` - Team name
Returns:
  the matching Team or null if no matches
Throws:
  `IllegalArgumentException` - if teamName is null

### getTeams

@NotNull @NotNull Set<Team> getTeams()
Gets all teams on this Scoreboard

Returns:
  an immutable set of Teams

### registerNewTeam

@NotNull @NotNull Team registerNewTeam(@NotNull @NotNull String name) throws IllegalArgumentException
Registers a Team on this Scoreboard

Parameters:
  `name` - Team name
Returns:
  registered Team
Throws:
  `IllegalArgumentException` - if name is null
  `IllegalArgumentException` - if team by that name already exists

### getPlayers

@Deprecated @NotNull @NotNull Set<OfflinePlayer> getPlayers()
Deprecated.
Scoreboards can contain entries that aren't players
Gets all players tracked by this Scoreboard

Returns:
  immutable set of all tracked players
See Also:
  - `getEntries()`

### getEntries

@NotNull @NotNull Set<String> getEntries()
Gets all entries tracked by this Scoreboard

Returns:
  immutable set of all tracked entries

### clearSlot

void clearSlot(@NotNull @NotNull DisplaySlot slot) throws IllegalArgumentException
Clears any objective in the specified slot.

Parameters:
  `slot` - the slot to remove objectives
Throws:
  `IllegalArgumentException` - if slot is null