Development Assistance java.lang.NullPointerException

Discussion in 'Plugin Help/Development/Requests' started by datD3v, Sep 28, 2015.

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

    datD3v

    I'm currently working on a PVP Based Stats plugin, I have no errors in my code but when ever I execute:

    /stats or /stats <player>

    I get this error in the console:
    Code:
    [19:54:10] [Server thread/INFO]: Player issued server command: /stats Player
    [19:54:10] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'stats' in plugin PlayerStats v1.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
    Caused by: java.lang.NullPointerException
        at me.fiddycal.PlayerStatsMain.onCommand(PlayerStatsMain.java:24) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        ... 13 more
    Main Class File:
    Code:
    package me.datDev;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class PlayerStatsMain extends JavaPlugin implements Listener{
       
        CfgManager cfg = CfgManager.getInstance();
       
        public void onEnable(){
            getServer().getPluginManager().registerEvents(new DeathListener(), this);
            cfg.setup(this);
        }
       
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String args[]){
            Player p = (Player) sender;
            if (cmd.getName().equalsIgnoreCase("stats")){
                if (args.length == 0){
                    p.sendMessage("§b§l-§e§l=§b§l-§e§l=§b§l*§e§l=§b§l*§e§l=§b§l[§e§lStats§b§l]§e§l=§b§l*§e§l=§b§l*§e§l=§b§l-§e§l=§b§l-§e§l");
                    p.sendMessage("§b§l" + p.getName() + "§e§l's Stats");
                    p.sendMessage("§e§lKills: §b§l" + cfg.getStats().getInt(p.getName() +".kills"));
                    p.sendMessage("§e§lDeaths: §b§l" + cfg.getStats().getInt(p.getName() +".deaths"));
                    if (cfg.getStats().getInt(p.getName() + ".kills") == 0 && cfg.getStats().getInt(p.getName() +".deaths") == 0){
                        p.sendMessage("§e§lKDR: §b§l0");
                        p.sendMessage("§b&l-§e&l=§b§l-§e§l=§b§l*§e§l=§b§l*§e§l=§b§l[§e§lStats§b&l]§e&l=§b§l*§e§l=§b§l*§e§l=§b§l-§e§l=§b§l-§e§l");
                        return true;
                    }
                    p.sendMessage("§e§lKDR: §b§l" + ((cfg.getStats().getInt(p.getName() +".kills") / (cfg.getStats().getInt(p.getName() +".deaths")))));
                    p.sendMessage("§b&l-§e&l=§b§l-§e§l=§b§l*§e§l=§b§l*§e§l=§b§l[§e§lStats§b&l]§e&l=§b§l*§e§l=§b§l*§e§l=§b§l-§e§l=§b§l-§e§l");
                }
                if (args.length == 1) {
                    Player t = (Player) this.getServer().getPlayer(args[0]);
                    if (cfg.getStats().getString(t.getName()) == null){
                        p.sendMessage(ChatColor.RED + "That player does not have any stats or does not exist!");
                    }
                    p.sendMessage("§b§l-§e§l=§b§l-§e§l=§b§l*§e§l=§b§l*§e§l=§b§l[§e§lStats§b§l]§e§l=§b§l*§e§l=§b§l*§e§l=§b§l-§e§l=§b§l-§e§l");
                    p.sendMessage("§b§l" + p.getName() + "§e§l's Stats");
                    p.sendMessage("§e§lKills: §b§l" + cfg.getStats().getInt(t.getName() +".kills"));
                    p.sendMessage("§e§lDeaths: §b§l" + cfg.getStats().getInt(t.getName() +".deaths"));
                    p.sendMessage("§e§lKDR: §b§l" + ((cfg.getStats().getInt(t.getName() +".kills") / (cfg.getStats().getInt(t.getName() +".deaths")))));
                    p.sendMessage("§b&l-§e&l=§b§l-§e§l=§b§l*§e§l=§b§l*§e§l=§b§l[§e§lStats§b&l]§e&l=§b§l*§e§l=§b§l*§e§l=§b§l-§e§l=§b§l-§e§l");
                }
            }
            return true;
        }
    }
    
    Plz halp meh :33333
     
  2. Offline

    timtower Administrator Administrator Moderator

    @datD3v Check if the sender is a Player before casting it, and could you post your full server log using http://pastebin.com please?
     
  3. Offline

    datD3v

  4. Offline

    timtower Administrator Administrator Moderator

Thread Status:
Not open for further replies.

Share This Page