Development Assistance My plugin have a problem i need help

Discussion in 'Plugin Help/Development/Requests' started by Yamazaki, Mar 2, 2015.

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

    Yamazaki

    This is my plugin:

    Code:
    import java.util.HashMap;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Sound;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class main extends JavaPlugin implements Listener {
    
        HashMap<Player, Integer> kills = new HashMap<>();
      
        @Override
        public void onEnable() {
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
        @Override
        public void onDisable() {
    
        }
        @EventHandler
        public void onDeath(PlayerDeathEvent e) {
            Player v = e.getEntity();
            Player k = v.getKiller();
                    if(k instanceof Player && v instanceof Player) {
                    if(!kills.containsKey(k)) {
                        kills.put(k, 1);
                        return;
                    }
                        if(kills.containsKey(k)) {
                            kills.put(k, kills.get(k) + 1);
                            int streak = kills.get(k);
                            if(streak == 2) {
                                k.playSound(k.getLocation(), Sound.ENDERDRAGON_GROWL, 10.0F, 1.0F);
                                Bukkit.broadcastMessage("§b[YKills] §bPlayer §6" + k.getName() + " §bHas Double Kill!");
                                return;
                            }
                        if(kills.containsKey(k)) {
                            kills.put(k, kills.get(k) + 1);
                            if(streak == 3) {
                              k.playSound(k.getLocation(), Sound.ZOMBIE_DEATH, 10.0F, 1.0F);
                              Bukkit.broadcastMessage("§b[YKills] §bPlayer §6" + k.getName() + " §bHas Dominating!");
                              return;
                           }
                        if(kills.containsKey(k)) {
                            kills.put(k, kills.get(k) + 1);
                            if(streak == 4) {
                               k.playSound(k.getLocation(), Sound.CREEPER_DEATH, 10.0F, 1.0F);
                               Bukkit.broadcastMessage("§b[YKills] §bPlayer §6" + k.getName() + " §bHas Multi Kill!");
                               return;
                            }
                                if(kills.containsKey(v)) {
                                    kills.remove(v);
                                    return;
                            }        
                        }
                    }
                }
            }
        }
    }
    I need help to fix this:

    Code:
                        if(kills.containsKey(k)) {
                            kills.put(k, kills.get(k) + 1);
                            if(streak == 4) {
                               k.playSound(k.getLocation(), Sound.CREEPER_DEATH, 10.0F, 1.0F);
                               Bukkit.broadcastMessage("§b[YKills] §bPlayer §6" + k.getName() + " §bHas Multi Kill!");
                               return;
                            }
    SORRY MY ENGLISH IS BAD!
     
  2. Online

    timtower Administrator Administrator Moderator

  3. Offline

    Yamazaki

    The problem is the third kill not works but eclipse says is correct
    Must be a problem in the hashmap I'm not sure
    AND SORRY AGAIN MY ENGLISH IS BAD ;-;
     
  4. Online

    timtower Administrator Administrator Moderator

    @Yamazaki Your code makes it so the streak gets increased by 3 every time you make a kill.
    Try to make the contains check once and put all the amount checks in there.
     
  5. Offline

    Yamazaki

    Thanks timtower!! :D
     
  6. Online

    timtower Administrator Administrator Moderator

Thread Status:
Not open for further replies.

Share This Page