Scoreboard komplett updaten?
Moin, Moin!
Ich finde einfach keine Möglichkeit, dass Scoreboard zu updaten.
Aktuell habe ich nur die eigenen Kills und die Anzahl der Spieler drin.
Ich möchte aber demnächst noch eine Top 5 Kills hinzufügen.
Gibt es eine Möglichkeit, dass komplette Scoreboard zu aktualisieren?
@EventHandler
public void join(PlayerJoinEvent event) {
Player player = event.getPlayer ();
Scoreboard board = (Scoreboard) Bukkit.getScoreboardManager().getNewScoreboard();
Objective obj = ((org.bukkit.scoreboard.Scoreboard) board).registerNewObjective("1111", "1112");
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
obj.setDisplayName("§3§lPlaceholder Title");
obj.getScore("§2").setScore(6);
obj.getScore("§l§3Kills").setScore(5);
obj.getScore("§b" + player.getStatistic(Statistic.PLAYER_KILLS)).setScore(4);
obj.getScore("§1").setScore(3);
obj.getScore("§l§3Online").setScore(2);
obj.getScore("§b"+ Bukkit.getOnlinePlayers().size () + "§7/" + "§b12").setScore(1);
player.setScoreboard(board);
}
1 Antwort
Hallo,
es gibt 2 Möglichkeiten.
1.: Du setzt das Scoreboard immer wieder neu. Dann aktualisiert sich das ganze. Dazu bietet es sich an das Socreboard an sich in eine neue Methode zu setzen, z.B. setScoreboard(Player player); und diese dann aufrufen.
2.: Du ersetzt alle Zeilen, die sich updaten sollen, durch Teams. Auch dafür musst du das Scoreboard in eine eigene Methode packen, die du unabhängig von anderen immer wieder aufrufen kannst.
Wie genau das geht, kannst du bei der Frage hier nachlesen: https://www.gutefrage.net/frage/scoreboard-updaten-spigot
Bei weiteren Fragen gerne melden,
LG