Example usage for net.minecraftforge.event.world ExplosionEvent.Detonate getExplosion

List of usage examples for net.minecraftforge.event.world ExplosionEvent.Detonate getExplosion

Introduction

In this page you can find the example usage for net.minecraftforge.event.world ExplosionEvent.Detonate getExplosion.

Prototype

public Explosion getExplosion() 

Source Link

Usage

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;
        }
    }
}