Package org.bukkit.scoreboard

# Interface Objective

public interface Objective
An objective on a scoreboard that can show scores specific to entries. This objective is only relevant to the display of the associated `scoreboard`.

## Method Summary

Modifier and Type
Method
Description
`Component`
`displayName()`
Gets the name displayed to players for this objective
`void`
`displayName(Component displayName)`
Sets the name displayed to players for this objective.
`@NotNull String`
`getCriteria()`
Gets the criteria this objective tracks.
`@NotNull String`
`getDisplayName()`
Deprecated.
in favour of `displayName()`
`@Nullable DisplaySlot`
`getDisplaySlot()`
Gets the display slot this objective is displayed at.
`@NotNull String`
`getName()`
Gets the name of this Objective
`@NotNull RenderType`
`getRenderType()`
Sets manner in which this objective will be rendered.
`@NotNull Score`
`getScore(@NotNull String entry)`
Gets an entry's Score for an Objective on this Scoreboard.
`@NotNull Score`
`getScore(@NotNull OfflinePlayer player)`
Gets a player's Score for an Objective on this Scoreboard
`@Nullable Scoreboard`
`getScoreboard()`
Gets the scoreboard to which this objective is attached.
`@NotNull Score`
`getScoreFor(Entity entity)`
Gets an entity's Score for an Objective on this Scoreboard.
`boolean`
`isModifiable()`
Gets if the objective's scores can be modified directly by a plugin.
`void`
`setDisplayName(@NotNull String displayName)`
Deprecated.
in favour of `displayName(net.kyori.adventure.text.Component)`
`void`
`setDisplaySlot(@Nullable DisplaySlot slot)`
Sets this objective to display on the specified slot for the scoreboard, removing it from any other display slot.
`void`
`setRenderType(@NotNull RenderType renderType)`
Sets manner in which this objective will be rendered.
`void`
`unregister()`
Unregisters this objective from the `scoreboard.`

## Method Details

### getName

@NotNull @NotNull String getName() throws IllegalStateException
Gets the name of this Objective

Returns:
  this objective's name
Throws:
  `IllegalStateException` - if this objective has been unregistered

### displayName

@NotNull Component displayName() throws IllegalStateException
Gets the name displayed to players for this objective

Returns:
  this objective's display name
Throws:
  `IllegalStateException` - if this objective has been unregistered

### displayName

void displayName(@Nullable Component displayName) throws IllegalStateException, IllegalArgumentException
Sets the name displayed to players for this objective.

Parameters:
  `displayName` - Display name to set
Throws:
  `IllegalStateException` - if this objective has been unregistered
  `IllegalArgumentException` - if displayName is null
  `IllegalArgumentException` - if displayName is longer than 128 characters.

### getDisplayName

@NotNull @Deprecated @NotNull String getDisplayName() throws IllegalStateException
Deprecated.
in favour of `displayName()`
Gets the name displayed to players for this objective

Returns:
  this objective's display name
Throws:
  `IllegalStateException` - if this objective has been unregistered

### setDisplayName

@Deprecated void setDisplayName(@NotNull @NotNull String displayName) throws IllegalStateException, IllegalArgumentException
Deprecated.
in favour of `displayName(net.kyori.adventure.text.Component)`
Sets the name displayed to players for this objective.

Parameters:
  `displayName` - Display name to set
Throws:
  `IllegalStateException` - if this objective has been unregistered
  `IllegalArgumentException` - if displayName is null
  `IllegalArgumentException` - if displayName is longer than 128 characters.

### getCriteria

@NotNull @NotNull String getCriteria() throws IllegalStateException
Gets the criteria this objective tracks.

Returns:
  this objective's criteria
Throws:
  `IllegalStateException` - if this objective has been unregistered

### isModifiable

boolean isModifiable() throws IllegalStateException
Gets if the objective's scores can be modified directly by a plugin.

Returns:
  true if scores are modifiable
Throws:
  `IllegalStateException` - if this objective has been unregistered
See Also:
  - `Criterias.HEALTH`

### getScoreboard

@Nullable @Nullable Scoreboard getScoreboard()
Gets the scoreboard to which this objective is attached.

Returns:
  Owning scoreboard, or null if it has been `unregistered`

### unregister

void unregister() throws IllegalStateException
Unregisters this objective from the `scoreboard.`

Throws:
  `IllegalStateException` - if this objective has been unregistered

### setDisplaySlot

void setDisplaySlot(@Nullable @Nullable DisplaySlot slot) throws IllegalStateException
Sets this objective to display on the specified slot for the scoreboard, removing it from any other display slot.

Parameters:
  `slot` - display slot to change, or null to not display
Throws:
  `IllegalStateException` - if this objective has been unregistered

### getDisplaySlot

@Nullable @Nullable DisplaySlot getDisplaySlot() throws IllegalStateException
Gets the display slot this objective is displayed at.

Returns:
  the display slot for this objective, or null if not displayed
Throws:
  `IllegalStateException` - if this objective has been unregistered

### setRenderType

void setRenderType(@NotNull @NotNull RenderType renderType) throws IllegalStateException
Sets manner in which this objective will be rendered.

Parameters:
  `renderType` - new render type
Throws:
  `IllegalStateException` - if this objective has been unregistered

### getRenderType

@NotNull @NotNull RenderType getRenderType() throws IllegalStateException
Sets manner in which this objective will be rendered.

Returns:
  the render type
Throws:
  `IllegalStateException` - if this objective has been unregistered

### getScore

@NotNull @NotNull Score getScore(@NotNull @NotNull OfflinePlayer player) throws IllegalArgumentException, IllegalStateException
Gets a player's Score for an Objective on this Scoreboard

Parameters:
  `player` - Player for the Score
Returns:
  Score tracking the Objective and player specified
Throws:
  `IllegalArgumentException` - if player is null
  `IllegalStateException` - if this objective has been unregistered
See Also:
  - `getScore(String)`

### getScore

@NotNull @NotNull Score getScore(@NotNull @NotNull String entry) throws IllegalArgumentException, IllegalStateException
Gets an entry's Score for an Objective on this Scoreboard.

Parameters:
  `entry` - Entry for the Score
Returns:
  Score tracking the Objective and entry specified
Throws:
  `IllegalArgumentException` - if entry is null
  `IllegalStateException` - if this objective has been unregistered
  `IllegalArgumentException` - if entry is longer than 32767 characters.

### getScoreFor

@NotNull @NotNull Score getScoreFor(@NotNull Entity entity) throws IllegalArgumentException, IllegalStateException
Gets an entity's Score for an Objective on this Scoreboard.

Parameters:
  `entity` - Entity for the Score
Returns:
  Score tracking the Objective and entity specified
Throws:
  `IllegalArgumentException` - if entity is null
  `IllegalStateException` - if this objective has been unregistered