• 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!

Tablist - CODEN

D

deleted191575

Guest
Hallo @Minecraft-Server.eu-Comunity,
Ich bräuchte heute mal eure Hilfe um ein kleines Event zu vervollständigen bzw. eine Tablist auf meinem Server zum funktionieren zu bringen. Leider muss ich sagen dass: A. ich nicht wirklich viel Erfahrung habe mit der Minecraft API zu programmieren und auch generell mit Java, und B. ich habe auch noch nicht mit Scoreboard gearbeitet um die Suffixe zu setzten.
Mich würde es wirklich freuen würdet ihr mir bei meinem Problem helfen. Im Anhang ist mein Code mit beigelegt.

Code:
package com.minecroud.system.listener;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;

public class ScoreboardJoinListener implements Listener {
       
    @SuppressWarnings("deprecation")
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();   
       
        Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
       
        Team Inhaber = sb.registerNewTeam("Inhaber");
        Team Admin = sb.registerNewTeam("Admin");
        Team SrEntwickler = sb.registerNewTeam("Sr-Entwickler");
        Team Entwickler = sb.registerNewTeam("Entwickler");
        Team TEntwickler = sb.registerNewTeam("T-Entwickler");
        Team SrMod = sb.registerNewTeam("Sr-Mod");
        Team Mod = sb.registerNewTeam("Mod");
        Team SrSup = sb.registerNewTeam("Sr-Sup");
        Team Sup = sb.registerNewTeam("Sup");
        Team Azubi = sb.registerNewTeam("Azubi");
        Team SrErbauer = sb.registerNewTeam("Sr-Erbauer");
        Team Erbauer = sb.registerNewTeam("Erbauer");
        Team JrErbauer = sb.registerNewTeam("Jr-Erbauer");
        Team Freund = sb.registerNewTeam("Freund");
        Team Minegott = sb.registerNewTeam("Minegott");
        Team PremiumPLUS = sb.registerNewTeam("PremiumPLUS");
        Team Premium = sb.registerNewTeam("Premium");
        Team Spieler = sb.registerNewTeam("Spieler");
       
        if(p.hasPermission("system.inhaber")) {
            Inhaber.addPlayer(p);
            Inhaber.setSuffix("§4Inhaber §7| §4" + p.getDisplayName());
                } else if(p.hasPermission("system.admin")) {
                    Admin.addPlayer(p);
                    Admin.setSuffix("§4Admin §7| §4" + p.getDisplayName());
                        } else if(p.hasPermission("system.srentwickler")) {
                            SrEntwickler.addPlayer(p);
                            SrEntwickler.setSuffix("§bSr§7-§bEntwickler §7| §b" + p.getDisplayName());
                                } else if(p.hasPermission("system.entwickler")) {
                                    Entwickler.addPlayer(p);
                                    Entwickler.setSuffix("§bEntwickler §7| §b" + p.getDisplayName());
                                        } else if(p.hasPermission("system.tentwickler")) {
                                            TEntwickler.addPlayer(p);
                                            TEntwickler.setSuffix("§bT§7-§bEntwickler §7| §b" + p.getDisplayName());
                                                } else if(p.hasPermission("system.srmod")) {
                                                    SrMod.addPlayer(p);
                                                    SrMod.setSuffix("§9Sr§7-§9Mod §7| §" + p.getDisplayName());
                                                        } else if(p.hasPermission("system.mod")) {
                                                            Mod.addPlayer(p);
                                                            Mod.setSuffix("§9Mod §7| §9" + p.getDisplayName());
                                                                } else if(p.hasPermission("system.srsup")) {
                                                                    SrSup.addPlayer(p);
                                                                    SrSup.setSuffix("§2Sr§7-§2Sup §7| §2" + p.getDisplayName());
                                                                        } else if(p.hasPermission("system.sup")) {
                                                                            Sup.addPlayer(p);
                                                                            Sup.setSuffix("§2Sup §7| §2" + p.getDisplayName());
                                                                                } else if(p.hasPermission("system.azubi")) {
                                                                                    Azubi.addPlayer(p);
                                                                                    Azubi.setSuffix("§aAzubi §7| §a" + p.getDisplayName());
                                                                                        } else if(p.hasPermission("system.srerbauer")) {
                                                                                            SrErbauer.addPlayer(p);
                                                                                            SrErbauer.setSuffix("§3Sr§7-§eErbauer §7| §3" + p.getDisplayName());
                                                                                                } else if(p.hasPermission("system.erbauer")) {
                                                                                                    Erbauer.addPlayer(p);
                                                                                                    Erbauer.setSuffix("§3Erbauer §7| §3" + p.getDisplayName());
                                                                                                        } else if(p.hasPermission("system.jrerbauer")) {
                                                                                                            JrErbauer.addPlayer(p);
                                                                                                            JrErbauer.setSuffix("§3Jr§7-§3Erbauer §7| §3" + p.getDisplayName());
                                                                                                                } else if(p.hasPermission("system.freund")) {
                                                                                                                    Freund.addPlayer(p);
                                                                                                                    Freund.setSuffix("§aFreund §7| §a" + p.getDisplayName());   
                                                                                                                        } else if(p.hasPermission("system.minegott")) {
                                                                                                                            Minegott.addPlayer(p);
                                                                                                                            Minegott.setSuffix("§2MineGott §7| §2" + p.getDisplayName());
                                                                                                                                } else if(p.hasPermission("system.premium+")) {
                                                                                                                                    PremiumPLUS.addPlayer(p);
                                                                                                                                    PremiumPLUS.setSuffix("§6P§e+ §7| §6" + p.getDisplayName());
                                                                                                                                        } else if(p.hasPermission("system.premium")) {
                                                                                                                                            Premium.addPlayer(p);
                                                                                                                                            Premium.setSuffix("§ePremium §7| §e" + p.getDisplayName());
                                                                                                                                                } else
                                                                                                                                                    Spieler.addPlayer(p);
                                                                                                                                                    Spieler.setSuffix("§fSpieler §7| §f" + p.getDisplayName());
    }
}
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
Wenn ich im Code schon das hier sehe:
Code:
@SuppressWarnings("deprecation")
Wenn etwas als "veraltet" markiert ist, hat das einen Grund. Für Gewöhnlich stellt dann auch die Spigot-Api irgendwelche Methoden bereit, um das irgendwie ohne veraltetes Zeugs zu machen.

Desweiteren scheint dein if/else if-Konstrukt einen leichten Formatierungsfehler zu haben. Für gewöhnlich gibt es von IDEs Tools, die die Einrückung direkt übernehmen und das richtig machen. In Eclipse hilft Strg+Umschalt+F.
Dir sollte danach auch direkt auffallen, dass bei dem letzten else-Zweig die geschweiften Klammern fehlen. Dadurch wird folgendes immer ausgeführt:
Code:
Spieler.setSuffix("§fSpieler §7| §f" + p.getDisplayName());
Das könnte natürlich zum Fehler führen, da das Scoreboard nicht den Spieler beinhaltet.

Ansonsten:

Sicher, dass ein Suffix so funktioniert? Ich vermute mal, dass die Anzeige im Scoreboard/Chat aus folgendem besteht:
Code:
Spielerprefix + Anzeigename + Spielersuffix
Was du vermutlich eher suchst, ist ein Prefix :p Dabei musst du auch nicht den Spielernamen als Prefix setzen, sondern nur das, was vorne dran steht.

Java Conventions! Du definierst da lokale Variabeln, die sollten klein sein!

Warum haust du direkt alle möglichen Fälle in deine Abfrage rein? Fang doch einfach mal ganz einfach mit einem if(spieler == admin) ... else an. Danach kannst du das immernoch beliebig komplex machen.
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
Nochmal rein zum Verständnis am liebsten würde ich diese IF-Abfragen in einer Tablist abfragen und eine erstellen aber ich habe leider das Problem dass es einen zu langen String gibt
Nimm es mir nicht übel, aber ich glaube nicht, dass wir dazu zuständig sein sollten, dir ein Konzept zu erarbeiten, weil einige Optionen nicht funktionieren. Bei der technischen Umsetzung bin ich gerne behilflich, aber wenn du selbst nicht weißt, wie du solche Probleme umgehen könntest, empfehle ich dir eher den Blick auf bestehende Tab-List Plugins oder auf bekanntere Server.

Wie man dann irgendwelche Fake-Player etc. einfügt, kann man dir dann sicherlich noch einmal erklären. Allerdings glaube ich, dass dafür noch einiges an Kenntnissen bei dir fehlen ;)
 
Oben