Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.16 KB | None | 0 0
  1. //
  2. // Decompiled by Procyon v0.5.30
  3. //
  4.  
  5. package pl.easysv.core.listeners;
  6.  
  7. import org.bukkit.event.EventHandler;
  8. import pl.easysv.core.data.base.Guild;
  9. import pl.easysv.core.data.base.User;
  10. import org.bukkit.plugin.Plugin;
  11. import org.bukkit.event.player.PlayerTeleportEvent;
  12. import org.bukkit.World;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.scheduler.BukkitRunnable;
  15. import pl.easysv.core.utils.ItemUtil;
  16. import pl.easysv.core.managers.CombatManager;
  17. import pl.easysv.core.managers.ItemManager;
  18. import pl.easysv.core.lang.Lang;
  19. import org.bukkit.command.CommandSender;
  20. import pl.easysv.core.utils.Util;
  21. import org.bukkit.potion.PotionEffect;
  22. import org.bukkit.potion.PotionEffectType;
  23. import pl.easysv.core.managers.GuildManager;
  24. import org.bukkit.Bukkit;
  25. import java.util.UUID;
  26. import pl.easysv.core.managers.UserManager;
  27. import org.bukkit.event.entity.PlayerDeathEvent;
  28. import pl.easysv.core.Main;
  29. import org.bukkit.event.Listener;
  30.  
  31. public class PlayerDeathListener implements Listener
  32. {
  33. private Main plugin;
  34.  
  35. @EventHandler
  36. public void onPlayerDeath(final PlayerDeathEvent e) {
  37. final Player p = e.getEntity();
  38. Player k = p.getKiller();
  39. final User pUser = UserManager.getUser(p);
  40. User kUser = null;
  41. if (k == null) {
  42. final UUID uuid = EntityDamageByEntityListener.getLastDamager().remove(p.getUniqueId());
  43. if (uuid != null) {
  44. k = Bukkit.getPlayer(uuid);
  45. }
  46. }
  47. if (k != null) {
  48. kUser = UserManager.getUser(k);
  49. kUser.setFirstKill(p.getName());
  50. final Guild pGuild = GuildManager.getGuild(p);
  51. final Guild kGuild = GuildManager.getGuild(k);
  52. int winPoints = (int)(10.0 + (kUser.getPoints() - pUser.getPoints()) * -0.2);
  53. if (winPoints <= -10) {
  54. winPoints = -10;
  55. }
  56. else if (k.getName().equalsIgnoreCase(p.getName())) {
  57. winPoints = 0;
  58. }
  59. if (kUser.getKoxpvp() == 1) {
  60. k.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 200, 2));
  61. }
  62. else if (kUser.getKoxpvp() == 2) {
  63. k.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 200, 2));
  64. k.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 300, 1));
  65. }
  66. else if (kUser.getKoxpvp() == 3) {
  67. k.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 200, 2));
  68. k.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 300, 1));
  69. k.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 100, 1));
  70. }
  71. if (p.getAddress().getHostString().equals(k.getAddress().getHostString())) {
  72. winPoints = 0;
  73. kUser.removePoints(50);
  74. Util.sendMsg((CommandSender)p, "&4Blad: &7Twoj adres IP jest taki sam jak " + k.getName() + " punkty nie zostaja naliczone!");
  75. Util.sendMsg((CommandSender)k, "&4Blad: &7Twoj adres IP jest taki sam jak " + p.getName() + " punkty nie zostaja naliczone!");
  76. Bukkit.broadcastMessage(Util.fixColor("&4Multikonto &8» &7Gracz &c" + k.getName() + " &7zabil &c" + p.getName() + " &8(&7-50&8)"));
  77. }
  78. else if (kGuild != null && pGuild != null && kGuild.getTag().equals(pGuild.getTag())) {
  79. winPoints = 0;
  80. Util.sendMsg((CommandSender)p, "&4Blad: &7Jestes w gildii z: &c" + k.getName() + " &7punkty nie zostaja naliczone!");
  81. Util.sendMsg((CommandSender)k, "&4Blad: &7Jestes w gildii z: &c " + p.getName() + " &7punkty nie zostaja naliczone!");
  82. }
  83. final int losePoints = Math.abs(winPoints / 2);
  84. pUser.removePoints(losePoints);
  85. kUser.addPoints(winPoints);
  86. kUser.addKill(1);
  87. kUser.setFirstKill(p.getName());
  88. String msg = Lang.MSG_PLAYER_DEATHMESSAGE;
  89. msg = msg.replace("{DPLAYER}", p.getName());
  90. msg = msg.replace("{DTAG}", (pGuild == null) ? "" : (" &8[&2" + pGuild.getTag() + "&8]"));
  91. msg = msg.replace("{KPLAYER}", k.getName());
  92. msg = msg.replace("{KTAG}", (kGuild == null) ? "" : (" &8[&2" + kGuild.getTag() + "&8]"));
  93. msg = msg.replace("{-}", Integer.toString(losePoints));
  94. msg = msg.replace("{+}", (winPoints >= 0) ? ("+" + Integer.toString(winPoints)) : Integer.toString(winPoints));
  95. msg = msg.replace("{USE}", ItemManager.get(k.getItemInHand().getType()));
  96. e.setDeathMessage(Util.fixColor(msg));
  97. }
  98. else {
  99. e.setDeathMessage((String)null);
  100. }
  101. pUser.addDeath(1);
  102. CombatManager.removePlayer(p);
  103. p.getLocation().getWorld().dropItemNaturally(p.getLocation(), ItemUtil.getPlayerHead(pUser.getLastName()));
  104. new BukkitRunnable() {
  105. public void run() {
  106. p.teleport(Bukkit.getWorlds().get(0).getSpawnLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN);
  107. }
  108. }.runTaskLater((Plugin)Main.getPlugin(), 1L);
  109. }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement