Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @EventHandler
- public void onStaff(PlayerInteractEvent event) {
- final Player player = event.getPlayer();
- int staffTier = Merchant.getTier(player.getInventory().getItemInMainHand());
- 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()) {
- if(Alignments.isSafeZone(player.getLocation())) {
- player.playSound(player.getLocation(), Sound.BLOCK_LAVA_EXTINGUISH, 1.0f, 1.25f);
- Particles.CRIT_MAGIC.display(0.0f, 0.0f, 0.0f, 0.5f, 20, player.getLocation().add(0.0, 1.0, 0.0), 20.0);
- return;
- }
- if(canShoot.contains(player.getUniqueId())) {
- event.setCancelled(true);
- return;
- }
- if (Energy.nodamage.containsKey(player.getName()) && System.currentTimeMillis() - Energy.nodamage.get(player.getName()) < 100) {
- event.setCancelled(true);
- return;
- }
- if (Energy.getEnergy(player) > 0.0f) {
- int energyUse = 7;
- Projectile projectile = null;
- switch (staffTier) {
- case 1:
- projectile = player.launchProjectile(Snowball.class);
- break;
- case 2:
- projectile = player.launchProjectile(SmallFireball.class);
- energyUse++;
- break;
- case 3:
- projectile = player.launchProjectile(EnderPearl.class);
- energyUse += 2;
- break;
- case 4:
- projectile = player.launchProjectile(WitherSkull.class);
- energyUse += 3;
- break;
- case 5:
- projectile = player.launchProjectile(LargeFireball.class);
- energyUse += 4;
- break;
- }
- player.playSound(player.getLocation(), Sound.ENTITY_ARROW_SHOOT, 1.0f, 0.25f);
- this.shots.put(projectile, player.getInventory().getItemInMainHand());
- canShoot.add(player.getUniqueId());
- Energy.removeEnergy(player, energyUse);
- new BukkitRunnable() {
- public void run() {
- canShoot.remove(player.getUniqueId());
- }
- }.runTaskLaterAsynchronously(PracticeServer.plugin, 3);
- if(((new Random()).nextInt(2000)) <= player.getInventory().getItemInMainHand().getType().getMaxDurability()) {
- if (player.getInventory().getItemInMainHand().getDurability() >= player.getInventory().getItemInMainHand().getType().getMaxDurability()) {
- player.getInventory().setItemInMainHand(null);
- player.playSound(player.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
- } else {
- player.getInventory().getItemInMainHand().setDurability((short)(player.getInventory().getItemInMainHand().getDurability() + 1));
- }
- }
- } else {
- Energy.setEnergy(player, 0.0f);
- Energy.cooldown.put(player.getName(), System.currentTimeMillis());
- player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW_DIGGING, 40, 5), true);
- player.playSound(player.getLocation(), Sound.ENTITY_WOLF_PANT, 10.0f, 1.5f);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement