Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. @EventHandler
  2. public void onStaff(PlayerInteractEvent event) {
  3. final Player player = event.getPlayer();
  4. int staffTier = Merchant.getTier(player.getInventory().getItemInMainHand());
  5. if((event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) && (player = event.getPlayer()).getInventory().getItemInMainHand() != null && player.getInventory().getItemInMainHand().getType() != Material.AIR && player.getInventory().getItemInMainHand().getType().name().contains("_HOE") && player.getInventory().getItemInMainHand().getItemMeta().hasLore()) {
  6. if(Alignments.isSafeZone(player.getLocation())) {
  7. player.playSound(player.getLocation(), Sound.BLOCK_LAVA_EXTINGUISH, 1.0f, 1.25f);
  8. Particles.CRIT_MAGIC.display(0.0f, 0.0f, 0.0f, 0.5f, 20, player.getLocation().add(0.0, 1.0, 0.0), 20.0);
  9. return;
  10. }
  11. if(canShoot.contains(player.getUniqueId())) {
  12. event.setCancelled(true);
  13. return;
  14. }
  15. if (Energy.nodamage.containsKey(player.getName()) && System.currentTimeMillis() - Energy.nodamage.get(player.getName()) < 100) {
  16. event.setCancelled(true);
  17. return;
  18. }
  19. if (Energy.getEnergy(player) > 0.0f) {
  20. int energyUse = 7;
  21. Projectile projectile = null;
  22. switch (staffTier) {
  23. case 1:
  24. projectile = player.launchProjectile(Snowball.class);
  25. break;
  26. case 2:
  27. projectile = player.launchProjectile(SmallFireball.class);
  28. energyUse++;
  29. break;
  30. case 3:
  31. projectile = player.launchProjectile(EnderPearl.class);
  32. energyUse += 2;
  33. break;
  34. case 4:
  35. projectile = player.launchProjectile(WitherSkull.class);
  36. energyUse += 3;
  37. break;
  38. case 5:
  39. projectile = player.launchProjectile(LargeFireball.class);
  40. energyUse += 4;
  41. break;
  42. }
  43. player.playSound(player.getLocation(), Sound.ENTITY_ARROW_SHOOT, 1.0f, 0.25f);
  44. this.shots.put(projectile, player.getInventory().getItemInMainHand());
  45. canShoot.add(player.getUniqueId());
  46. Energy.removeEnergy(player, energyUse);
  47.  
  48. new BukkitRunnable() {
  49. public void run() {
  50. canShoot.remove(player.getUniqueId());
  51. }
  52. }.runTaskLaterAsynchronously(PracticeServer.plugin, 3);
  53.  
  54. if(((new Random()).nextInt(2000)) <= player.getInventory().getItemInMainHand().getType().getMaxDurability()) {
  55. if (player.getInventory().getItemInMainHand().getDurability() >= player.getInventory().getItemInMainHand().getType().getMaxDurability()) {
  56. player.getInventory().setItemInMainHand(null);
  57. player.playSound(player.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
  58. } else {
  59. player.getInventory().getItemInMainHand().setDurability((short)(player.getInventory().getItemInMainHand().getDurability() + 1));
  60. }
  61. }
  62. } else {
  63. Energy.setEnergy(player, 0.0f);
  64. Energy.cooldown.put(player.getName(), System.currentTimeMillis());
  65. player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW_DIGGING, 40, 5), true);
  66. player.playSound(player.getLocation(), Sound.ENTITY_WOLF_PANT, 10.0f, 1.5f);
  67. }
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement