• 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 [Abgebrochen] Wie erstelle ich eine ähnliche Tabliste?

D

deleted209242

Guest
Sehr geehrte Foren User,

ich versuche derzeit ein Plugin zu schreiben, welches die Tabliste in der 1.13 ändern soll.

Ich hätte gerne eine änliche Tablise wie folgende:
Anmerkung 2019-01-30 232108.jpg


Wie stelle ich das an, mein Versuch sah so aus:
Code:
public void onTablist(Player p) {
    PacketPlayOutPlayerInfo p1 = new PacketPlayOutPlayerInfo("", true, 0);
    ((CraftPlayer) p).getHandle().playerConnection.sendPacket(p1);
}
Wo es dann schon den ersten Fheler gab: Dabei wird mir in diesem Bereich: PacketPlayOutPlayerInfo("", true, 0) immer der folgende Fehler Makiert: Remove arguments to match

Kennt ihr andere möglichkeiten solch eine Tabliste selber zu erstellen?

mfg Sullaysur
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Eine einfache Möglichkeit wäre Teams für die Spieler zu verwenden und für diese Prefixe festzulegen. Die Spieler werden dann in der Tabliste zunächst nach dem Teamnamen und dann nach dem Spielernamen sortiert.

Wenn du mit Paketen arbeiten möchtest, dann ist die auf BungeeCord-Ebene einfacher. Oder du benutzt dafür eine Bibliothek wie ProtocolLib.
 
D

deleted209242

Guest
Eine einfache Möglichkeit wäre Teams für die Spieler zu verwenden und für diese Prefixe festzulegen. Die Spieler werden dann in der Tabliste zunächst nach dem Teamnamen und dann nach dem Spielernamen sortiert.

Wenn du mit Paketen arbeiten möchtest, dann ist die auf BungeeCord-Ebene einfacher. Oder du benutzt dafür eine Bibliothek wie ProtocolLib.

Also dass mit den Teams habe ich ja schon:
Code:
public class PlayerTag implements Listener{
    
    Scoreboard pt = Bukkit.getScoreboardManager().getMainScoreboard();
    Team t = null;
    
    @SuppressWarnings("deprecation")
    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        
        //Team
        if(Permission***.getUser(p).inGroup("owner")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§4Owner§7] §4");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("developer")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§2Developer§7] §2");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("supporter")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§1Support§7] §1");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("rpg_leitung")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§3RPG Leitung§7] §3");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("rpg_verwaltung")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§bRPG Verwaltung§7] §b");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("bau_meister")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§bBau Meister§7] §b");
            t.addPlayer(p);
        }
        
        //User
        if(Permission***.getUser(p).inGroup("default")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§8Spieler§7] §8");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("aequitaner")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§9Äquitaner§7] §9");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("mensch")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§6Mensch§7] §6");
            t.addPlayer(p);
        } else if(Permission***.getUser(p).inGroup("zwerg")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§5Zwerg§7] §5");
            t.addPlayer(p);
        }else if(Permission***.getUser(p).inGroup("naturgeist")) {
            if(pt.getTeam(p.getName()) == null) {
                t = pt.registerNewTeam(p.getName());
            } else {
                t = pt.getTeam(p.getName());
            }
            t.setPrefix("§7[§aNaturgeist§7] §a");
            t.addPlayer(p);
        }
        
        
        
    }

}

Frage ist jetzt wie mache die Die Tabliste 2Spaltig und füge unten und oben den Text hinzu?
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Die Anzahl der Spalten richtet sich nach der Anzahl der Einträge in der Tabliste.

https://hub.spigotmc.org/javadocs/s...aderFooter-java.lang.String-java.lang.String-

Ich würde dir dringend raten, ein anderes Permissonssytem als PEX zu verwenden. Dieses wird nicht mehr weiterentwickelt und enthält einfach auszunutzende Sicherheitslücken. Bei anderen Systemen wie z.B. LuckPerms kann man den Gruppen auch eigene Eigenschaften zuordnen. Dort kannst du dann z.B. den Teamnamen und das Prefix hinterlegen, was deinen Code erheblich vereinfacht.
 
D

deleted209242

Guest
Die Anzahl der Spalten richtet sich nach der Anzahl der Einträge in der Tabliste.

https://hub.spigotmc.org/javadocs/s...aderFooter-java.lang.String-java.lang.String-

Ich würde dir dringend raten, ein anderes Permissonssytem als PEX zu verwenden. Dieses wird nicht mehr weiterentwickelt und enthält einfach auszunutzende Sicherheitslücken. Bei anderen Systemen wie z.B. LuckPerms kann man den Gruppen auch eigene Eigenschaften zuordnen. Dort kannst du dann z.B. den Teamnamen und das Prefix hinterlegen, was deinen Code erheblich vereinfacht.
Das Problem ist das ich mich mit der Programmierung von Lucky Perms 0 auskenne. Zudem müsste ich mich dann noch mit den einstellungen der Gruppen und den Permissions befassen. Für einen Privaten Server der mit whitelist und privater Domain online geht, spielen da Sicherheitslücken kein Problem, wer mist baut fliegt und damit hat sich dass. Daher wollte ich mir eigentlich nicht den Stress machen und ein neues Permissions Plugin anlernen, welches ich danach nie wieder benötige. Aber falls du mir erklärst wie ich folgendes mache, wäre ich bereit meinen gesamten Code umzuschreiben:
  • Die Prefix für den Chat
  • Die Prefix für die Tabliste
  • Die Prefix für den PlayerTag (Namen über dem Spieler)
  • Die Gruppe abfragen für meinen Help Befehl
  • Die Permission Abfrage
Das sind die momentanen Permission gesteuerten Sachen die ich umschreiben müsste, wenn du mir dabei helfen könntest wäre das Super.
Die SourceCodes kann ich dir Senden, nur leider habe ich erlich gesagt keine Zeit und Lust dazu mich in dieses neue Plugin einzulesen.

mfg Sullaysur
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Die API für LuckPerms habe ich bisher nur mal grob überflogen, deswegen weiß ich nicht wie es geht. Es gibt aber ein übersichtliches Wiki dazu, in dem das genau erklärt wird. Gemerkt habe ich dabei noch, dass es für den Chat Plugins gibt, die mit LuckPerms zusammenarbeiten.
 
Oben