Problems with this Code?

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

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

    Jamscott

    Is this code Ok?
    Is there any better ways to do what I have done?


    Main class:
    Code:
    public class Main extends JavaPlugin {
       
        private HashMap<UUID, Rank> playerRank = new HashMap<UUID, Rank>();
       
        private static Main instance;
       
        @Override
        public void onEnable(){
            instance = this;
            PluginManager pm = Bukkit.getPluginManager();
            pm.registerEvents(new MOTD(), this);
            pm.registerEvents(new PlayerJoin(), this);
            loadConfiguration();
        }
       
        @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() {
            if (instance == null) {
                instance = new Main();
            }
            return instance;
        }
       
        public Rank getRank(Player caller){
            UUID UUID = caller.getUniqueId();
            Rank rank = this.playerRank.get(UUID);
            return rank;
        }
       
        public void setRank(Player caller, Rank rank){
            UUID UUID = caller.getUniqueId();
            this.playerRank.put(UUID, rank);
        }
    }
    onPlayerJoin Class:
    Code:
    public class PlayerJoin implements Listener{   
       
        @EventHandler
        public void onJoin(PlayerJoinEvent event) {
           
            Player caller = event.getPlayer();
           
            Main.getInstance().setRank(caller, Rank.ADMIN);
            caller.sendMessage(C.Cprefix + "§7Welcome back [§9" + caller.getName() + "§7].");
            caller.sendMessage(C.Cprefix + "§7Your rank is now [§9" + Main.getInstance().getRank(caller) + "§7].");
           
            if(Main.getInstance().getRank(caller).IsStaff){
                caller.sendMessage(C.Cprefix + "§cStaff News: §7" +  Main.getInstance().getConfig().getString("Staff-News"));
            }
            event.setJoinMessage(null);
        }
    }
     
  2. Offline

    teej107

    Don't create a new JavaPlugin object.
     
Thread Status:
Not open for further replies.

Share This Page