HashMap Not Working

Discussion in 'Plugin Development' started by Code0, Apr 15, 2014.

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

    Code0

    Code:java
    1. package com.Darko111.YetiWarn;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.command.Command;
    9. import org.bukkit.command.CommandSender;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.plugin.java.JavaPlugin;
    12.  
    13. public class MainYetiWarn extends JavaPlugin{
    14.  
    15. public void onEnable(){
    16. }
    17. public void onDisable(){
    18. }
    19.  
    20. HashMap<String,Integer> warnLvl = new HashMap<String,Integer>();
    21.  
    22. public boolean onCommand(CommandSender sender,Command cmd,String cmdLabel,String[] args){
    23. if(cmdLabel.equalsIgnoreCase("warn")){
    24. if(sender.hasPermission("yetiwarn.use") || sender.isOp()){
    25. if(args.length == 0){
    26. sender.sendMessage(""+ChatColor.AQUA+ChatColor.BOLD+"[Warn] "+ChatColor.RED+"You have to define a player!");
    27. }
    28. if(args.length > 1){
    29. sender.sendMessage(""+ChatColor.AQUA+ChatColor.BOLD+"[Warn] "+ChatColor.RED+"Incorrect Usage! /warn <player>");
    30. }
    31. for (Player p : Bukkit.getServer().getOnlinePlayers()){
    32. warnLvl.put(p.getName(),0);
    33. }
    34. if(args.length == 1){
    35. Player t = Bukkit.getServer().getPlayer(args[0]);
    36. if(t !=null){
    37. if(warnLvl.get(t.getName()).equals(0)){
    38. t.sendMessage(""+ChatColor.AQUA+ChatColor.BOLD+"[Warn "+ChatColor.GOLD+"Level 1"+ChatColor.AQUA+ChatColor.BOLD+"] "+ChatColor.RED+"You have just been warned by "+sender.getName()+". Stop this behaviour immediatly or you'll be punished!");
    39. warnLvl.put(t.getName(),1);
    40. }
    41. else if(warnLvl.get(t.getName()).equals(1))
    42. t.kickPlayer(""+ChatColor.AQUA+ChatColor.BOLD+"[Warn "+ChatColor.GOLD+"Level 2"+ChatColor.AQUA+ChatColor.BOLD+"] "+ChatColor.RED+"You have been warned! "+ChatColor.GRAY+"Kicked by "+ChatColor.RED+sender.getName()+ChatColor.GRAY+"!");
    43. warnLvl.put(t.getName(),0);
    44. }
    45. }
    46. }
    47. }
    48. return true;
    49. }
    50. }
    51.  
    The HashMap just somehow doesn't get the 0 and 1 level... whenever I do /warn it says the warn message no matter what... never kicks me.

    Thank you for any help!
     
  2. Offline

    coasterman10

    Could
    Code:java
    1. for (Player p : Bukkit.getServer().getOnlinePlayers()){
    2. warnLvl.put(p.getName(),0);
    3. }

    be the problem? Every time the command executes, that is run, effectively resetting all the values in the hashmap to 0.
     
Thread Status:
Not open for further replies.

Share This Page