Jump to content

Empfohlene Beiträge

Geschrieben

Hey,

 

Ich habe vor kurzem ein Tablist und Chatsystem geschrieben. Dabei ist ein Fehler aufgetreten sobald ich zum Server connecten wollte. Dieser Fehler kommt immer wenn ich einen Rang vergebe ( z.B Owner )

Ich benutze PEX ( PermissionsEX ) 

 

Folgende Fehlermeldung:

Internal Exception: io.netty.handler.codec.DecoderException: The received string length is longer than maximum allowed (26 > 16)

 

Ich komme erst wieder auf den Server, wenn ich mir die "default" Gruppe gebe. Diese hat als einzigste keine Prefix.

Wenn ihr mir helfen könntet, wäre das mega cool. Und eine ausführliche Fehlerbehebung ( Beschreibung zur Behebung )


CODE:

 

Main:

package de.zquarus.classes;
 
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.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.Scoreboard;
 
import ru.tehkode.permissions.bukkit.PermissionsEx;
 
public class Main extends JavaPlugin implements Listener {
   
    public static String Prefix = "";
    Scoreboard sb;
   
    public void onEnable(){
        
       
        Bukkit.getPluginManager().registerEvents(new Chat(), this);
        Bukkit.getPluginManager().registerEvents(this, this);
       
        sb = Bukkit.getScoreboardManager().getNewScoreboard();
        
      
       
        sb.registerNewTeam("00000Owner");
        sb.registerNewTeam("00001Admin");
        sb.registerNewTeam("00003Dev");
        sb.registerNewTeam("00004JrDev");
        sb.registerNewTeam("00005Content");
        sb.registerNewTeam("00006Mod");
        sb.registerNewTeam("00007JrMod");
        sb.registerNewTeam("00008Sup");
        sb.registerNewTeam("00009JrSup");
       
        sb.getTeam("00000Owner").setPrefix("§8[§4§lO§8]§4§l ");
        sb.getTeam("00001Admin").setPrefix("§8[§4§lA§8]§4§l ");
        sb.getTeam("00003Dev").setPrefix("§8[§b§lD§8]§b§l ");
        sb.getTeam("00004JrDev").setPrefix("§8[§b§lJrDev§8]§b§l ");
        sb.getTeam("00005Content").setPrefix("§8[§b§lC§8]§b§l ");
        sb.getTeam("00006Mod").setPrefix("§8[§c§lM§8]§c§l ");
        sb.getTeam("00007JrMod").setPrefix("§8[§c§lJrMod§8]§c§l ");
        sb.getTeam("00008Sup").setPrefix("§8[§e§lSup§8]§e§l ");
        sb.getTeam("00009JrSup").setPrefix("§8[§e§lJrSup§8]§e§l ");
                
       
    }
    public void onDisable(){
       
       
    }
    @EventHandler
    public void onJoin(PlayerJoinEvent e){
        setPrefix(e.getPlayer());
        try {
           
        } catch (Exception e1) {
           
        }
        
        
    }
       
   
    private void setPrefix(Player p){
        String team = "";
       
        if(PermissionsEx.getUser(p).inGroup("Owner")){
            team = "00000Owner";
           
        }else
        if(PermissionsEx.getUser(p).inGroup("Admin")){
            team = "00001Admin";
           
        }else
        if(PermissionsEx.getUser(p).inGroup("Dev")) {
            team = "00003Dev";
            
        }else
        if(PermissionsEx.getUser(p).inGroup("JrDev")) {
            team = "00004JrDev";
            
        }else
        if(PermissionsEx.getUser(p).inGroup("Content")) {
            team = "00005Content";
            
        }else
        if(PermissionsEx.getUser(p).inGroup("Mod")) {
            team = "00006";
            
        }else
        if(PermissionsEx.getUser(p).inGroup("JrMod")) {
            team = "00007";
            
        }else
        if(PermissionsEx.getUser(p).inGroup("Sup")) {
            team = "00008";
            
        }else
        if(PermissionsEx.getUser(p).inGroup("JrSup")) {
            team = "00009";
        }
        
       
        sb.getTeam(team).addPlayer(p);
        p.setDisplayName(sb.getTeam(team).getPrefix());
       
        for(Player all : Bukkit.getOnlinePlayers()){
            all.setScoreboard(sb);
        }
       
    }
   
   
 
}

 

Chat:

package de.zquarus.classes;
 
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
 
import ru.tehkode.permissions.bukkit.PermissionsEx;
 
public class Chat implements Listener{
   
    @EventHandler
    public void onChat(AsyncPlayerChatEvent e){
        Player p = e.getPlayer();
       
        if(PermissionsEx.getUser(p).inGroup("Owner")){
            e.setFormat("§4§lOwner §8* §4§l" + p.getName() + " §8» §f" + e.getMessage());
        }else
        if(PermissionsEx.getUser(p).inGroup("Admin")){
            e.setFormat("§4§lAdminstrator §8* §4§l" + p.getName() + " §8» §f" + e.getMessage());
        }else
        if(PermissionsEx.getUser(p).inGroup("Dev")){
            e.setFormat("§b§lDeveloper §8* §b§l" + p.getName() + " §8» §f" + e.getMessage());
        }else 
        if(PermissionsEx.getUser(p).inGroup("JrDev")) {
            e.setFormat("§b§lJrDeveloper §8* §b§l" + p.getName() + " §8» §f" + e.getMessage());
        }else
        if(PermissionsEx.getUser(p).inGroup("Content")) {
            e.setFormat("§b§lContent §8* §b§l" + p.getName() + " §8» §f" + e.getMessage());
        }else
        if(PermissionsEx.getUser(p).inGroup("Mod")) {
            e.setFormat("§c§lModerator §8* §c§l" + p.getName() + " §8» §f" + e.getMessage());
        }else 
        if(PermissionsEx.getUser(p).inGroup("JrMod")) {
            e.setFormat("§c§lJrModerator §8* §c§l" + p.getName() + " §8» §f" + e.getMessage());
        }else
        if(PermissionsEx.getUser(p).inGroup("Sup")) {
            e.setFormat("§e§lSupporter §8* §e§l" + p.getName() + " §8» §f" + e.getMessage());
        }else
        if(PermissionsEx.getUser(p).inGroup("JrSup")) {
            e.setFormat("§e§lJrSupporter §8* §e§l" + p.getName() + " §8» §f" + e.getMessage());
        }
        
    }
 
}

 

Falls ihr noch weitere Fragen habt. Einfach anschreiben.

 

Ich freue mich auf eine positive Antwort! 

 

Mit freundlichen Grüßen

 

zQuarus   |    Felix S.

 

 

 

Geschrieben

Hey,

naja wie schon in der Fehlermeldung steht, ist der String welcher 26 Zeichen bei dir hat zu lang und darf nur 16 haben. Du kannst ja mal googlen ob man die max. Länge ändern kann.

 

LG Schmidi

Geschrieben
sb.getTeam("00000Owner").setPrefix("§8[§4§lO§8]§4§l ");
sb.getTeam("00001Admin").setPrefix("§8[§4§lA§8]§4§l ");
sb.getTeam("00003Dev").setPrefix("§8[§b§lD§8]§b§l ");
sb.getTeam("00004JrDev").setPrefix("§8[§b§lJrDev§8]§b§l ");
sb.getTeam("00005Content").setPrefix("§8[§b§lC§8]§b§l ");
sb.getTeam("00006Mod").setPrefix("§8[§c§lM§8]§c§l ");
sb.getTeam("00007JrMod").setPrefix("§8[§c§lJrMod§8]§c§l ");
sb.getTeam("00008Sup").setPrefix("§8[§e§lSup§8]§e§l ");
sb.getTeam("00009JrSup").setPrefix("§8[§e§lJrSup§8]§e§l ");

Das was in den Klammern steht bei setPrefix(""); darf niemals mehr als 16 Zeichen betragen. D.h. du solltest sparsamer mit deinen "§e§4§l" zeichen sein, dann sollte die Fehler meldung nicht mehr kommen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B