Meinst du das wenn ein Spieler Level 0 ist, gar nichts unter dem Namen steht?
Edit: Ich denke du meinst das standardmäßig wenn du ein Score setzt da "0" vor steht, meines Wissens nach kannst du diese Zahl überschreiben, das aber auch nur mit einem integer, du könntest es also so machen: "5 Level", anders geht es meines Wissens nach nicht. Hier ein Codebespiel wie ich "0" mit meinem Hungerlevel überschreibe, bei
score.setScore(p.getFoodLevel()); kannst du statt dem Hungerlevel eben das Spieler Level oder was auch immer du dort anzeigen möchtest überschreiben, ein String geht da dann halt nicht.
public static void setScoreboard(Player p) {
Scoreboard scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
Objective objective = scoreboard.registerNewObjective("Level", "test");
objective.setDisplaySlot(DisplaySlot.BELOW_NAME);
Score score = objective.getScore(Bukkit.getOfflinePlayer(p.getDisplayName()));
score.setScore(p.getFoodLevel());
p.setScoreboard(scoreboard);
}
Beim "Below_Name" funktioniert das ganze anders, das
Score score = objective.getScore(Bukkit.getOfflinePlayer(p.getDisplayName())); muss übrigens so bleiben, was bei
Objective objective = scoreboard.registerNewObjective("Level", "test"); ist das was hinter der Zahl angezeigt wird, zumindestens
"Level", das wichtige da "test" nicht angezeigt wird und egal ist was dort steht, wichtig ist
score.setScore(p.getFoodLevel()); wo du einen Integer anzeigen kannst, wenn du dort eine absurd hohe Zahl eingibst wird die Zahl vllt nicht angezeigt und nur dein Text dahinter oder das Scoreboard wird gar nicht angezeigt und du kriegst eine Fehlermeldung, musst du einfach mal testen. Bei mir sieht es dann übrigens so aus:
Ich hoffe es war alle verständlich, bei Fragen einfach auf meinen Post antworten
LG