The scoreboard system, which is controlled by the
/scoreboard command, is a complex game mechanic that allows scores for entities to be created as well as splitting up players into different teams.
Objectives are a customizable set of goals for Players, for which they can be scored and ranked against other players. The objective consists of three parts: the objective name, a case-sensitive word that is referenced by commands, and the objective that determines what event controls the player's score.
/scoreboard objectives add <name> <criteria> [displayName]
Adds an objective name which is displayed to players as its display name and is controlled by the criteria
/scoreboard objectives list
Outputs all objectives, with their display name and criteria, to the chat.
/scoreboard objectives remove <name>
Deletes the objective entirely from the scoreboard.
/scoreboard objectives setdisplay <slot> [objective]
Displays players' scores of the objective in the specified slot. The slot can be "listed" by pressing Tab (showing only the score). The "sidebar" is a list on the side that shows scores and objectives. The "sidebar team color" acts like a "sidebar", but it only displays the team with the specified color. The below name command shows a player's score and objective below their username. If there is no objective specified, the slot is then cleared from the current objective.
Note: Using an asterisk as a player name works as @a, but it only affects players in the scoreboard system.
/scoreboard players add/remove/set <player> <objective> <count> [dataTag]
Adds/removes/sets an amount to the player's score for completing the objective, but it will only work if they match the data tag, if it's specified.
/scoreboard players enable <player> <trigger>
Allows players to use /trigger for the trigger; however, after the player uses the /trigger command one time, or if they are not yet enabled, attempting to use the /trigger command again for the objective will not succeed.
/scoreboard players list [playername]
Lists all of the players being tracked by the scoreboard or the objectives and corresponding scores of the player by using their username.
/scoreboard players operation <targetName> <targetObjective> <operation> <selector> <objective>
Alters the targets' name score for the target objective based on the operation, with the selector's score for the objective which is an input.
/scoreboard players reset <player> [objective]
Removes the player from the scoreboard entirely (if specified, it will only apply to the objective).
/scoreboard players tag
Affects the tags that a player may have. Tags are like scores for scoreboard objectives, but if it is without an objective it will not be limited to digits for the score.
/scoreboard players tag <player> add/remove <tagName> [dataTag]
Adds/removes a tag name to the player's username, but it will only work if they have the correct data tag, if it's specified.
/scoreboard players tag <player> list
Shows the tags that the player has in the chat.
/scoreboard players test <player> <objective> <min> [max]
Gives an output if the player's score for objective at least at the minimum but sometimes at the maximum as well. An asterisk can be used to denote the maximum (2,147,483,647, or 2^15) or the minimum (-2,147,483,648, or 2^15) for [max] and <min>, respectively.
Teams are groups through which players are made to join if they don't join a team. A team has four parts: a name, a display name, team options, and the list of players in the team. The first two parts are created at the team's creation while the other two are made by typing in their respective command. Note: using an asterisk as a player name works as @a, but only affects players in the scoreboard system.
/scoreboard teams add <name> [displayName]
Adds a team name that is seen by players as the display name.
/scoreboard teams empty <name>
Makes all players in the team leave said team.
/scoreboard teams join <team> [players...]
Makes the players in the list to join the team.
/scoreboard teams leave [players...]
Removes the players in the list from their teams.
/scoreboard teams list [teamname]
Lists either the team in the scoreboard system, or the players in team specified.
/scoreboard teams option
Sets an option for a team.
/scoreboard teams option <team> color <value>
Sets the display color for players in the team to the value specified
/scoreboard teams option <team> friendlyfire <true|false>
defaulting to true, determines if players in <team> can attack each other.
/scoreboard teams option <team> seeFriendlyInvisibles <true|false>
defaulting to true, determines if players on <team> can see each other as transclusent when invisible (similar to how spectators see invisible players).
/scoreboard teams option <team> nametagVisibility <never|hideForOtherTeams|hideForOwnTeam|always>
determines who can see the nametags of players on the team <team>.
/scoreboard teams option <team> deathMessageVisibility <never|hideForOtherTeams|hideForOwnTeam|always>
determines who can see the death messages on the team <team>.
/scoreboard teams option <team> collisionRule <always|never|pushOwnTeam|pushOtherTeams>
determines who the players on team <team> can collide with.
/scoreboard teams remove <name>
removes the team from the scoreboard.