• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot "Titel" über Spieler anzeigen

elrobtossohn

Redstoneengineer
Registriert
8 März 2017
Beiträge
41
Diamanten
8
Hey,

Ich bin gerade am überlegen wie man am besten Titel für Spieler unter den Spielernamen packen könnte.
Beispiel:
1569195476562.png

hat jemand vielleicht eine Ahnung wie man das am besten unter dem Spielernamen (also der über dem Spieler) anzeigen könnte? c:

MfG
 

zTrouble

Redstoneengineer
Registriert
8 September 2019
Beiträge
30
Diamanten
250
Genauer gesagt so:
Beispiel:
public static void setScoreboard(Player p) {
      Scoreboard scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
      Objective objective = scoreboard.registerNewObjective("123", "test");

      objective.setDisplaySlot(DisplaySlot.BELOW_NAME);
      
  }

}

So würde ich es machen.
 

zTrouble

Redstoneengineer
Registriert
8 September 2019
Beiträge
30
Diamanten
250
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.
Code [Erklärung folgt]:
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:
Screenshot_2.png

Ich hoffe es war alle verständlich, bei Fragen einfach auf meinen Post antworten :)
LG
 
Zuletzt bearbeitet:
Oben