@EventHandler(priority = EventPriority.MONITOR) // use MONITOR because we're not changing anything.
    public void onDeath(PlayerDeathEvent event) {
        Player p = event.getEntity().getKiller();
        if (p == null)
            return;
        if (killCooldown.checkCoolAndRemove(p.getUniqueId(), cooldownTime)) {
            this.kills.remove(p.getUniqueId());
            return;
        }
        int counter = 1;
        if (!kills.containsKey(p.getUniqueId()))
            kills.put(p.getUniqueId(), counter);
        counter = kills.get(p.getUniqueId());
        if (killMessages.containsKey(counter)) {
            String message = this.messageFormat.replaceAll("%player", p.getDisplayName());
            message = message.replaceAll("%kill", this.killMessages.get(counter));
            Bukkit.broadcastMessage(this.prefix + message);
        }
    }