HashMaps... Credits

Discussion in 'Plugin Development' started by ztowne13, Mar 22, 2013.

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

    ztowne13

    Hello! I have been working on coding one of my KitPvP plugins with a credit system... In the top i have it so when they first join it adds them to the hash map with hopefully like a "balance" of 0...

    Main File:
    Code:
    package me.ztowne13.zPvP;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.PlayerInventory;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.potion.PotionEffect;
    import org.bukkit.potion.PotionEffectType;
    public class Main extends JavaPlugin{
        public final Logger logger = Logger.getLogger("Minecraft");
        public final Listener pl = new MyPlayerListener();
        public final HashMap<String, Integer> Credits = new HashMap<String, Integer>();
        public void loadConfiguration(){
            saveConfig();
        }
    
        
        
        
    
        @Override
        public void onEnable(){
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + " " + "Version" + pdfFile.getVersion()  + " " + "has been enabled!");
            getServer().getPluginManager().registerEvents(new MyPlayerListener(), this);
            ArrayList<String> names = new ArrayList<String>();
            getConfig().options().copyDefaults(true);
            saveConfig();
            loadConfiguration();
        }
        
        @Override
        public void onDisable(){
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + " " + "Version" + pdfFile.getVersion()  + " " + "has been disabled!");
        }
        //Here For A Reason...
        @EventHandler
         public void onPlayerDeath(PlayerDeathEvent event){
             Player player = event.getEntity().getPlayer();
             Player killer = event.getEntity().getKiller();
             event.setKeepLevel(false);
             event.setDroppedExp(0);
             event.getDrops().clear();
             int balance = Credits.get(player.getName());
              getConfig().set("Credits." + player.getName() + ".Balance", (getConfig().getInt("Credits." + player.getName() + ".Balance") +1));
              killer.sendMessage(ChatColor.RED + "You Gained 1 Credit!");
              saveConfig();
         }
         public void onJoin(PlayerJoinEvent event){
             Player player = event.getPlayer();
             if(Credits.containsKey(event.getPlayer().getDisplayName())){
                 player.sendMessage(ChatColor.RED + "Welcome To KitPvP!");
             }else{
                 int balance = Credits.get(player.getName());
                 Credits.put(event.getPlayer().getDisplayName(), balance);
                 player.sendMessage(ChatColor.RED + "Welcome To Your First Time At KitPvP!");
                 }
             }
    

    I also have it so when they kill someone it should give them an equivalency of one credit... This is obviously not correct. How can i fix it?
    Thanks,
    ztowne13

    PS: Please don't mark as solved right away... I really like to hear all the responses because sometimes one doesn't work and everyone else thinks its solved. Thankyou SO MUCH!

     
  2. Offline

    CubixCoders

    @EventHandler
    public void onJoin...
    And you should save their credits to a file, or else every reload their credits get reset
     
Thread Status:
Not open for further replies.

Share This Page