Jump to content

Recommended Posts

Posted

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.

 

 

 

Posted

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

Posted
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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...
B
B