Scoreboard und Tablist funktioniert nicht

  • Hallo,

    Ich habe vor kurzem ein Scoreboard in meinem Minispiel eingebaut. Dieses hat auf meinem TestServer wunderbar funktioniert. Jetzt habe ich das Plugin auf meinen HauptServer mit der Cloud CloudNet installieren.

    Jetzt funktioniert alles andere, bis auf Tablist und Scoreboard woran kann das liegen? Und was muss ich machen?


    Mfg DerDanny .D

  • Scoreboardplugins haben eine große Schwachstelle: Die Methode player#setScoreboard(...). Jeder Spieler kann nur "Mitglied" in einem Scoreboard sein. In den meisten Fällen soll jeder Spieler ein individuelles Scoreboard sehen, was bedeutet, dass jedem Spieler ein individuelles Scoreboard erstellt wird.

    Wenn das jetzt mehrere Plugins machen (bspw. Scoreboard und Tablist) machen die sich beide gegenseitig kaputt.

    Glücklicherweise gibt es ein einfaches Workaround. Irgendwo in deinem Code wirst du Bukkit#getNewScoreboard(..) machen. Das ersetzt du durch:

    Code
    1. Player player; // Den Spieler musst du gegeben haben
    2. Scoreboard scoreboard; // Das möchtest du bekommen
    3. if (player.getScoreboard() == Bukkit.getMainScoreboard()) {
    4. scoreboard = Bukkit.getNewScoreboard(...);
    5. player.setScoreboard(scoreboard);
    6. } else {
    7. scoreboard = player.getScoreboard();
    8. }


    Das sollte es schon gewesenen sein. Dieser Codeschnippsel ist mit den meisten anderen Plugins, die nicht darauf achten, kompatibel. Wenn es immer noch nicht geht, achte mal darauf, dass dein Plugin als letztes Enabled wird, und die Eventpriorities auf HIGHEST gesetzt sind.

    ~ Rincewind