Solved Plugin Load Error

Discussion in 'Plugin Development' started by Leviticalpixel10, Aug 27, 2015.

Thread Status:
Not open for further replies.
  1. OK, so I've been making a plugin for a private server, and I had all the code squeezed into one class, and it gave an error when you did the commands, but other than that it worked. But I took the tab completer and added that and the command to other classes. I have it set in the onEnable(), but now it just won't work, and it gives a big long error and I obviously don't know what to do.
    Main:
    Code:
    package me.ldsessions;
    
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
        public static int TimpCity;
        public static int ldsessions;
        public static int Spiesmonkey;
        public static int PokemonHero;
        public static int Broville;
        public static int Eaglehead;
        public static int blackhead;
        public static int whoville;
        public static List<String> hasVoted;
    
        @SuppressWarnings("deprecation")
        public void onEnable() {
            saveDefaultConfig();
            getConfig().options().copyDefaults(true);
            saveConfig();
            getCommand("vote").setExecutor(new Vote());
            getCommand("vote").setTabCompleter(new TabContrustor());
            TimpCity = 0;
            ldsessions = 0;
            Spiesmonkey = 0;
            PokemonHero = 0;
            Broville = 0;
            Eaglehead = 0;
            blackhead = 0;
            whoville = 0;
            if (this.getConfig().getBoolean("refresh") == true) {
                Bukkit.getScheduler().scheduleAsyncRepeatingTask(this,
                        new Runnable() {
                            public void run() {
                                TimpCity = 0;
                                ldsessions = 0;
                                Spiesmonkey = 0;
                                PokemonHero = 0;
                                Broville = 0;
                                Eaglehead = 0;
                                blackhead = 0;
                                whoville = 0;
                                if (getConfig().getBoolean("refreshm") == true) {
                                    Bukkit.getConsoleSender()
                                            .sendMessage(
                                                    getConfig().getString(
                                                            "refreshmessage"));
                                }
                            }
                        }, 10000, 100000L);
            }
        }
        public void onDisable() {
    
        }
    }
    
    TabCompleter:
    Code:
    package me.ldsessions;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.command.TabCompleter;
    
    public class TabContrustor implements TabCompleter{
        @Override
        public List<String> onTabComplete(CommandSender sender, Command cmd,
                String label, String[] args) {
            if (cmd.getName().equalsIgnoreCase("Vote")) {
                if (args.length == 1) {
                    ArrayList<String> argstype = new ArrayList<>();
                    if (args[0].equals("")) {
                        argstype.add("bacontriocity");
                        argstype.add("whoville");
                        argstype.add("broville");
                        argstype.add("ldsessionsvillage");
                        argstype.add("timpcity");
                        argstype.add("spiesvalley");
                        argstype.add("eaglehead");
                        argstype.add("blackhead");
                        Collections.sort(argstype);
                    }
                    return argstype;
                }
            }
            return null;
        }
    }
    Command:
    Code:
    package me.ldsessions;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Vote extends JavaPlugin implements CommandExecutor{
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label,
                String[] args) {
            Player player = (Player) sender;
            if (label.equalsIgnoreCase("Vote")) {
                if (args.length == 0) {
                    player.sendMessage("Usage: /Vote <City>");
                }
                if (args[0].equalsIgnoreCase("clear")) {
                    if (player.hasPermission("vote.clear") == true) {
                        Main.TimpCity = 0;
                        Main.ldsessions = 0;
                        Main.Spiesmonkey = 0;
                        Main.PokemonHero = 0;
                        Main.Broville = 0;
                        Main.Eaglehead = 0;
                        Main.blackhead = 0;
                        Main.whoville = 0;
                    }
                }
                if (player.hasPermission("vote.view") == true) {
                    if (args[0].equalsIgnoreCase("view")) {
                        if (Main.TimpCity > 0) {
                            player.sendMessage(ChatColor.AQUA + "TimpCity: "
                                    + ChatColor.YELLOW + Integer.toString(Main.TimpCity));
                        }
                        if (Main.ldsessions > 0) {
                            player.sendMessage(ChatColor.AQUA
                                    + "ldsessions village: " + ChatColor.YELLOW
                                    + Integer.toString(Main.ldsessions));
                        }
                        if (Main.Spiesmonkey > 0) {
                            player.sendMessage(ChatColor.AQUA + "Spies Valley: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.Spiesmonkey));
                        }
                        if (Main.PokemonHero > 0) {
                            player.sendMessage(ChatColor.AQUA + "BaconTrio City: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.PokemonHero));
                        }
                        if (Main.whoville > 0) {
                            player.sendMessage(ChatColor.AQUA + "Whoville: "
                                    + ChatColor.YELLOW + Integer.toString(Main.whoville));
                        }
                        if (Main.Eaglehead > 0) {
                            player.sendMessage(ChatColor.AQUA + "EagleHead City: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.Eaglehead));
                        }
                        if (Main.blackhead > 0) {
                            player.sendMessage(ChatColor.AQUA + "BlackHead City: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.blackhead));
                        }
                        if (Main.Broville > 0) {
                            player.sendMessage(ChatColor.AQUA + "Broville: "
                                    + ChatColor.YELLOW + Integer.toString(Main.Broville));
                        }
                    }
                }
                if (args[0].equalsIgnoreCase("TimpCity")) {
                    int votecount;
                    votecount = 1;
                    Main.TimpCity = Main.TimpCity + votecount;
                    player.sendMessage(getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("ldsessionsvillage")) {
                    int votecount;
                    votecount = 1;
                    Main.ldsessions = Main.ldsessions + votecount;
                    player.sendMessage(getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("SpiesValley")) {
                    int votecount;
                    votecount = 1;
                    Main.Spiesmonkey = Main.Spiesmonkey + votecount;
                    player.sendMessage(getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("BaconTrioCity")) {
                    int votecount;
                    votecount = 1;
                    Main.PokemonHero = Main.PokemonHero + votecount;
                    player.sendMessage(getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("BlackHead")) {
                    int votecount;
                    votecount = 1;
                    Main.blackhead = Main.blackhead + votecount;
                    player.sendMessage(getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("Broville")) {
                    int votecount;
                    votecount = 1;
                    Main.Broville = Main.Broville + votecount;
                    player.sendMessage(getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("EagleHead")) {
                    int votecount;
                    votecount = 1;
                    Main.Eaglehead = Main.Eaglehead + votecount;
                    player.sendMessage(getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("Whoville")) {
                    int votecount;
                    votecount = 1;
                    Main.whoville = Main.whoville + votecount;
                    player.sendMessage(this.getConfig().getString("votemessage"));
                }
            }
            return false;
        }
    }
    
    Log:
    Code:
    [07:24:36] [Server thread/ERROR]: Error occurred while enabling Vote v2.7 (Is it up to date?)
    java.lang.IllegalArgumentException: Plugin already initialized!
        at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:98) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at me.ldsessions.Vote.<init>(Vote.java:10) ~[?:?]
        at me.ldsessions.Main.onEnable(Main.java:24) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:341) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:313) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:719) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.Bukkit.reload(Bukkit.java:543) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:619) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1093) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:953) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_45]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_45]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:672) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:628) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:536) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.IllegalStateException: Initial initialization
        at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:101) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at me.ldsessions.Main.<init>(Main.java:8) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_45]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_45]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_45]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_45]
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_45]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:52) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:328) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:288) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:717) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        ... 17 more
    Please Help!
     
  2. Offline

    CrystallFTW

    Why do you have 2 classes that extend javaplugin ?
     
  3. Oh, @CrystallFTW , it's so I can access the config file, because I'm a n00b and don't know how to access it without extending it.
     
  4. Offline

    CrystallFTW

    @Leviticalpixel10 only your main class should extend JavaPlugin. Also to acces your main class just add a new line before onEnable()
    Code:
    static JavaPlugin instance;
    and in your onEnable() add
    Code:
    this = instance;
    and in your other classes use
    Main.instance.whatever
    for example
    Code:
    Main.instance.getConfig().getString(someString);
    I know this isn't the best way to do that but, it works.
    And remove the "extends JavaPlugin" from all the classes besides your main class.
     
  5. kk

    now it throws an exception in-game @CrystallFTW do you know how to AT LEAST stop the message?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 11, 2016
  6. Offline

    CrystallFTW

  7. Offline

    teej107

    iiHeroo likes this.
  8. Code:
    [18:55:10] [Server thread/INFO]: ldsessions issued server command: /vote ldsessionsvillage
    [18:55:10] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'vote' in plugin Vote v3.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:619) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1093) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:953) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_45]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_45]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:672) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:628) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:536) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.NullPointerException
        at me.ldsessions.Vote.onCommand(Vote.java:85) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        ... 15 more
    Btw I'm teaching myself java, so I think I did pretty good.
     
  9. Offline

    teej107

    iiHeroo likes this.
  10. Code:
    if (args[0].equalsIgnoreCase("Whoville")) {
                    int votecount;
                    votecount = 1;
                    Main.whoville = Main.whoville + votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
    this is where the problem is, it's a nullPointerExeption, but I don't see whats wrong. It's not specific to just this argument though. and BTW it's the line that has votecount = 1 @CrystallFTW @teej107
     
    Last edited: Aug 28, 2015
  11. Offline

    au2001

    @Leviticalpixel10 You can replace
    Code:
    int votecount;
    votecount = 1;
    with
    Code:
    int votecount = 1;
    And
    Code:
    Main.whoville = Main.whoville + votecount;
    with
    Code:
    Main.whoville += votecount;
    But I don't think that's your problem, could we see the stack trace?
    It might not be that line/file.
     
  12. Offline

    teej107

    I can tell you already that is not the line where the exception is thrown. Primitives can never be null.
     
  13. Stack Trace:
    Code:
    [17:45:27] [Server thread/INFO]: ldsessions issued server command: /vote timpcity
    [17:45:27] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'vote' in plugin Vote v3.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:619) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1093) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:953) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_45]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_45]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:672) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:628) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:536) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.NullPointerException
        at me.ldsessions.Vote.onCommand(Vote.java:78) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        ... 15 more
    [17:45:31] [Server thread/INFO]: ldsessions issued server command: /vote timpcity
    [17:45:31] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'vote' in plugin Vote v3.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:619) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1093) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:953) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:37) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(SourceFile:9) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_45]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_45]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:672) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:628) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:536) [craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.NullPointerException
        at me.ldsessions.Vote.onCommand(Vote.java:78) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.8.7.jar:git-Bukkit-58d972f]
        ... 15 more
    
    @teej107 @au2001
     
  14. Offline

    au2001

    @Leviticalpixel10 Can we see the full Vote.java file? The error is on line 78 apparently.
     
  15. Code:
    package me.ldsessions;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    
    public class Vote implements CommandExecutor{
        public Main plugin;
        public Vote(Main plugin){
            this.plugin = plugin;
        }
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label,
                String[] args) {
            Player player = (Player) sender;
            if (label.equalsIgnoreCase("Vote")) {
                if (args.length == 0) {
                    player.sendMessage("Usage: /Vote <City>");
                }
                if (args[0].equalsIgnoreCase("clear")) {
                    if (player.hasPermission("vote.clear") == true) {
                        Main.TimpCity = 0;
                        Main.ldsessions = 0;
                        Main.Spiesmonkey = 0;
                        Main.PokemonHero = 0;
                        Main.Broville = 0;
                        Main.Eaglehead = 0;
                        Main.blackhead = 0;
                        Main.whoville = 0;
                    }
                }
                if (player.hasPermission("vote.view") == true) {
                    if (args[0].equalsIgnoreCase("view")) {
                        if (Main.TimpCity > 0) {
                            player.sendMessage(ChatColor.AQUA + "TimpCity: "
                                    + ChatColor.YELLOW + Integer.toString(Main.TimpCity));
                        }
                        if (Main.ldsessions > 0) {
                            player.sendMessage(ChatColor.AQUA
                                    + "ldsessions village: " + ChatColor.YELLOW
                                    + Integer.toString(Main.ldsessions));
                        }
                        if (Main.Spiesmonkey > 0) {
                            player.sendMessage(ChatColor.AQUA + "Spies Valley: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.Spiesmonkey));
                        }
                        if (Main.PokemonHero > 0) {
                            player.sendMessage(ChatColor.AQUA + "BaconTrio City: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.PokemonHero));
                        }
                        if (Main.whoville > 0) {
                            player.sendMessage(ChatColor.AQUA + "Whoville: "
                                    + ChatColor.YELLOW + Integer.toString(Main.whoville));
                        }
                        if (Main.Eaglehead > 0) {
                            player.sendMessage(ChatColor.AQUA + "EagleHead City: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.Eaglehead));
                        }
                        if (Main.blackhead > 0) {
                            player.sendMessage(ChatColor.AQUA + "BlackHead City: "
                                    + ChatColor.YELLOW
                                    + Integer.toString(Main.blackhead));
                        }
                        if (Main.Broville > 0) {
                            player.sendMessage(ChatColor.AQUA + "Broville: "
                                    + ChatColor.YELLOW + Integer.toString(Main.Broville));
                        }
                    }
                }
                if (args[0].equalsIgnoreCase("TimpCity")) {
                    int votecount = 1;
                    Main.TimpCity += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("ldsessionsvillage")) {
                    int votecount = 1;
                    Main.ldsessions += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("SpiesValley")) {
                    int votecount = 1;
                    Main.Spiesmonkey += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("BaconTrioCity")) {
                    int votecount = 1;
                    Main.PokemonHero += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("BlackHead")) {
                    int votecount = 1;
                    Main.blackhead += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("Broville")) {
                    int votecount = 1;
                    Main.Broville += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("EagleHead")) {
                    int votecount = 1;
                    Main.Eaglehead += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
                if (args[0].equalsIgnoreCase("Whoville")) {
                    int votecount = 1;
                    Main.whoville += votecount;
                    player.sendMessage(plugin.getConfig().getString("votemessage"));
                }
            }
            return false;
        }
    }
    
    yeah that's the message to the player when they vote. that line specifically is on the timpcity @au2001
     
  16. Offline

    au2001

    @Leviticalpixel10 I guess you initialized your Main, so did you create a config.yml?
     
  17. Wait I got it but now it's throwing a command exception at 'if (args[0].equalsIgnoreCase("clear"))'
    @au2001

    when i do just plain /vote and no arguments

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 11, 2016
  18. Offline

    au2001

    @Leviticalpixel10
    Code:
    if (args.length == 0) {
        player.sendMessage("Usage: /Vote <City>");
    }
    Add "return false;" after the sendMessage to prevent your command from executing the rest (and possibly causing errors).

    Also, use "else if" rather than plenty of "if" statements, you'll get slightly better performances.

    PS: You can use the edit button not to double-post.
     
  19. kk

    Got it! Thx for the help @au2001 @teej107 @CrystallFTW !

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 11, 2016
Thread Status:
Not open for further replies.

Share This Page