Reputation: 1
this is the code that executes whenever a player joins the server:
Team nametag = s.registerNewTeam("nametag");
nametag.setPrefix("§d");
nametag.addEntry(player.getName());
this code is supposed to make every player in the playerlist's name to pink, and their in-game nametags to pink. however, the pink names only display to the individual player, & not everyone else online.
Upvotes: 0
Views: 599
Reputation: 1
It looks like you're making a new team for each player. Try having one instance of the nametag and removing/adding to it on player join/leave. Remember to send it to each player each time the nametag updates.
Edit:
private final Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
private Team nameTag;
public void setScoreboard(Player player) {
if (nameTag == null) {
nameTag = board.registerNewTeam("nametag");
}
nameTag.setPrefix("§d");
if (player.isOnline()) {
nameTag.addEntry(player.getName());
} else {
nameTag.removeEntry(player.getName());
}
for (Player p : Bukkit.getOnlinePlayers()) {
p.setScoreboard(board);
}
}
Upvotes: 0