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 a 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 a 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 a 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 a players being tracked by the scoreboard or the objectives and corresponding scores of a 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 a 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 a 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 a player has in the chat.
/scoreboard players test <player> <objective> <min> [max]
Gives an output if a 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 a players in the list to join the team.
/scoreboard teams leave [players...]
Removes a players in the list from their teams.
/scoreboard teams list [teamname]
Lists either the team in the scoreboard system, or a 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 a players on team <team> can collide with.
/scoreboard teams remove <name>
removes the team from the scoreboard.