Plugin error

Discussion in 'Plugin Development' started by SavageAvocado, Apr 11, 2017.

Thread Status:
Not open for further replies.
  1. Offline

    SavageAvocado

    Here's the error.

    Code:
    11.04 14:32:47 [Server] INFO ... 12 more
    11.04 14:32:47 [Server] INFO at me.incomprehendable.dev.pwp.transparentlisteners.PerWorldPluginLoader$1.execute(PerWorldPluginLoader.java:116) ~[?:?]
    11.04 14:32:47 [Server] INFO at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
    11.04 14:32:47 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
    11.04 14:32:47 [Server] INFO at sun.reflect.GeneratedMethodAccessor196.invoke(Unknown Source) ~[?:?]
    11.04 14:32:47 [Server] INFO at net.savagedev.perworldchatformatting.listeners.ChatE.onChatE(ChatE.java:51) ~[?:?]
    11.04 14:32:47 [Server] INFO Caused by: java.lang.NullPointerException
    11.04 14:32:47 [Server] INFO at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
    11.04 14:32:47 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:789) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at org.bukkit.craftbukkit.v1_8_R3.util.Waitable.run(Waitable.java:24) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at net.minecraft.server.v1_8_R3.PlayerConnection$8.evaluate(PlayerConnection.java:1120) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at me.incomprehendable.dev.pwp.transparentlisteners.PWPTimedRegisteredListener.callEvent(PWPTimedRegisteredListener.java:28) [PerWorldPlugins1.8.1.jar:?]
    11.04 14:32:47 [Server] INFO at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:36) ~[patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched.jar:git-PaperSpigot-"4c7641d"]
    11.04 14:32:47 [Server] INFO at me.incomprehendable.dev.pwp.transparentlisteners.PerWorldPluginLoader$1.execute(PerWorldPluginLoader.java:118) ~[?:?]
    11.04 14:32:47 [Server] INFO org.bukkit.event.EventException
    11.04 14:32:47 [Server] INFO Could not pass event PlayerChatEvent to SkullMCChat v1.0
    11.04 14:32:47 [Server] ERROR **** THIS IS NOT AN ISSUE TO DO WITH PER WORLD PLUGINS ****
    
    It says line 51 is null... But I have no idea why. Line 51 is an end bracket.

    Code:
    package net.savagedev.perworldchatformatting.listeners;
    
    import com.wasteofplastic.askyblock.ASkyBlockAPI;
    import net.savagedev.perworldchatformatting.PerWorldChatFormatting;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    
    import static net.savagedev.perworldchatformatting.PerWorldChatFormatting.chat;
    import static net.savagedev.perworldchatformatting.PerWorldChatFormatting.groups;
    
    
    public class ChatE implements Listener {
        PerWorldChatFormatting plugin;
    
        public ChatE(PerWorldChatFormatting plugin) {
            this.plugin = plugin;
        }
    
        @EventHandler
        public void onChatE(AsyncPlayerChatEvent e) {
            Player user = e.getPlayer();
            String username = user.getDisplayName();
            String message = e.getMessage();
            String islandLevel = null;
            e.getRecipients().clear();
    
            if (plugin.getServer().getPluginManager().getPlugin("ASkyBlock") != null) {
                islandLevel = String.valueOf(ASkyBlockAPI.getInstance().getIslandLevel(user.getUniqueId()));
            }
    
            for (String a : plugin.getConfig().getConfigurationSection("groups").getKeys(false)) {
                for (String b : plugin.getConfig().getStringList("groups." + a)) {
                    if (user.getLocation().getWorld().getName().equalsIgnoreCase(b)) {
                        for (String c : plugin.getConfig().getStringList("groups." + groups.get(user.getLocation().getWorld().getName()))) {
                            for (Player all : Bukkit.getWorld(c).getPlayers()) {
                                e.getRecipients().add(all);
                                e.setFormat(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("formats." + a)
                                        .replace("{player}", "%1$s")
                                        .replace("{prefix}", chat.getPlayerPrefix(user))
                                        .replace("{suffix}", chat.getPlayerSuffix(user))
                                        .replace("{world}", user.getLocation().getWorld().getName())
                                        .replace("{island_level}", islandLevel)
                                ).replace("{message}", "%2$s"));
                            }
                        }
                    }
                }                                   //<-- Line 51
            }
        }
    }
    
     
    Last edited by a moderator: Apr 11, 2017
  2. Offline

    Zombie_Striker

    @SavageAvocado
    Are you sure that code is the same as the one on the server? Try re-exporting the plugin, restart the server, and see if the error message is the same.

    If it is, start nullchecking all the variables in the method.
     
  3. Offline

    SavageAvocado

    I know it is the same code that's on the server. I've re-exported it 100 times. And none of the variables are returning null... But it works fine when I uninstall PerWorldPlugins.
     
    Last edited: Apr 11, 2017
Thread Status:
Not open for further replies.

Share This Page