Solved Confused Why this Isn't Working

Discussion in 'Plugin Development' started by Jamscott, Jan 9, 2015.

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

    Jamscott

    Im getting the error in the register rank part when I set the players rank

    Main Class:
    Code:
    public class Main extends JavaPlugin {
     
        private static Main instance;
     
        private ClientAPI clientAPI;
     
        @Override
        public void onEnable(){
         
            instance = this;
         
            PluginManager pm = Bukkit.getPluginManager();
            pm.registerEvents(new MOTD(), this);
            pm.registerEvents(new PlayerJoin(), this);
            pm.registerEvents(new ChatEvent(), this);
         
            loadConfiguration();
            registerRanks();
         
            CommandManager.getInstance().registerCommands(
                    new MaintanceCmd(null, null),
                    new MessageCmd(null, null),
                    new StaffNewsCmd(null, null),
                    new Help(null, null));
         
        }
     
        @Override
        public void onDisable(){
            instance = null;
        }
             
        public void loadConfiguration(){
         
            getConfig().addDefault("Server-Name", "EnderBox");
            getConfig().addDefault("News", "No current News!");
            getConfig().addDefault("Maintance-Mode", false);
            getConfig().addDefault("Staff-News", "No current Alerts for staff!");
         
            getConfig().options().copyDefaults(true);
            saveConfig();
         
        }
     
        public static Main getInstance() {
            return instance;
        }
     
        public ClientAPI getClientAPI() {
            return clientAPI;
        }
    
        @SuppressWarnings("deprecation")
        public void registerRanks(){
            for(Player allplayers : Main.getInstance().getServer().getOnlinePlayers()){
             
                String names = allplayers.getName();
             
                Rank rank = Rank.PLAYER;
             
                if(names.equals("jamscott")){
                    rank = Rank.OWNER;
                }
             
                getClientAPI().setRank(allplayers, rank);
             
                System.out.println("Registered rank for [ " + names + " ]!");
            } 
        }
    }
    ClientAPI class:
    Code:
    public class ClientAPI {
     
        private HashMap<UUID, Rank> _clientRank = new HashMap<>();
        private HashMap<UUID, Integer> _clientGold = new HashMap<>();
     
     
        public void setGold(Player caller, int gold){
            this._clientGold.put(caller.getUniqueId(), gold);
        }
     
        public void addGold(Player caller, int gold){
            this._clientGold.put(caller.getUniqueId(), this.getGold(caller) + gold);
        }
     
        public Integer getGold(Player caller){
            return this._clientGold.get(caller.getUniqueId());
        }
     
     
        public void removeGold(Player caller, int gold){
            if(gold > this._clientGold.get(caller.getUniqueId())){
                this._clientGold.put(caller.getUniqueId(), 0);
            }else{
                this._clientGold.put(caller.getUniqueId(), this.getGold(caller) - gold);
            }
        }
     
        public void setRank(Player caller, Rank rank){
            this._clientRank.put(caller.getUniqueId(), rank);
        }
     
        public Rank getRank(Player caller){
            return this._clientRank.get(caller.getUniqueId());
        }
     
    }
    Code:
    19:39:06 java.lang.NullPointerException
    19:39:06     at core.Main.registerRanks(Main.java:84) ~[?:?]
    19:39:06     at core.Main.onEnable(Main.java:37) ~[?:?]
    19:39:06     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.craftbukkit.v1_7_R4.CraftServer.reload(CraftServer.java:866) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.Bukkit.reload(Bukkit.java:301) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) [spigot.jar:git-Spigot-1646]
    19:39:06     at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:753) [spigot.jar:git-Spigot-1646]
    19:39:06     at net.minecraft.server.v1_7_R4.DedicatedServer.aB(DedicatedServer.java:326) [spigot.jar:git-Spigot-1646]
    19:39:06     at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:290) [spigot.jar:git-Spigot-1646]
    19:39:06     at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1646]
    19:39:06     at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1646]
    19:39:06     at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1646]
    
     
    Last edited: Jan 9, 2015
  2. Offline

    SuperOriginal

    Maybe posting the error would help.
     
  3. Offline

    Jamscott

  4. Offline

    SuperOriginal

    You never instantiated clientAPI
     
  5. Offline

    1Rogue

    Note you can just use "this" instead of Main.getInstance() inside of your class.
     
  6. Offline

    Jamscott

    Last edited by a moderator: Jan 9, 2015
  7. Offline

    teej107

    @Jamscott Mark this thread with the solved prefix. I came to help but then found it wasn't needed.
     
  8. Offline

    SuperOriginal

Thread Status:
Not open for further replies.

Share This Page