List of usage examples for net.minecraftforge.event.world ExplosionEvent.Detonate getExplosion
public Explosion getExplosion()
From source file:de.sanandrew.mods.turretmod.event.ExplosionEventHandler.java
License:Creative Commons License
@SubscribeEvent public void onExplosion(ExplosionEvent.Detonate event) { float radius = event.getExplosion().size; AxisAlignedBB aabb = new AxisAlignedBB(-radius, -radius, -radius, radius, radius, radius).grow(24.0D) .offset(event.getExplosion().getPosition()); for (EntityLivingBase living : event.getWorld().getEntitiesWithinAABB(EntityLivingBase.class, aabb, CHK_ENTITY::test)) {//from w w w . j a va2s. co m ShieldHandler.onExplosion((ITurretInst) living, aabb, event.getAffectedBlocks(), event.getAffectedEntities()); } }
From source file:org.spongepowered.mod.event.SpongeForgeEventFactory.java
License:MIT License
@SuppressWarnings("unchecked") public static net.minecraftforge.event.world.ExplosionEvent.Detonate createExplosionDetonateEvent(Event event) { if (!(event instanceof ExplosionEvent.Detonate)) { throw new IllegalArgumentException("Event is not a valid ExplosionEvent.Detonate."); }//from w w w . jav a2 s .co m ExplosionEvent.Detonate spongeEvent = (ExplosionEvent.Detonate) event; Optional<World> world = spongeEvent.getCause().first(World.class); if (!world.isPresent()) { return null; } net.minecraft.world.World forgeWorld = (net.minecraft.world.World) world.get(); Explosion explosion = (Explosion) spongeEvent.getExplosion(); net.minecraftforge.event.world.ExplosionEvent.Detonate forgeEvent = new net.minecraftforge.event.world.ExplosionEvent.Detonate( forgeWorld, explosion, (List<Entity>) (Object) spongeEvent.getEntities()); return forgeEvent; }
From source file:vazkii.botania.common.item.equipment.bauble.ItemGoddessCharm.java
License:Open Source License
@SubscribeEvent public static void onExplosion(ExplosionEvent.Detonate event) { Explosion e = event.getExplosion(); Vec3d vec = e.getPosition();// w w w . j ava 2 s . c om List<EntityPlayer> players = event.getWorld().getEntitiesWithinAABB(EntityPlayer.class, new AxisAlignedBB(vec.xCoord, vec.yCoord, vec.zCoord, vec.xCoord, vec.yCoord, vec.zCoord).expand(8, 8, 8)); for (EntityPlayer player : players) { IInventory inv = BaublesApi.getBaubles(player); ItemStack charm = inv.getStackInSlot(6); if (charm != null && charm.getItem() instanceof ItemGoddessCharm && ManaItemHandler.requestManaExact(charm, player, COST, true)) { event.getAffectedBlocks().clear(); return; } } }