Class Scoreboard

java.lang.Object
net.minecraft.world.scores.Scoreboard
Direct Known Subclasses:
ServerScoreboard

public class Scoreboard extends Object
  • Field Details

    • HIDDEN_SCORE_PREFIX

      public static final String HIDDEN_SCORE_PREFIX
      See Also:
    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • objectivesByName

      private final it.unimi.dsi.fastutil.objects.Object2ObjectMap<String,Objective> objectivesByName
    • objectivesByCriteria

      private final it.unimi.dsi.fastutil.objects.Reference2ObjectMap<ObjectiveCriteria,List<Objective>> objectivesByCriteria
    • playerScores

      private final Map<String,PlayerScores> playerScores
    • displayObjectives

      private final Map<DisplaySlot,Objective> displayObjectives
    • teamsByName

      private final it.unimi.dsi.fastutil.objects.Object2ObjectMap<String,PlayerTeam> teamsByName
    • teamsByPlayer

      private final it.unimi.dsi.fastutil.objects.Object2ObjectMap<String,PlayerTeam> teamsByPlayer
  • Constructor Details

    • Scoreboard

      public Scoreboard()
  • Method Details

    • getObjective

      @Nullable public Objective getObjective(@Nullable String name)
      Returns a ScoreObjective for the objective name
    • addObjective

      public Objective addObjective(String name, ObjectiveCriteria criteria, Component displayName, ObjectiveCriteria.RenderType renderType, boolean displayAutoUpdate, @Nullable NumberFormat numberFormat)
    • forAllObjectives

      public final void forAllObjectives(ObjectiveCriteria criteria, ScoreHolder scoreHolder, Consumer<ScoreAccess> action)
    • getOrCreatePlayerInfo

      private PlayerScores getOrCreatePlayerInfo(String username)
    • getOrCreatePlayerScore

      public ScoreAccess getOrCreatePlayerScore(ScoreHolder scoreHolder, Objective objective)
    • getOrCreatePlayerScore

      public ScoreAccess getOrCreatePlayerScore(ScoreHolder scoreHolder, Objective objective, boolean readOnly)
    • getPlayerScoreInfo

      @Nullable public ReadOnlyScoreInfo getPlayerScoreInfo(ScoreHolder scoreHolder, Objective objective)
    • listPlayerScores

      public Collection<PlayerScoreEntry> listPlayerScores(Objective objective)
    • getObjectives

      public Collection<Objective> getObjectives()
    • getObjectiveNames

      public Collection<String> getObjectiveNames()
    • getTrackedPlayers

      public Collection<ScoreHolder> getTrackedPlayers()
    • resetAllPlayerScores

      public void resetAllPlayerScores(ScoreHolder scoreHolder)
    • resetSinglePlayerScore

      public void resetSinglePlayerScore(ScoreHolder scoreHolder, Objective objective)
    • listPlayerScores

      public it.unimi.dsi.fastutil.objects.Object2IntMap<Objective> listPlayerScores(ScoreHolder scoreHolder)
    • removeObjective

      public void removeObjective(Objective objective)
    • setDisplayObjective

      public void setDisplayObjective(DisplaySlot slot, @Nullable Objective objective)
    • getDisplayObjective

      @Nullable public Objective getDisplayObjective(DisplaySlot slot)
    • getPlayerTeam

      @Nullable public PlayerTeam getPlayerTeam(String teamName)
      Retrieve the ScorePlayerTeam instance identified by the passed team name
    • addPlayerTeam

      public PlayerTeam addPlayerTeam(String name)
    • removePlayerTeam

      public void removePlayerTeam(PlayerTeam playerTeam)
      Removes the team from the scoreboard, updates all player memberships and broadcasts the deletion to all players
    • addPlayerToTeam

      public boolean addPlayerToTeam(String playerName, PlayerTeam team)
    • removePlayerFromTeam

      public boolean removePlayerFromTeam(String playerName)
    • removePlayerFromTeam

      public void removePlayerFromTeam(String username, PlayerTeam playerTeam)
      Removes the given username from the given ScorePlayerTeam. If the player is not on the team then an IllegalStateException is thrown.
    • getTeamNames

      public Collection<String> getTeamNames()
    • getPlayerTeams

      public Collection<PlayerTeam> getPlayerTeams()
    • getPlayersTeam

      @Nullable public PlayerTeam getPlayersTeam(String username)
      Gets the ScorePlayerTeam object for the given username.
    • onObjectiveAdded

      public void onObjectiveAdded(Objective objective)
    • onObjectiveChanged

      public void onObjectiveChanged(Objective objective)
    • onObjectiveRemoved

      public void onObjectiveRemoved(Objective objective)
    • onScoreChanged

      protected void onScoreChanged(ScoreHolder scoreHolder, Objective objective, Score score)
    • onScoreLockChanged

      protected void onScoreLockChanged(ScoreHolder scoreHolder, Objective objective)
    • onPlayerRemoved

      public void onPlayerRemoved(ScoreHolder scoreHolder)
    • onPlayerScoreRemoved

      public void onPlayerScoreRemoved(ScoreHolder scoreHolder, Objective objective)
    • onTeamAdded

      public void onTeamAdded(PlayerTeam playerTeam)
    • onTeamChanged

      public void onTeamChanged(PlayerTeam playerTeam)
    • onTeamRemoved

      public void onTeamRemoved(PlayerTeam playerTeam)
    • entityRemoved

      public void entityRemoved(Entity entity)
    • savePlayerScores

      protected ListTag savePlayerScores(HolderLookup.Provider levelRegistry)
    • loadPlayerScores

      protected void loadPlayerScores(ListTag tag, HolderLookup.Provider levelRegistry)