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 pName)
      Returns a ScoreObjective for the objective name
    • addObjective

      public Objective addObjective(String pName, ObjectiveCriteria pCriteria, Component pDisplayName, ObjectiveCriteria.RenderType pRenderType, boolean pDisplayAutoUpdate, @Nullable NumberFormat pNumberFormat)
    • forAllObjectives

      public final void forAllObjectives(ObjectiveCriteria pCriteria, ScoreHolder pScoreHolder, Consumer<ScoreAccess> pAction)
    • getOrCreatePlayerInfo

      private PlayerScores getOrCreatePlayerInfo(String pUsername)
    • getOrCreatePlayerScore

      public ScoreAccess getOrCreatePlayerScore(ScoreHolder pScoreHolder, Objective pObjective)
    • getOrCreatePlayerScore

      public ScoreAccess getOrCreatePlayerScore(ScoreHolder pScoreHolder, Objective pObjective, boolean pReadOnly)
    • getPlayerScoreInfo

      @Nullable public ReadOnlyScoreInfo getPlayerScoreInfo(ScoreHolder pScoreHolder, Objective pObjective)
    • listPlayerScores

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

      public Collection<Objective> getObjectives()
    • getObjectiveNames

      public Collection<String> getObjectiveNames()
    • getTrackedPlayers

      public Collection<ScoreHolder> getTrackedPlayers()
    • resetAllPlayerScores

      public void resetAllPlayerScores(ScoreHolder pScoreHolder)
    • resetSinglePlayerScore

      public void resetSinglePlayerScore(ScoreHolder pScoreHolder, Objective pObjective)
    • listPlayerScores

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

      public void removeObjective(Objective pObjective)
    • setDisplayObjective

      public void setDisplayObjective(DisplaySlot pSlot, @Nullable Objective pObjective)
    • getDisplayObjective

      @Nullable public Objective getDisplayObjective(DisplaySlot pSlot)
    • getPlayerTeam

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

      public PlayerTeam addPlayerTeam(String pName)
    • removePlayerTeam

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

      public boolean addPlayerToTeam(String pPlayerName, PlayerTeam pTeam)
    • removePlayerFromTeam

      public boolean removePlayerFromTeam(String pPlayerName)
    • removePlayerFromTeam

      public void removePlayerFromTeam(String pUsername, PlayerTeam pPlayerTeam)
      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 pUsername)
      Gets the ScorePlayerTeam object for the given username.
    • onObjectiveAdded

      public void onObjectiveAdded(Objective pObjective)
    • onObjectiveChanged

      public void onObjectiveChanged(Objective pObjective)
    • onObjectiveRemoved

      public void onObjectiveRemoved(Objective pObjective)
    • onScoreChanged

      protected void onScoreChanged(ScoreHolder pScoreHolder, Objective pObjective, Score pScore)
    • onScoreLockChanged

      protected void onScoreLockChanged(ScoreHolder pScoreHolder, Objective pObjective)
    • onPlayerRemoved

      public void onPlayerRemoved(ScoreHolder pScoreHolder)
    • onPlayerScoreRemoved

      public void onPlayerScoreRemoved(ScoreHolder pScoreHolder, Objective pObjective)
    • onTeamAdded

      public void onTeamAdded(PlayerTeam pPlayerTeam)
    • onTeamChanged

      public void onTeamChanged(PlayerTeam pPlayerTeam)
    • onTeamRemoved

      public void onTeamRemoved(PlayerTeam pPlayerTeam)
    • entityRemoved

      public void entityRemoved(Entity pEntity)
    • savePlayerScores

      protected ListTag savePlayerScores(HolderLookup.Provider pLevelRegistry)
    • loadPlayerScores

      protected void loadPlayerScores(ListTag pTag, HolderLookup.Provider pLevelRegistry)