Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.shepherdjerred.stservermessages.listeners;
- import java.util.List;
- import java.util.Random;
- import org.apache.commons.lang.WordUtils;
- import org.bukkit.entity.Blaze;
- import org.bukkit.entity.CaveSpider;
- import org.bukkit.entity.EnderDragon;
- import org.bukkit.entity.Enderman;
- import org.bukkit.entity.Endermite;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.Ghast;
- import org.bukkit.entity.Guardian;
- import org.bukkit.entity.MagmaCube;
- import org.bukkit.entity.PigZombie;
- import org.bukkit.entity.Player;
- import org.bukkit.entity.Silverfish;
- import org.bukkit.entity.Skeleton;
- import org.bukkit.entity.Slime;
- import org.bukkit.entity.Spider;
- import org.bukkit.entity.Witch;
- import org.bukkit.entity.Wither;
- import org.bukkit.entity.Zombie;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import com.shepherdjerred.stservermessages.Main;
- public class DeathEvent implements Listener {
- private final Main plugin;
- public DeathEvent(Main plugin) {
- this.plugin = plugin;
- }
- public String parseConfig(String input) {
- return plugin.getConfig().getString(input).replaceAll("&", "§").replaceAll("§§", "&");
- }
- public String parseStringListRandom(String input) {
- List<String> list = plugin.getConfig().getStringList(input);
- final Random random = new Random();
- final String raw = list.get(random.nextInt(list.size()));
- return raw.replaceAll("&", "§").replaceAll("§§", "&");
- }
- /*
- * Entity Explosion, Falling Block, Magic, Poison, Projectile, Thorns,
- * Wither
- */
- /*
- * Elder Guardian, Chicken Jockey, Killer Bunny, Spider Jockey, Wither
- * Skeleton
- */
- @EventHandler
- public void onPlayerDeath(PlayerDeathEvent event) {
- Player player = event.getEntity();
- String name = player.getName();
- int counter = plugin.getConfig().getInt("storage.death-counter." + name);
- if (counter <= plugin.getConfig().getInt("deaths.counter")) {
- counter = counter + 1;
- plugin.getConfig().set("storage.death-counter." + name, counter);
- DamageCause cause = player.getLastDamageCause().getCause();
- Entity killer = player.getKiller();
- if (cause == DamageCause.ENTITY_ATTACK) {
- String attacker = killer.getName();
- if (killer instanceof Player) {
- String weapon = WordUtils.capitalizeFully(player.getKiller().getItemInHand().getType().toString().replaceAll("_", " "));
- event.setDeathMessage(parseStringListRandom("deaths.pvp").replaceAll("%victim%", name).replaceAll("%attacker%", attacker).replaceAll("%weapon%", weapon));
- } else if (killer instanceof Zombie) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.zombie").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Enderman) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof CaveSpider) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Spider) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof PigZombie) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Blaze) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Guardian) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Endermite) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Ghast) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof MagmaCube) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Silverfish) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Skeleton) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Slime) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Witch) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof Wither) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- } else if (killer instanceof EnderDragon) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.any").replaceAll("%victim%", name).replaceAll("%attacker%", attacker));
- }
- } else if (cause == DamageCause.BLOCK_EXPLOSION) {
- event.setDeathMessage(parseStringListRandom("deaths.block-explosion").replaceAll("%victim%", name));
- } else if (cause == DamageCause.CONTACT) {
- event.setDeathMessage(parseStringListRandom("deaths.contact").replaceAll("%victim%", name));
- } else if (cause == DamageCause.DROWNING) {
- event.setDeathMessage(parseStringListRandom("deaths.drowning").replaceAll("%victim%", name));
- } else if (cause == DamageCause.FALL) {
- event.setDeathMessage(parseStringListRandom("deaths.fall").replaceAll("%victim%", name));
- } else if (cause == DamageCause.FIRE) {
- event.setDeathMessage(parseStringListRandom("deaths.fire").replaceAll("%victim%", name));
- } else if (cause == DamageCause.FIRE_TICK) {
- event.setDeathMessage(parseStringListRandom("deaths.fire").replaceAll("%victim%", name));
- } else if (cause == DamageCause.LAVA) {
- event.setDeathMessage(parseStringListRandom("deaths.lava").replaceAll("%victim%", name));
- } else if (cause == DamageCause.LIGHTNING) {
- event.setDeathMessage(parseStringListRandom("deaths.lightning").replaceAll("%victim%", name));
- } else if (cause == DamageCause.STARVATION) {
- event.setDeathMessage(parseStringListRandom("deaths.starvation").replaceAll("%victim%", name));
- } else if (cause == DamageCause.SUFFOCATION) {
- event.setDeathMessage(parseStringListRandom("deaths.suffocation").replaceAll("%victim%", name));
- } else if (cause == DamageCause.SUICIDE) {
- event.setDeathMessage(parseStringListRandom("deaths.suicide").replaceAll("%victim%", name));
- } else if (cause == DamageCause.VOID) {
- event.setDeathMessage(parseStringListRandom("deaths.void").replaceAll("%victim%", name));
- } else if (cause == DamageCause.ENTITY_EXPLOSION) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.creeper").replaceAll("%victim%", name));
- } else if (cause == DamageCause.PROJECTILE) {
- event.setDeathMessage(parseStringListRandom("deaths.mobs.skeleton").replaceAll("%victim%", name));
- } else {
- event.setDeathMessage(parseStringListRandom("deaths.unknown").replaceAll("%victim%", name));
- }
- } else {
- event.setDeathMessage("");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement