VelaBoard teams group players and entities with shared visual and gameplay properties. By assigning members to a team, you control how their names appear, whether they can damage each other, and how collision and name tag rules apply between them.
Creating a team
Call scoreboard.team(String name) to create a team or retrieve an existing one by the same name. It is safe to call repeatedly — if a team with that name already exists, it is returned rather than duplicated.
Team blueTeam = scoreboard.team("blue");
Calling scoreboard.team("name") on an existing team name returns that team without creating a new one. To check existence first, use scoreboard.hasTeam("name") or scoreboard.getTeam("name") (which returns null if not found).
Setting visual properties
Use setColor, setPrefix, and setSuffix to control how team members appear in chat and above their heads. All setter methods return the Team instance, so you can chain them.
scoreboard.team("blue")
.setColor(TeamColor.BLUE)
.setPrefix("§9[Blue] ")
.setSuffix(" §9★");
Available TeamColor values: BLACK, DARK_BLUE, DARK_GREEN, DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY, DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE, YELLOW, WHITE
Gameplay rules
VelaBoard exposes several gameplay rules that control how team members interact with each other and other players.
| Rule | Method | Description |
|---|
| Friendly fire | setFriendlyFire(boolean) | Whether teammates can damage each other. |
| Entity friendly fire | setEntitiesFriendlyFire(boolean) | Whether entity members of the team can take damage from other team members. |
| Friendly invisibilities | setCanSeeFriendlyInvisibilities(boolean) | Whether invisible teammates appear visible to other team members. |
| Collision rule | setTeamCollisionRule(TeamCollisionRule) | Controls entity collision between members and others. |
| Name tag visibility | setNameTagVisibility(TeamNameTagVisibility) | Controls who can see member name tags. |
TeamCollisionRule values:
ALWAYS — all entities collide with team members
FOR_OWN_TEAM — only teammates collide with each other
FOR_OTHER_TEAMS — only non-teammates cause collisions
NEVER — no collision with team members
TeamNameTagVisibility values:
ALWAYS — all players can see team member name tags
FOR_OWN_TEAM — only teammates see name tags
FOR_OTHER_TEAMS — only non-teammates see name tags
NEVER — name tags are hidden from everyone
scoreboard.team("blue")
.setColor(TeamColor.BLUE)
.setPrefix("§9[Blue] ")
.setSuffix(" §9★")
.setFriendlyFire(false)
.setCanSeeFriendlyInvisibilities(true)
.setTeamCollisionRule(TeamCollisionRule.FOR_OWN_TEAM)
.setNameTagVisibility(TeamNameTagVisibility.ALWAYS);
Managing members
Add or remove players and entities using the methods below.
| Method | Description |
|---|
addPlayer(Player) | Adds a player to the team. |
removePlayer(Player) | Removes a player from the team. |
addEntity(Entity) | Adds a non-player entity to the team. |
removeEntity(Entity) | Removes an entity from the team. |
hasPlayer(Player) | Returns true if the player is on this team. |
hasEntity(Entity) | Returns true if the entity is on this team. |
team.addPlayer(player);
team.addEntity(wolf);
if (team.hasPlayer(player)) {
team.removePlayer(player);
}
To find which team a player is currently on, use scoreboard.getTeamOf:
Team current = scoreboard.getTeamOf(player); // null if not on any team
To remove a player from their current team without knowing which team it is:
scoreboard.removePlayerFromTeam(player);
Removing teams
Remove a single team by name or clear all teams from the scoreboard at once.
scoreboard.removeTeam("blue");
scoreboard.clearTeams();