D
deleted191575
Guest
Hallo liebe Community, ich habe heute mal ein ganz anderes Problem als bei meinen vorheriegen, es ist zwar wieder ein Tablist Plugin aber es würde mich wie immer freuen wenn ihr mir Sachen erklären und auch eventuell beibringen könnt, wie schon bereits im Titel zu lesen ist möchte ich heute zusammen mit euch eine Lösung ür mein Vorhaben finden, es geht darum dass ich aktuell ein Scoreboard benutze um die Prefixe von den Spielern im Tab zu setzten, mein Problem ist jetzt, ich habe noch NIE mit Packets gearbeitet und ich glaube ich würde mich verrückt machen alleine bei dem Versuch. Viele von euch sagen jetzt bestimmt warum mach er es nicht einfach mit dem Scoreboard, es ist eine berechtigte Frage es ist leider so dass ich mit meinen anderen System ebenfalls schon Scoreboards benutze außerdem ist es eine nützlich Sache soetwas dementsprechen zu lernen, ich freue mich schon auf eure Ideen und Vorschläge weil ohne euch bin ich "aufgeschmissen", vielen Dank an euch alle schon einmal im voraus
, Im Anhang sind natürlich Teile meines Codes um euch zu zeigen wie ich es gemacht habe und ich kann euch sagen so wie es jetzt im Moment ist funktioniert jeder Prefix.
Hier ist nun der Code der von Scoreboard in Packets editiert werden muss
Hier ist nun der Code der von Scoreboard in Packets editiert werden muss
Java:
// ich weiß hier steht deprecation wusste aber nicht wie anders :P
// Dieser Teil sind die Methoden die ich unten benutze.
@SuppressWarnings({ "deprecation" })
private void setPrefix(String prefix, Player p) {
String pr = prefix.replace("&", "§");
Team team = board.getTeam(prefix);
if (team == null) {
team = board.registerNewTeam(prefix);
team.setPrefix(pr);
}
team.addPlayer(p);
p.setScoreboard(board);
for(Player all : Bukkit.getOnlinePlayers()) {
all.setScoreboard(board);
}
}
private void updateScoreboard(Player p) {
p.setScoreboard(board);
}
//Hier sind nun 2 Prefix beispiele:
public static Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
updateScoreboard(p);
try { //zu dem Hier habe ich natürlich einen TRY CATCH Block gemacht um
// eine StringIndexOutOfBound***ception kurz ex abzufangen
if(p.hasPermission("system.inhaber")) {
setPrefix("§4Inhaber §f│ §4".substring(0, Math.round(16)), p);
} else if(p.hasPermission("system.administrator")) {
setPrefix("§4Admin §f│ §4", p);
//Hier geht es nun ewig weiter mit "} else if() {"