Scoreboard zeigt einzelne Scores nicht an

Dieses Thema im Forum "Programmierung" wurde erstellt von Sabbertran, 31. Juli 2014.

  1. Sabbertran
    Offline

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Hey,
    ich habe ein Problem mit dem Scoreboard.
    Ich möchte die Daten aus einer HashMap dort reinschreiben und sie so den Spielern anzeigen lassen.
    Allerdings werden beim updaten des Scoreboards zufällig einzelne Zeilen nicht angezeigt.

    Code (Text):
    1. public void updateScoreboards()    {
    2.         Scoreboard board = getServer().getScoreboardManager().getNewScoreboard();
    3.         Objective serverInfo = board.registerNewObjective("Server Info", "dummy");
    4.         serverInfo.setDisplaySlot(DisplaySlot.SIDEBAR);
    5.         serverInfo.setDisplayName(ChatColor.AQUA + "Server Info");
    6.         int i = this.serverInfo.size() * 3;
    7.         for (Map.Entry<String, String[]> entry : this.serverInfo.entrySet())
    8.         {
    9.             Score s = serverInfo.getScore(ChatColor.AQUA + entry.getKey());
    10.             s.setScore(i);
    11.             Score s1 = serverInfo.getScore("  " + entry.getValue()[0] + " TPS");
    12.             s1.setScore(i - 1);
    13.             Score s2 = serverInfo.getScore("  " + entry.getValue()[1] + " Players");
    14.             s2.setScore(i - 2);
    15.             System.out.println("s: " + s.getEntry() + " s1: " + s1.getEntry() + " s2: " + s2.getEntry());
    16.             i = i - 3;
    17.         }
    18.  
    19.  
    20.         for (Player p : getServer().getOnlinePlayers())
    21.         {
    22.             if (p.hasPermission("infected.admin.serverinfo"))
    23.             {
    24.                 p.setScoreboard(board);
    25.             }
    26.         }
    27.     }
    28.  
    Die Texte der Scores werden richtig gesetzt, da sie in der Ausgabe (vorletzte Zeile der ersten Schleife) korrekt ausgegeben werden.
    Im Scoreboard werden sie jedoch manchmal einfach nicht angezeigt.

    Beispiel: Zu dieser Konsolenausgabe
    Code (Text):
    1.  
    2. [11:41:20] [Server thread/INFO]: s: §bHub s1:   20.0 TPS s2:   1/50 Players
    3. [11:41:20] [Server thread/INFO]: s: §bBuild s1:   19.98 TPS s2:   1/50 Players
    4. [11:41:20] [Server thread/INFO]: s: §bDeathmatch s1:   20.0 TPS s2:   1/50 Players
    5.  
    gehört dieses Scoreboard: http://i.imgur.com/mj89fSK.png

    Hatte jemand schonmal das selbe Problem und/oder eine Lösung für das Problem?

    Gruß Sabbertran
     
    #1
  2. Elrontur
    Offline

    Elrontur Ehem. Teammitglied

    Registriert seit:
    5. April 2013
    Beiträge:
    138
    Minecraft:
    Elrontur
    Genau da steckt einfach das Problem an der anderen Nutzungsweise des Scoreboards, als von Mojang gedacht!
    Du darfst leider keine gleichen Namen drin haben, also die 20.0 TPS müssen sich irgendwie unterscheiden. Versuch mal, jedem eine Farbe zuzuteilen. Ansonsten musst du dir was ganz anderes ausdenken. ^^
     
    #2
  3. Sabbertran
    Offline

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Ah, danke für den Hinweis. Wusste ich auch noch nicht.
    Mal gucken wie ich das hinkriege
     
    #3
  4. pasce1998
    Offline

    pasce1998

    Registriert seit:
    20. April 2014
    Beiträge:
    21
    Ort:
    Hessen
    Minecraft:
    pasce1998
    Was ich gerne mache ist einfach ein paar Leerzeichen mehr oder weniger hinzuzufügen oder einfach an der Letzten Stelle der Anzeige einen Farbcode dran hängen (Also in dem Fall nach dem "TPS"). Aber keine Sorge, die Farbe wird nicht angezeigt wenn danach nichts mehr kommt, deshalb an den Schluss den Farbcode hängen ^^

    LG
    ~ pasce1998
     
    #4