@EventHandler(priority = EventPriority.HIGH) public void onExplosionPrime(ExplosionPrimeEvent event) { if (!ConfigEntry.ALLOW_EXPLOSIONS.getBoolean()) { event.setCancelled(true); return; } event.setRadius(ConfigEntry.EXPLOSIVE_RADIUS.getDouble().floatValue()); }
event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); return; event.setCancelled(true); return; || event.getEntityType() == EntityType.MINECART_TNT) { if (wcfg.blockTNTExplosions) { event.setCancelled(true); return;
/** * Deal with projectiles fired by entities * @param e - event */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onProjectileExplode(final ExplosionPrimeEvent e) { if (e.getEntity() instanceof Projectile && getIWM().inWorld(e.getEntity().getLocation())) { ProjectileSource source = ((Projectile)e.getEntity()).getShooter(); if (source instanceof Entity) { Entity shooter = (Entity)source; if (mobSpawnTracker.containsKey(shooter) && !mobSpawnTracker.get(shooter).onIsland(e.getEntity().getLocation())) { e.getEntity().remove(); e.setCancelled(true); } } } } }
/** * @param event */ @EventHandler(priority = EventPriority.HIGH) public void onExplosionPrime(ExplosionPrimeEvent event) { if (event.isCancelled()) { return; } if (plugin.getSettingsManager().isBlacklistedWorld(event.getEntity().getLocation().getWorld())) { return; } // prevent explosion if explosion protected if (plugin.getForceFieldManager().hasSourceField(event.getEntity().getLocation(), FieldFlag.PREVENT_EXPLOSIONS)) { event.setCancelled(true); } if (event.getEntity() instanceof Creeper) { if (plugin.getForceFieldManager().hasSourceField(event.getEntity().getLocation(), FieldFlag.PREVENT_CREEPER_EXPLOSIONS)) { event.setCancelled(true); } } if (event.getEntity() instanceof TNTPrimed) { if (plugin.getForceFieldManager().hasSourceField(event.getEntity().getLocation(), FieldFlag.PREVENT_TNT_EXPLOSIONS)) { event.setCancelled(true); } } }