• 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
Mitglied seit
26 März 2018
Beiträge
53
Alter
18
Minecraft
TntTastisch
Hey,
Ich programmiere derzeit für meine Community ein Tablist Prefix.
In der Konsole kommt ständig ein nerviger Unerklärlicher Fehler:


Code:
     @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
 

DerFrZocker

Schafhirte
Osterei Experte
Mitglied seit
10 Dezember 2017
Beiträge
115
Alter
19
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
Mitglied seit
26 März 2018
Beiträge
53
Alter
18
Minecraft
TntTastisch
Die Zeile 69 ist die hier


Code:
 ((TablistAPI)Shared.packetAPI).sendTabHF(event.getPlayer().getName(), header, footer);
 

TntTastisch

Kuhfänger
Mitglied seit
26 März 2018
Beiträge
53
Alter
18
Minecraft
TntTastisch
Ich habe den Code wie folgt geupgraded:

Code:
    @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();
         }
    }
Code:
[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)
 

TntTastisch

Kuhfänger
Mitglied seit
26 März 2018
Beiträge
53
Alter
18
Minecraft
TntTastisch
63 ist übrigens dies hier:

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

PSandro

Redstoneengineer
Mitglied seit
7 November 2016
Beiträge
42
Minecraft
Verschraubt
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();
    }
}
 
Allgemein
Hilfe Benutzer
    HardSoul HardSoul: Guten Morgen Milchstraße
    Oben