SHARE
TWEET

Untitled

a guest Apr 21st, 2017 57 in 28 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  @EventHandler
  2.     public void ArrowBreakGlassThree(ProjectileHitEvent ev) {      
  3.             if (!(ev.getHitEntity() instanceof Monster)) {
  4.                 if (!(ev.getHitEntity() instanceof Player)) {
  5.                     if (ev.getEntity() instanceof Arrow) {
  6.                         if(ev.getHitBlock().getType() == Material.THIN_GLASS) {
  7.                             Block block = ev.getHitBlock();
  8.                             block.breakNaturally();
  9.                             block.getWorld().playSound(block.getLocation(), Sound.BLOCK_GLASS_BREAK, 4, 0);
  10.                             block.getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, block.getLocation(), 9);
  11.                             block.getWorld().spawnParticle(Particle.CRIT_MAGIC, block.getLocation(), 15);
  12.                             block.getWorld().spawnParticle(Particle.BLOCK_DUST, block.getLocation(), 9);
  13.                             Arrow arrow = (Arrow) ev.getEntity();
  14.                             Entity e = ev.getEntity();
  15.                             arrow.remove();
  16.                             arrow.setShooter((ProjectileSource) e);
  17.                             block.getWorld().spawnArrow(arrow.getLocation(), arrow.getVelocity().multiply(4), 1 ,1).setPickupStatus(Arrow.PickupStatus.ALLOWED);
  18.                                  BukkitRunnable run = new BukkitRunnable() {                
  19.                                      public void run() {
  20.                                          block.setType(Material.THIN_GLASS);      
  21.                                      }
  22.                                  };
  23.                                  run.runTaskLater(this, 200);            
  24.                             }
  25.                     }
  26.                     else
  27.                         if (ev.getEntity() instanceof SpectralArrow) {
  28.                             if(ev.getHitBlock().getType() == Material.THIN_GLASS) {
  29.                                 Block block = ev.getHitBlock();
  30.                                 block.breakNaturally();
  31.                                 block.getWorld().playSound(block.getLocation(), Sound.BLOCK_GLASS_BREAK, 4, 0);
  32.                                 block.getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, block.getLocation(), 9);
  33.                                 block.getWorld().spawnParticle(Particle.CRIT_MAGIC, block.getLocation(), 15);
  34.                                 block.getWorld().spawnParticle(Particle.BLOCK_DUST, block.getLocation(), 9);
  35.                                 Arrow arrow = (Arrow) ev.getEntity();
  36.                                 Entity e = ev.getEntity();
  37.                                 arrow.remove();
  38.                                 arrow.setShooter((ProjectileSource) e);
  39.                                 block.getWorld().spawnArrow(arrow.getLocation(), arrow.getVelocity().multiply(4), 1 ,1).setPickupStatus(Arrow.PickupStatus.ALLOWED);
  40.                                      BukkitRunnable run = new BukkitRunnable() {                
  41.                                          public void run() {
  42.                                              block.setType(Material.THIN_GLASS);      
  43.                                          }
  44.                                      };
  45.                                      run.runTaskLater(this, 200);            
  46.                                 }
  47.                         }
  48.                         }
  49.                     }
  50.                 }
RAW Paste Data
Top