• 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 Tablist prefix 1.13+

TntTastisch

Kuhfänger
Registriert
26 März 2018
Beiträge
52
Alter
25
Diamanten
250
Minecraft
TntTastisch
Hey,
Ich programmiere derzeit für meine Community ein Tablist Prefix.
In der Konsole kommt ständig ein nerviger Unerklärlicher Fehler:


java:
     @EventHandler
    public void onJoin(PlayerJoinEvent event){
        String header = this.getConfig().getString("System.Header");
        String footer = this.getConfig().getString("System.Footer");
         try {
             final TabPlayer disconnectedPlayer = Shared.getPlayer(event.getPlayer());
             Placeholders.recalculateOnlineVersions();

             final List<Integer> ids = new ArrayList<Integer>();
             final int[] idsArr = new int[ids.size()];
             for (int i = 0; i < idsArr.length; ++i) {
                 idsArr[i] = ids.get(i);
             }
             ((TablistAPI)Shared.packetAPI).sendTabHF(event.getPlayer().getName(), header, footer);

         }
         catch (Exception ex) {
             ex.printStackTrace();
         }
    }

[13:05:14 WARN]: java.lang.NullPointerException
[13:05:14 WARN]: at de.TntTastisch.Spigot.Tablist.onJoin(Tablist.java:69)
[13:05:14 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[13:05:14 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[13:05:14 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[13:05:14 WARN]: at java.lang.reflect.Method.invoke(Unknown Source)
[13:05:14 WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305)
[13:05:14 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[13:05:14 WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500)
[13:05:14 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.PlayerList.onPlayerJoin(PlayerList.java:343)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.PlayerList.a(PlayerList.java:162)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.LoginListener.b(LoginListener.java:149)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.LoginListener.tick(LoginListener.java:53)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.NetworkManager.a(NetworkManager.java:230)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.ServerConnection.c(ServerConnection.java:119)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:993)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:830)
[13:05:14 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:728)
[13:05:14 WARN]: at java.lang.Thread.run(Unknown Source)

Könnte irgendjemand mir Weiterhelfen?
Danke schon mal im vor raus.


Mit freundlichen Grüßen,
TntTastisch
 
Registriert
10 Dezember 2017
Beiträge
161
Alter
26
Diamanten
322
Minecraft
DerFrZocker
Es wäre hilfreich zu wissen welche die 69 Zeile ist.

Und dann würde mich noch interessieren was das bewirken soll:
final List<Integer> ids = new ArrayList<Integer>(); final int[] idsArr = new int[ids.size()]; for (int i = 0; i < idsArr.length; ++i) { idsArr = ids.get(i); }
 

TntTastisch

Kuhfänger
Registriert
26 März 2018
Beiträge
52
Alter
25
Diamanten
250
Minecraft
TntTastisch
Ich habe den Code wie folgt geupgraded:

java:
    @EventHandler
    public void onJoin(PlayerJoinEvent event){
         TabPlayer p = Shared.getPlayer(event.getPlayer());
         try {
             String header = this.getConfig().getString("System.Header");
             String footer = this.getConfig().getString("System.Footer");
             Placeholders.recalculateOnlineVersions();

             ((TablistAPI)Shared.packetAPI).sendTabHF(p.getPlayer(), header, footer);

         }
         catch (Exception ex) {
             ex.printStackTrace();
         }
    }

java:
[13:19:16 WARN]: java.lang.NullPointerException
[13:19:16 WARN]:        at de.TntTastisch.Spigot.Tablist.onJoin(Tablist.java:63)
[13:19:16 WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[13:19:16 WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[13:19:16 WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[13:19:16 WARN]:        at java.lang.reflect.Method.invoke(Unknown Source)
[13:19:16 WARN]:        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305)
[13:19:16 WARN]:        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[13:19:16 WARN]:        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500)
[13:19:16 WARN]:        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.PlayerList.onPlayerJoin(PlayerList.java:343)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.PlayerList.a(PlayerList.java:162)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.LoginListener.b(LoginListener.java:149)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.LoginListener.tick(LoginListener.java:53)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.NetworkManager.a(NetworkManager.java:230)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.ServerConnection.c(ServerConnection.java:119)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:993)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:830)
[13:19:16 WARN]:        at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:728)
[13:19:16 WARN]:        at java.lang.Thread.run(Unknown Source)
 

PSandro

Kuhfänger
Registriert
7 November 2016
Beiträge
51
Diamanten
302
Was du noch versuchen kannst ist, den Code etwas über mehrere Zeile zu "strecken" um die Fehlermeldung auf eine konkrete Aktion zurückführen zu können. Ein paar null checks sind bestimmt auch hilfreich:
Java:
@EventHandler
public void onJoin(PlayerJoinEvent event){
    TabPlayer p = Shared.getPlayer(event.getPlayer());
    TablistAPI tablist = Shared.packetAPI;
    if (tablist == null) {
        System.err.println("TablistAPI cannot be null!");
        return;
    }
    if (p == null) {
        System.err.println("p cannot be null!");
        return;
    }
    try {
        String header = this.getConfig().getString("System.Header");
        String footer = this.getConfig().getString("System.Footer");
        Placeholders.recalculateOnlineVersions();

        if (header == null || footer == null) {
            System.err.println("Header/Footer cannot be null!");
            return;
        }

        tablist.sendTabHF(p.getPlayer(), header, footer);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
 
Oben