Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Decompiled by Procyon v0.5.30
- //
- package pl.easysv.core.listeners;
- import org.bukkit.event.EventHandler;
- import pl.easysv.core.data.base.Guild;
- import pl.easysv.core.data.base.User;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.event.player.PlayerTeleportEvent;
- import org.bukkit.World;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- import pl.easysv.core.utils.ItemUtil;
- import pl.easysv.core.managers.CombatManager;
- import pl.easysv.core.managers.ItemManager;
- import pl.easysv.core.lang.Lang;
- import org.bukkit.command.CommandSender;
- import pl.easysv.core.utils.Util;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import pl.easysv.core.managers.GuildManager;
- import org.bukkit.Bukkit;
- import java.util.UUID;
- import pl.easysv.core.managers.UserManager;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import pl.easysv.core.Main;
- import org.bukkit.event.Listener;
- public class PlayerDeathListener implements Listener
- {
- private Main plugin;
- @EventHandler
- public void onPlayerDeath(final PlayerDeathEvent e) {
- final Player p = e.getEntity();
- Player k = p.getKiller();
- final User pUser = UserManager.getUser(p);
- User kUser = null;
- if (k == null) {
- final UUID uuid = EntityDamageByEntityListener.getLastDamager().remove(p.getUniqueId());
- if (uuid != null) {
- k = Bukkit.getPlayer(uuid);
- }
- }
- if (k != null) {
- kUser = UserManager.getUser(k);
- kUser.setFirstKill(p.getName());
- final Guild pGuild = GuildManager.getGuild(p);
- final Guild kGuild = GuildManager.getGuild(k);
- int winPoints = (int)(10.0 + (kUser.getPoints() - pUser.getPoints()) * -0.2);
- if (winPoints <= -10) {
- winPoints = -10;
- }
- else if (k.getName().equalsIgnoreCase(p.getName())) {
- winPoints = 0;
- }
- if (kUser.getKoxpvp() == 1) {
- k.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 200, 2));
- }
- else if (kUser.getKoxpvp() == 2) {
- k.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 200, 2));
- k.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 300, 1));
- }
- else if (kUser.getKoxpvp() == 3) {
- k.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 200, 2));
- k.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 300, 1));
- k.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 100, 1));
- }
- if (p.getAddress().getHostString().equals(k.getAddress().getHostString())) {
- winPoints = 0;
- kUser.removePoints(50);
- Util.sendMsg((CommandSender)p, "&4Blad: &7Twoj adres IP jest taki sam jak " + k.getName() + " punkty nie zostaja naliczone!");
- Util.sendMsg((CommandSender)k, "&4Blad: &7Twoj adres IP jest taki sam jak " + p.getName() + " punkty nie zostaja naliczone!");
- Bukkit.broadcastMessage(Util.fixColor("&4Multikonto &8» &7Gracz &c" + k.getName() + " &7zabil &c" + p.getName() + " &8(&7-50&8)"));
- }
- else if (kGuild != null && pGuild != null && kGuild.getTag().equals(pGuild.getTag())) {
- winPoints = 0;
- Util.sendMsg((CommandSender)p, "&4Blad: &7Jestes w gildii z: &c" + k.getName() + " &7punkty nie zostaja naliczone!");
- Util.sendMsg((CommandSender)k, "&4Blad: &7Jestes w gildii z: &c " + p.getName() + " &7punkty nie zostaja naliczone!");
- }
- final int losePoints = Math.abs(winPoints / 2);
- pUser.removePoints(losePoints);
- kUser.addPoints(winPoints);
- kUser.addKill(1);
- kUser.setFirstKill(p.getName());
- String msg = Lang.MSG_PLAYER_DEATHMESSAGE;
- msg = msg.replace("{DPLAYER}", p.getName());
- msg = msg.replace("{DTAG}", (pGuild == null) ? "" : (" &8[&2" + pGuild.getTag() + "&8]"));
- msg = msg.replace("{KPLAYER}", k.getName());
- msg = msg.replace("{KTAG}", (kGuild == null) ? "" : (" &8[&2" + kGuild.getTag() + "&8]"));
- msg = msg.replace("{-}", Integer.toString(losePoints));
- msg = msg.replace("{+}", (winPoints >= 0) ? ("+" + Integer.toString(winPoints)) : Integer.toString(winPoints));
- msg = msg.replace("{USE}", ItemManager.get(k.getItemInHand().getType()));
- e.setDeathMessage(Util.fixColor(msg));
- }
- else {
- e.setDeathMessage((String)null);
- }
- pUser.addDeath(1);
- CombatManager.removePlayer(p);
- p.getLocation().getWorld().dropItemNaturally(p.getLocation(), ItemUtil.getPlayerHead(pUser.getLastName()));
- new BukkitRunnable() {
- public void run() {
- p.teleport(Bukkit.getWorlds().get(0).getSpawnLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN);
- }
- }.runTaskLater((Plugin)Main.getPlugin(), 1L);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement