Example usage for net.minecraftforge.event.entity.living EnderTeleportEvent getAttackDamage

List of usage examples for net.minecraftforge.event.entity.living EnderTeleportEvent getAttackDamage

Introduction

In this page you can find the example usage for net.minecraftforge.event.entity.living EnderTeleportEvent getAttackDamage.

Prototype

public float getAttackDamage() 

Source Link

Usage

From source file:com.github.liachmodded.uhcreloaded.forge.rule.CancelEnderPearlDamage.java

License:Open Source License

@SubscribeEvent(priority = EventPriority.HIGH)
public void onPlayerUseEnderPearl(EnderTeleportEvent event) {
    if (event.getAttackDamage() > 0.0F) {
        event.setAttackDamage(0.0F);/*from   w  w  w .  ja  va 2  s  . co  m*/
    }
}

From source file:vazkii.quark.misc.entity.EntityArrowEnder.java

License:Creative Commons License

@Override
protected void onHit(RayTraceResult raytraceResultIn) {
    super.onHit(raytraceResultIn);

    if (shootingEntity != null) {
        if (shootingEntity instanceof EntityPlayerMP) {
            EntityPlayerMP entityplayermp = (EntityPlayerMP) shootingEntity;

            if (entityplayermp.connection.getNetworkManager().isChannelOpen()
                    && entityplayermp.getEntityWorld() == getEntityWorld()
                    && !entityplayermp.isPlayerSleeping()) {
                EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, posX, posY, posZ, 5.0F);
                if (!MinecraftForge.EVENT_BUS.post(event) && rand.nextFloat() < 0.025F
                        && getEntityWorld().getGameRules().getBoolean("doMobSpawning")) {
                    EntityEndermite entityendermite = new EntityEndermite(getEntityWorld());
                    entityendermite.setSpawnedByPlayer(true);
                    entityendermite.setLocationAndAngles(shootingEntity.posX, shootingEntity.posY,
                            shootingEntity.posZ, shootingEntity.rotationYaw, shootingEntity.rotationPitch);
                    getEntityWorld().spawnEntity(entityendermite);
                }//from ww w .j  a  v  a 2s .co m

                if (shootingEntity.isRiding())
                    shootingEntity.dismountRidingEntity();

                shootingEntity.setPositionAndUpdate(event.getTargetX(), event.getTargetY(), event.getTargetZ());
                shootingEntity.fallDistance = 0.0F;
                shootingEntity.attackEntityFrom(DamageSource.FALL, event.getAttackDamage());
            }
        } else {
            shootingEntity.setPositionAndUpdate(this.posX, this.posY, this.posZ);
            shootingEntity.fallDistance = 0.0F;
        }

        // Full copypasta from EntityEnderPearl
        for (int i = 0; i < 32; ++i)
            this.getEntityWorld().spawnParticle(EnumParticleTypes.PORTAL, this.posX,
                    this.posY + this.rand.nextDouble() * 2.0D, this.posZ, this.rand.nextGaussian(), 0.0D,
                    this.rand.nextGaussian(), new int[0]);

        setDead();
    }
}

From source file:vazkii.quark.world.entity.arrow.EntityArrowEnder.java

License:Creative Commons License

@Override
protected void onHit(RayTraceResult raytraceResultIn) {
    super.onHit(raytraceResultIn);

    if (shootingEntity != null) {
        if (shootingEntity instanceof EntityPlayerMP) {
            EntityPlayerMP entityplayermp = (EntityPlayerMP) shootingEntity;

            if (entityplayermp.connection.getNetworkManager().isChannelOpen()
                    && entityplayermp.worldObj == worldObj && !entityplayermp.isPlayerSleeping()) {
                EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, posX, posY, posZ, 5.0F);
                if (!MinecraftForge.EVENT_BUS.post(event) && rand.nextFloat() < 0.025F
                        && worldObj.getGameRules().getBoolean("doMobSpawning")) {
                    EntityEndermite entityendermite = new EntityEndermite(worldObj);
                    entityendermite.setSpawnedByPlayer(true);
                    entityendermite.setLocationAndAngles(shootingEntity.posX, shootingEntity.posY,
                            shootingEntity.posZ, shootingEntity.rotationYaw, shootingEntity.rotationPitch);
                    worldObj.spawnEntityInWorld(entityendermite);
                }/* w w  w . jav  a  2  s.com*/

                if (shootingEntity.isRiding())
                    shootingEntity.dismountRidingEntity();

                shootingEntity.setPositionAndUpdate(event.getTargetX(), event.getTargetY(), event.getTargetZ());
                shootingEntity.fallDistance = 0.0F;
                shootingEntity.attackEntityFrom(DamageSource.fall, event.getAttackDamage());
            }
        } else {
            shootingEntity.setPositionAndUpdate(this.posX, this.posY, this.posZ);
            shootingEntity.fallDistance = 0.0F;
        }

        // Full copypasta from EntityEnderPearl
        for (int i = 0; i < 32; ++i)
            this.worldObj.spawnParticle(EnumParticleTypes.PORTAL, this.posX,
                    this.posY + this.rand.nextDouble() * 2.0D, this.posZ, this.rand.nextGaussian(), 0.0D,
                    this.rand.nextGaussian(), new int[0]);

        setDead();
    }
}