ExceptionInInitializerError - nie mogę znaleźć przyczyny

0

Witam serdecznie! Od wczoraj zmagam się z błędem, który wyskakuje i nie mogę dojść jego przyczyny.

[22:47:03] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to FunnyGuilds v4.2 Reloaded
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[serwer36884.jar:git-PaperSpigot-"8b18730"]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[serwer36884.jar:git-PaperSpigot-"8b18730"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[serwer36884.jar:git-PaperSpigot-"8b18730"]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.PlayerList.onPlayerJoin(PlayerList.java:314) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.PlayerList.a(PlayerList.java:173) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.LoginListener.b(LoginListener.java:144) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.LoginListener.c(LoginListener.java:54) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:231) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.ServerConnection.c(ServerConnection.java:148) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:875) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [serwer36884.jar:git-PaperSpigot-"8b18730"]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.ExceptionInInitializerError
at me.przemovi.performer.PlayerTabManager.<init>(PlayerTabManager.java:33) ~[?:?]
at me.przemovi.performer.JoinQuitListener.onJoin(JoinQuitListener.java:13) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[serwer36884.jar:git-PaperSpigot-"8b18730"]
... 15 more

To jest moja klasa

package me.przemovi.performer;


import java.util.UUID;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

import me.przemovi.utils.PacketManagerImpl;
import net.dzikoysk.funnyguilds.basic.User;
import net.dzikoysk.funnyguilds.util.Parser;
import net.dzikoysk.funnyguilds.util.runnable.Ticking;

public class PlayerTabManager {
	 public static final int ROWS = 20;
	 public static final int COLUMNS = 4;
	 private static String header = TabUtils.getHeader();
	 private static String footer = TabUtils.getFooter();
	 Player p;
	 private Profile[][] profiles = new Profile[ROWS][COLUMNS];
	 String[][] slotsperformer = new String[ROWS][COLUMNS];
	 private static boolean enable;
	 
	 public PlayerTabManager(Player p){
		 if (!enable) {
	            return;
	     }
		 TabUtils.getTabConfig();
		 this.p = p;
			for(int row = 0; row<ROWS; row++){
				for(int col = 0; col<COLUMNS; col++){
					profiles[row][col] = new Profile(UUID.randomUUID(), "AAAAAAAAA"+TabUtils.getCharID(row, col));
					PacketManagerImpl.sendPlayerListPacket(p, profiles[row][col], TabUtils.slots[row][col], PlayerInfoAction.ADD_PLAYER);
				}
				}
			TabUtils.addPlayer(this);
			if(!header.equalsIgnoreCase("")) PacketManagerImpl.sendTablistHeaderPacket(p, header, footer);
	 }
	 public void Update(){
		 if (!enable) {
	            return;
	     }
		 UpdateText();
			for(int row = 0; row<ROWS; row++){
				for(int col = 0; col<COLUMNS; col++){
					PacketManagerImpl.sendPlayerListPacket(p, profiles[row][col], slotsperformer[row][col], PlayerInfoAction.UPDATE_DISPLAY_NAME);
				}
			}
	 }
	 private void UpdateText()
	  {
	    for (int row = 0; row < 20; row++) {
	      for (int col = 0; col < 4; col++)
	      {
	        this.slotsperformer[row][col] = TabUtils.replace(TabUtils.slots[row][col], "{PLAYER}", this.p.getName())
	          .replace("{ONLINE}", Integer.toString(Bukkit.getOnlinePlayers().size()))
	          .replace("{PING}", Integer.toString(User.get(this.p).getPing()))
	          .replace("{RANK}", Integer.toString(User.get(this.p).getRank().getPoints()))
	          .replace("{KILLS}", Integer.toString(User.get(this.p).getRank().getKills()))
	          .replace("{KD}", Double.toString(User.get(this.p).getRank().getKD()).substring(0, 3))
	          .replace("{DEATHS}", Integer.toString(User.get(this.p).getRank().getDeaths()))
	          .replace("{CLOCK}", TabUtils.getTime())
	          .replace("{TPS}", Ticking.getTPS())
	          .replace("{PLAYER}", this.p.getName());
	        this.slotsperformer[row][col] = Parser.parseRank(this.slotsperformer[row][col]);
	        if (User.get(this.p).hasGuild()) {
	          this.slotsperformer[row][col] = TabUtils.replace(this.slotsperformer[row][col], "{GUILD}", User.get(this.p).getGuild().getName())
	            .replace("{TAG}", User.get(this.p).getGuild().getTag())
	            .replace("{GUILD_KILLS}", Integer.toString(User.get(this.p).getGuild().getRank().getKills()))
	            .replace("{GUILD_DEATHS}", Integer.toString(User.get(this.p).getGuild().getRank().getDeaths()))
	            .replace("{GUILD_KD}", Double.toString(User.get(this.p).getGuild().getRank().getKD()).substring(0, 3));
	        } else {
	          this.slotsperformer[row][col] = TabUtils.replace(this.slotsperformer[row][col], "{GUILD}", "Brak gildii")
	            .replace("{TAG}", "Brak gildii")
	            .replace("{GUILD_KILLS}", "-")
	            .replace("{GUILD_DEATHS}", "-")
	            .replace("{GUILD_KD}", "-");
	        }
	      }
	    }
	  }
	  
	 public Player getName(){
		 return p;
	 }
	 public static void enable(boolean e) {
	        enable = e;
	 }
	 
}

Problem ten się pojawia, gdy próbuje wywołać PlayerTabManager

0

Twój problem wynika z błędu w statycznej inicjacji jednego z elementów w konstruktorze PlayerTabManager.

Caused by: java.lang.ExceptionInInitializerError at me.przemovi.performer.PlayerTabManager.<init>(PlayerTabManager.java:33) ~[?:?]

W PlayerTabManager masz kilka statycznych pól, a do tego odwołujesz się do statycznych metod innych obiektów. Linia 33 wskazuje gdzieś w okolice:
PacketManagerImpl.sendPlayerListPacket(p, profiles[row][col], TabUtils.slots[row][col], PlayerInfoAction.ADD_PLAYER);

Ja bym zerknął do PacketManagerImpl, żeby sprawdzić jakie są tam statyczne pola i w jaki sposób są inicjowane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1