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

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

Introduction

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

Prototype

public double getTargetZ() 

Source Link

Usage

From source file:com.lothrazar.cyclicmagic.module.tweaks.MountedTweaksModule.java

License:Open Source License

@SubscribeEvent
public void onEnderTeleportEvent(EnderTeleportEvent event) {
    if (mountedPearl) {
        Entity rider = event.getEntity();
        if (rider != null && rider instanceof EntityPlayer && rider.getRidingEntity() != null) {
            EntityPlayer playerRider = (EntityPlayer) rider;
            Entity maybeHorse = playerRider.getRidingEntity();
            //take the players horse and set its position to the target
            event.getEntity().getRidingEntity().setPositionAndUpdate(event.getTargetX(), event.getTargetY(),
                    event.getTargetZ());
            playerRider.getEntityData().setInteger(KEY_MOUNTENTITY, maybeHorse.getEntityId());
        }//  w w  w . j a v a2  s.  c om
    }
}

From source file:com.lothrazar.cyclicmagic.util.UtilEntity.java

License:Open Source License

/**
 * /*from w  ww .  j a  v a 2  s .  c o  m*/
 * @return true if teleport was a success
 */
public static boolean enderTeleportEvent(EntityLivingBase player, World world, double x, double y, double z) {
    EnderTeleportEvent event = new EnderTeleportEvent(player, x, y, z, 0);
    boolean wasCancelled = MinecraftForge.EVENT_BUS.post(event);
    if (wasCancelled == false) {
        //new target? maybe, maybe not. https://github.com/PrinceOfAmber/Cyclic/issues/438
        UtilEntity.teleportWallSafe(player, world, event.getTargetX(), event.getTargetY(), event.getTargetZ());
    }
    return !wasCancelled;
}

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);
                }//ww  w .  j av  a 2 s  .  c  o  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);
                }//from  w w w  .  j av a2  s  . c  om

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