Advertisement
Guest User

endermage e!t thor

a guest
Jan 22nd, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.08 KB | None | 0 0
  1. package com.fightpvp.kits;
  2.  
  3. import com.fightpvp.main.Fight;
  4. import com.fightpvp.managers.Kit;
  5. import com.fightpvp.managers.KitManager;
  6. import java.util.ArrayList;
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.ChatColor;
  9. import org.bukkit.Location;
  10. import org.bukkit.Material;
  11. import org.bukkit.World;
  12. import org.bukkit.block.Block;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandExecutor;
  15. import org.bukkit.command.CommandSender;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.Listener;
  19. import org.bukkit.event.block.Action;
  20. import org.bukkit.event.entity.EntityDamageEvent;
  21. import org.bukkit.event.player.PlayerInteractEvent;
  22. import org.bukkit.event.player.PlayerMoveEvent;
  23. import org.bukkit.inventory.ItemStack;
  24. import org.bukkit.inventory.PlayerInventory;
  25. import org.bukkit.scheduler.BukkitScheduler;
  26.  
  27. public class Endermage
  28. implements CommandExecutor, Listener
  29. {
  30. private Fight plugin;
  31. public int task;
  32.  
  33. public Endermage(Fight plugin)
  34. {
  35. this.plugin = plugin;
  36. }
  37.  
  38. ArrayList<String> invencibility = new ArrayList();
  39. KitManager kitmg = KitManager.getKitManager();
  40. public static int x;
  41. public static int y;
  42. public static int z;
  43. public static Material m;
  44. public static Player player;
  45.  
  46. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  47. {
  48. Player p = (Player)sender;
  49. if (label.equalsIgnoreCase("endermage")) {
  50. if (p.hasPermission("kit.endermage"))
  51. {
  52. if (this.kitmg.hasOneKit(p))
  53. {
  54. p.sendMessage("�cSomente 1 kit por vida !");
  55. }
  56. else
  57. {
  58. Kit a = this.kitmg.getKit(label.toLowerCase());
  59. a.addPlayer(p);
  60. this.kitmg.sendPlayerKitMessage(p);
  61.  
  62. PlayerInventory pi = p.getInventory();
  63. pi.clear();
  64.  
  65. pi.addItem(new ItemStack[] { new ItemStack(Material.WOOD_SWORD) });
  66. pi.addItem(new ItemStack[] { new ItemStack(Material.PORTAL) });
  67. pi.setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
  68. for (int i = 0; i < 37; i++) {
  69. pi.addItem(new ItemStack[] { new ItemStack(Material.MUSHROOM_SOUP) });
  70. }
  71. }
  72. }
  73. else {
  74. p.sendMessage(ChatColor.RED + "Voce nao possue este kit !");
  75. }
  76. }
  77. return false;
  78. }
  79.  
  80. @EventHandler
  81. public void teleport(PlayerMoveEvent event)
  82. {
  83. final Player p = event.getPlayer();
  84. if (((p.getLocation().getBlockX() == x + 1) ||
  85. (p.getLocation().getBlockX() == x - 1)) &&
  86. ((p.getLocation().getBlockY() > y + 2) ||
  87. (p.getLocation().getBlockY() < y - 2)) &&
  88. ((p.getLocation().getBlockZ() == z + 1) ||
  89. (p.getLocation().getBlockZ() == z - 1)) &&
  90. (p.getWorld()
  91. .getBlockAt(new Location(p.getWorld(), x, y, z))
  92. .getType() == Material.ENDER_PORTAL_FRAME)) {
  93. if (p != player)
  94. {
  95. Block b = p.getWorld().getBlockAt(
  96. new Location(p.getWorld(), x, y, z));
  97. p.teleport(new Location(p.getWorld(), x, y + 1, z));
  98. player.teleport(new Location(p.getWorld(), x, y + 1, z));
  99. b.setType(m);
  100. player.getInventory().addItem(
  101. new ItemStack[] { new ItemStack(Material.PORTAL) });
  102. this.invencibility.add(p.getName());
  103. this.invencibility.add(player.getName());
  104. p.sendMessage("�6Voc� foi teleportado por um Endermage! Voce tem 5 Segundos de Invencibilidade!");
  105. player.sendMessage("�6Voc� Puxou " + p.getName() +
  106. "! 5 Segundos De Invencibilidade!");
  107. Bukkit.getScheduler().cancelTask(this.task);
  108. Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin,
  109. new Runnable()
  110. {
  111. public void run()
  112. {
  113. Endermage.this.invencibility.remove(p.getName());
  114. Endermage.this.invencibility
  115. .remove(Endermage.player.getName());
  116. p.sendMessage("�6Sua Invencibilidade Acabou! Proteja-se!");
  117. Endermage.player
  118. .sendMessage("�6Sua Invencibilidade Acabou! Proteja-se!");
  119. }
  120. }, 100L);
  121. }
  122. }
  123. }
  124.  
  125. @EventHandler
  126. public void invencibilidade(EntityDamageEvent event)
  127. {
  128. if (!(event.getEntity() instanceof Player)) {
  129. return;
  130. }
  131. Player e = (Player)event.getEntity();
  132. if (this.invencibility.contains(e.getName())) {
  133. event.setCancelled(true);
  134. }
  135. }
  136.  
  137. @EventHandler
  138. public void endermage(PlayerInteractEvent event)
  139. {
  140. final Player p = event.getPlayer();
  141. Action a = event.getAction();
  142. final Block b = event.getClickedBlock();
  143. if ((p.getItemInHand().getType() == Material.PORTAL) &&
  144. (this.kitmg.hasAbility(p, "endermage")) &&
  145. (this.kitmg.hasAbility(p, "endermage")))
  146. {
  147. event.setCancelled(true);
  148. if (a == Action.RIGHT_CLICK_BLOCK)
  149. {
  150. p.getInventory().remove(p.getItemInHand());
  151. final Material bm = b.getType();
  152.  
  153. final byte bb = b.getData();
  154. b.setType(Material.ENDER_PORTAL_FRAME);
  155. x = b.getX();
  156. y = b.getY();
  157. z = b.getZ();
  158. m = bm;
  159. player = p;
  160. this.task = Bukkit.getScheduler().scheduleSyncDelayedTask(
  161. this.plugin, new Runnable()
  162. {
  163. public void run()
  164. {
  165. b.setType(bm);
  166. b.setData(bb);
  167. p.getInventory().addItem(
  168. new ItemStack[] { new ItemStack(
  169. Material.PORTAL) });
  170. }
  171. }, 100L);
  172. }
  173. else if (a == Action.LEFT_CLICK_BLOCK)
  174. {
  175. p.getInventory().remove(p.getItemInHand());
  176. final Material bm = b.getType();
  177.  
  178. final byte bb = b.getData();
  179. b.setType(Material.ENDER_PORTAL_FRAME);
  180. x = b.getX();
  181. y = b.getY();
  182. z = b.getZ();
  183. m = bm;
  184. player = p;
  185. this.task = Bukkit.getScheduler().scheduleSyncDelayedTask(
  186. this.plugin, new Runnable()
  187. {
  188. public void run()
  189. {
  190. b.setType(bm);
  191. b.setData(bb);
  192. p.getInventory().addItem(
  193. new ItemStack[] { new ItemStack(
  194. Material.PORTAL) });
  195. }
  196. }, 100L);
  197. }
  198. }
  199. }
  200. }
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215. package com.fightpvp.kits;
  216.  
  217. import com.fightpvp.main.Fight;
  218. import com.fightpvp.managers.Kit;
  219. import com.fightpvp.managers.KitManager;
  220. import java.util.ArrayList;
  221. import org.bukkit.Bukkit;
  222. import org.bukkit.ChatColor;
  223. import org.bukkit.Material;
  224. import org.bukkit.Server;
  225. import org.bukkit.World;
  226. import org.bukkit.block.Block;
  227. import org.bukkit.command.Command;
  228. import org.bukkit.command.CommandExecutor;
  229. import org.bukkit.command.CommandSender;
  230. import org.bukkit.entity.Player;
  231. import org.bukkit.event.EventHandler;
  232. import org.bukkit.event.Listener;
  233. import org.bukkit.event.block.Action;
  234. import org.bukkit.event.block.BlockIgniteEvent;
  235. import org.bukkit.event.block.BlockIgniteEvent.IgniteCause;
  236. import org.bukkit.event.entity.EntityDamageEvent;
  237. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  238. import org.bukkit.event.player.PlayerInteractEvent;
  239. import org.bukkit.inventory.ItemStack;
  240. import org.bukkit.inventory.PlayerInventory;
  241. import org.bukkit.scheduler.BukkitScheduler;
  242.  
  243. public class Thor
  244. implements CommandExecutor, Listener
  245. {
  246. private Fight plugin;
  247.  
  248. public Thor(Fight plugin)
  249. {
  250. this.plugin = plugin;
  251. }
  252.  
  253. KitManager kitmg = KitManager.getKitManager();
  254. ArrayList<String> reload = new ArrayList();
  255.  
  256. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  257. {
  258. Player p = (Player)sender;
  259. if (label.equalsIgnoreCase("thor")) {
  260. if (p.hasPermission("kit.thor"))
  261. {
  262. if (this.kitmg.hasOneKit(p))
  263. {
  264. p.sendMessage("��cSomente 1 kit por vida !");
  265. }
  266. else
  267. {
  268. Kit a = this.kitmg.getKit(label.toLowerCase());
  269. a.addPlayer(p);
  270. this.kitmg.sendPlayerKitMessage(p);
  271.  
  272. PlayerInventory pi = p.getInventory();
  273. pi.clear();
  274.  
  275. pi.addItem(new ItemStack[] { new ItemStack(Material.WOOD_SWORD) });
  276. pi.addItem(new ItemStack[] { new ItemStack(Material.GOLD_AXE) });
  277. pi.setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
  278. for (int i = 0; i < 37; i++) {
  279. pi.addItem(new ItemStack[] { new ItemStack(Material.MUSHROOM_SOUP) });
  280. }
  281. }
  282. }
  283. else {
  284. p.sendMessage(ChatColor.RED + "Voce nao possue este kit !");
  285. }
  286. }
  287. return false;
  288. }
  289.  
  290. @EventHandler
  291. public void onThor(PlayerInteractEvent e)
  292. {
  293. final Player p = e.getPlayer();
  294. if ((p.getItemInHand().getType() == Material.GOLD_AXE) &&
  295. (e.getAction() == Action.RIGHT_CLICK_BLOCK) &&
  296. (this.kitmg.hasAbility(p, "thor"))) {
  297. if (this.reload.contains(p.getName()))
  298. {
  299. p.sendMessage("��c��lSeu Thor esta em cooldown!");
  300. }
  301. else
  302. {
  303. p.getWorld().strikeLightning(p.getWorld().getHighestBlockAt(e.getClickedBlock().getLocation()).getLocation());
  304. this.reload.add(p.getName());
  305. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable()
  306. {
  307. public void run()
  308. {
  309. Thor.this.reload.remove(p.getName());
  310. }
  311. }, 20L);
  312. }
  313. }
  314. }
  315.  
  316. @EventHandler
  317. public void onEntityDamage(EntityDamageEvent e)
  318. {
  319. if (!(e.getEntity() instanceof Player)) {
  320. return;
  321. }
  322. Player p = (Player)e.getEntity();
  323. if ((this.kitmg.hasAbility(p, "thor")) &&
  324. (e.getCause() == EntityDamageEvent.DamageCause.LIGHTNING))
  325. {
  326. e.setDamage(0.0D);
  327. return;
  328. }
  329. }
  330.  
  331. @EventHandler
  332. public void onIgnite(BlockIgniteEvent e)
  333. {
  334. if (e.getCause() == BlockIgniteEvent.IgniteCause.LIGHTNING) {
  335. e.setCancelled(true);
  336. }
  337. }
  338. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement