Advertisement
Guest User

Untitled

a guest
Mar 5th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.91 KB | None | 0 0
  1. package Net.Garoto.Listener;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Random;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.GameMode;
  9. import org.bukkit.Location;
  10. import org.bukkit.Material;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.EventPriority;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.entity.EntityDamageEvent;
  16. import org.bukkit.event.entity.PlayerDeathEvent;
  17. import org.bukkit.event.player.PlayerRespawnEvent;
  18.  
  19. import Net.Garoto.Main;
  20. import Net.Garoto.manager.AbilityManager;
  21.  
  22. public class PlayerDeathEvt implements Listener {
  23.  
  24. public static ArrayList<Player> respawn = new ArrayList<Player>();
  25.  
  26. @EventHandler
  27. public void onDeath(PlayerDeathEvent e) {
  28. e.setDeathMessage("");
  29. Player p = e.getEntity();
  30. if (p.hasPermission("hg.respawn")) {
  31. if(Main.jogo <= 5) {
  32. respawn.add(p);
  33. }
  34. } else {
  35. p.kickPlayer(ChatColor.RED + "Você morreu no " + ChatColor.AQUA + "Skill§aHG" + "\n" + ChatColor.GRAY + "Visite: " + ChatColor.RED + Main.site);
  36. }
  37. }
  38.  
  39. public static void ChecarWin(Player p) {
  40. Main.morreu.add(p);
  41. Main.saiu.remove(p.getName());
  42. Main.login.add(p);
  43. Main.totalPlayers.remove(p.getName());
  44. }
  45.  
  46. @SuppressWarnings({ "unused", "deprecation" })
  47. @EventHandler(priority = EventPriority.MONITOR)
  48. public void onPlayerRespawn(PlayerRespawnEvent event) {
  49. Player p = event.getPlayer();
  50. if ((respawn.contains(p)) && (Main.jogo <= 5)) {
  51. Location originalLocation = p.getLocation();
  52. Random random = new Random();
  53. Location teleportLocation = null;
  54. int x = random.nextInt(400) + 1;
  55. int y = 150;
  56. int z = random.nextInt(400) + 1;
  57. boolean isOnLand = false;
  58. while (!isOnLand) {
  59. teleportLocation = new Location(p.getWorld(), x, y, z);
  60. if (teleportLocation.getBlock().getType() != Material.AIR)
  61. isOnLand = true;
  62. else y--;
  63. }
  64. GameListener.verificaWin();
  65. int respawntime = 5 - Main.jogo;
  66. event.setRespawnLocation(teleportLocation);
  67. p.sendMessage(ChatColor.GREEN + "Você respawnou!\nVocê tem " + ChatColor.AQUA + respawntime + ChatColor.AQUA + " minutos para respawnar!");
  68. p.setGameMode(GameMode.SURVIVAL);
  69. p.setHealth(20.0D);
  70. p.setFoodLevel(20);
  71. p.setNoDamageTicks(120);
  72. if(p.hasPermission("hg.r.kit")) {
  73. GiveItens.giveItens(event.getPlayer());
  74. p.updateInventory();
  75. }
  76. } else if(Main.jogo >= 6 && p.hasPermission("hg.spec") && !p.hasPermission("hg.admin")) {
  77. p.teleport(p.getLocation());
  78. Main.morreu.add(p);
  79. Main.saiu.remove(p.getName());
  80. Main.login.add(p);
  81. Main.totalPlayers.remove(p.getName());
  82. GameListener.espectadores.add(p.getName());
  83. p.getAllowFlight();
  84. p.setAllowFlight(true);
  85. p.sendMessage(ChatColor.GOLD + "Você morreu e entrou no modo §cEspectador");
  86. p.sendMessage(ChatColor.GOLD + "Tenha um bom senso nao atrapalhe os jogadores!");
  87. GameListener.verificaWin();
  88. for(Player p1 : Bukkit.getOnlinePlayers()) {
  89. p1.hidePlayer(p);
  90. }
  91. } else if(Main.jogo >= 6 && p.hasPermission("hg.admin")) {
  92. p.teleport(p.getLocation());
  93. Main.morreu.add(p);
  94. Main.saiu.remove(p.getName());
  95. Main.login.add(p);
  96. GameListener.espectadores.remove(p.getName());
  97. Main.totalPlayers.remove(p.getName());
  98. p.chat("/admin");
  99. GameListener.verificaWin();
  100. for(Player p1 : Bukkit.getOnlinePlayers()) {
  101. p1.hidePlayer(p);
  102. }
  103. } else {
  104. p.kickPlayer(ChatColor.RED + "Partida em progresso!" + "\n" + ChatColor.GRAY + "Visite " + ChatColor.GREEN + Main.site);
  105. Main.morreu.add(p);
  106. Main.saiu.remove(p.getName());
  107. Main.login.add(p);
  108. Main.totalPlayers.remove(p.getName());
  109. }
  110. }
  111.  
  112. @EventHandler(priority = EventPriority.MONITOR)
  113. public void onPlayerDeath(final PlayerDeathEvent event) {
  114. Bukkit.getScheduler().scheduleSyncDelayedTask(Main.instance, new Runnable() {
  115. @SuppressWarnings("deprecation")
  116. public void run() {
  117. final Player p = event.getEntity();
  118. EntityDamageEvent cause = p.getLastDamageCause();
  119. EntityDamageEvent.DamageCause causa = cause.getCause();
  120. final String KitName = Main.kitnome(AbilityManager.getAbility(p));
  121. if (causa == EntityDamageEvent.DamageCause.FALL) {
  122. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " nunca ouviu falar em escadas!" + "\n" +
  123. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  124. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  125. Bukkit.reloadWhitelist();
  126. ChecarWin(p);
  127. } else if (causa == EntityDamageEvent.DamageCause.CONTACT) {
  128. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu por um cacto!" + "\n" +
  129. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  130. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  131. Bukkit.reloadWhitelist();
  132. GameListener.verificaWin();
  133. ChecarWin(p);
  134. } else if (causa == EntityDamageEvent.DamageCause.DROWNING) {
  135. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu afogado!" + "\n" +
  136. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  137. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  138. Bukkit.reloadWhitelist();
  139. GameListener.verificaWin();
  140. ChecarWin(p);
  141. } else if (causa == EntityDamageEvent.DamageCause.LAVA) {
  142. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " estava brincando muito perto da lava!" + "\n" +
  143. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  144. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  145. Bukkit.reloadWhitelist();
  146. GameListener.verificaWin();
  147. ChecarWin(p);
  148. } else if (causa == EntityDamageEvent.DamageCause.SUFFOCATION) {
  149. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu sufocado por blocos!" + "\n" +
  150. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  151. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  152. Bukkit.reloadWhitelist();
  153. GameListener.verificaWin();
  154. ChecarWin(p);
  155. } else if (causa == EntityDamageEvent.DamageCause.FIRE) {
  156. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " tostou como uma carne assada!" + "\n" +
  157. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  158. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  159. Bukkit.reloadWhitelist();
  160. GameListener.verificaWin();
  161. ChecarWin(p);
  162. } else if (causa == EntityDamageEvent.DamageCause.POISON) {
  163. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu envenenado!" + "\n" +
  164. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  165. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  166. Bukkit.reloadWhitelist();
  167. GameListener.verificaWin();
  168. ChecarWin(p);
  169. } else if (causa == EntityDamageEvent.DamageCause.FIRE_TICK) {
  170. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " Queimou igual batatinha!" + "\n" +
  171. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  172. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  173. Bukkit.reloadWhitelist();
  174. GameListener.verificaWin();
  175. ChecarWin(p);
  176. } else if (causa == EntityDamageEvent.DamageCause.SUICIDE) {
  177. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " Se suicidou!" + "\n" +
  178. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  179. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  180. Bukkit.reloadWhitelist();
  181. GameListener.verificaWin();
  182. ChecarWin(p);
  183. } else if (causa == EntityDamageEvent.DamageCause.LIGHTNING) {
  184. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu pelos raios dos ceus!" + "\n" +
  185. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  186. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  187. Bukkit.reloadWhitelist();
  188. GameListener.verificaWin();
  189. ChecarWin(p);
  190. } else if (causa == EntityDamageEvent.DamageCause.STARVATION) {
  191. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu de fome!" + "\n" +
  192. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  193. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  194. Bukkit.reloadWhitelist();
  195. GameListener.verificaWin();
  196. ChecarWin(p);
  197. } else if (causa == EntityDamageEvent.DamageCause.WITHER) {
  198. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu em decomposicao!" + "\n" +
  199. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  200. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  201. Bukkit.reloadWhitelist();
  202. GameListener.verificaWin();
  203. ChecarWin(p);
  204. } else if (causa == EntityDamageEvent.DamageCause.BLOCK_EXPLOSION) {
  205. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu explodido em mil pedacos!" + "\n" +
  206. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  207. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  208. Bukkit.reloadWhitelist();
  209. GameListener.verificaWin();
  210. ChecarWin(p);
  211. } else if (causa == EntityDamageEvent.DamageCause.WITHER) {
  212. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu pelo efeito do Wither!" + "\n" +
  213. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  214. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  215. Bukkit.reloadWhitelist();
  216. GameListener.verificaWin();
  217. ChecarWin(p);
  218. } else if (causa == EntityDamageEvent.DamageCause.PROJECTILE) {
  219. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu por uma flecha!" + "\n" +
  220. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  221. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  222. Bukkit.reloadWhitelist();
  223. GameListener.verificaWin();
  224. ChecarWin(p);
  225. } else if (causa == EntityDamageEvent.DamageCause.VOID) {
  226. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu para o void!" + "\n" +
  227. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  228. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  229. Bukkit.reloadWhitelist();
  230. GameListener.verificaWin();
  231. ChecarWin(p);
  232. } else if (causa == EntityDamageEvent.DamageCause.ENTITY_EXPLOSION) {
  233. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + " (" + KitName + ")" + ChatColor.YELLOW + " morreu explodido em mil pedacos!" + "\n" +
  234. ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.");
  235. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  236. Bukkit.reloadWhitelist();
  237. GameListener.verificaWin();
  238. ChecarWin(p);
  239. } else if (causa == EntityDamageEvent.DamageCause.ENTITY_ATTACK) {
  240. Bukkit.broadcastMessage(ChatColor.GRAY + p.getName() + ChatColor.AQUA + "(" + Main.kitnome(AbilityManager.getAbility(p) + ")"
  241. + ChatColor.YELLOW + " foi morto por " + ChatColor.GRAY + p.getKiller().getName()
  242. + ChatColor.AQUA + "(" + Main.kitnome(AbilityManager.getAbility(p.getKiller()) + ")" + ChatColor.YELLOW + " com " + GameListener.NomeDosItens(p.getKiller().getItemInHand())
  243. + "\n" + ChatColor.RED + Main.totalPlayers.size() + " jogadores restantes.")));
  244. Bukkit.getOfflinePlayer(p.getName()).setWhitelisted(false);
  245. Bukkit.reloadWhitelist();
  246. GameListener.verificaWin();
  247. ChecarWin(p);
  248. }
  249. }
  250. },10L);
  251. }
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement