Skip to main content

Documentation Index

Fetch the complete documentation index at: https://velas.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

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.
RuleMethodDescription
Friendly firesetFriendlyFire(boolean)Whether teammates can damage each other.
Entity friendly firesetEntitiesFriendlyFire(boolean)Whether entity members of the team can take damage from other team members.
Friendly invisibilitiessetCanSeeFriendlyInvisibilities(boolean)Whether invisible teammates appear visible to other team members.
Collision rulesetTeamCollisionRule(TeamCollisionRule)Controls entity collision between members and others.
Name tag visibilitysetNameTagVisibility(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.
MethodDescription
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();