Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.rabrg.combatcounter.listener;
- import me.rabrg.combatcounter.CombatCounter;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.EntityType;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDeathEvent;
- import org.bukkit.metadata.FixedMetadataValue;
- public final class MultiKillListener implements Listener {
- private final CombatCounter combatCounter;
- public MultiKillListener(final CombatCounter combatCounter) {
- this.combatCounter = combatCounter;
- }
- @EventHandler(priority = EventPriority.MONITOR)
- public void onEntityDeathEvent(final EntityDeathEvent event) {
- if (event.getEntityType() == EntityType.PLAYER) {
- final Player killer = event.getEntity().getKiller();
- if (killer != null) {
- if (killer.hasMetadata("multi-kill.time") && System.currentTimeMillis() - killer.getMetadata("multi-kill.time").get(0).asLong() < 3000) { // TODO: config
- final int count = killer.getMetadata("multi-kill.count").get(0).asInt() + 1;
- killer.setMetadata("multi-kill.count", new FixedMetadataValue(combatCounter, count));
- combatCounter.getServer().broadcastMessage(getMessage(killer.getName(), count));
- } else {
- killer.setMetadata("multi-kill.count", new FixedMetadataValue(combatCounter, 1));
- }
- killer.setMetadata("multi-kill.time", new FixedMetadataValue(combatCounter, System.currentTimeMillis()));
- }
- }
- }
- private String getMessage(final String name, final int count) {
- final StringBuffer message = new StringBuffer().append(ChatColor.RED + name + ChatColor.WHITE + " has gotten a " + ChatColor.LIGHT_PURPLE); // TODO: config
- switch (count) {
- case 2:
- message.append("double kill");
- break;
- case 3:
- message.append("multi kill");
- break;
- case 4:
- message.append("mega kill");
- break;
- case 5:
- message.append("ultra kill");
- break;
- case 6:
- message.append("monster kill");
- break;
- case 7:
- message.append("ludicrous kill");
- break;
- default:
- message.append("HOLY SH**T");
- break;
- }
- return message.append(ChatColor.WHITE + "!").toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement