Jump to content

[1.7.10] Checking Bow enchantment & teleport player to arrow


Recommended Posts

Guest Abrynos
Posted

The title almost says everything: If the player shoots an arrow i want to test, if the bow has a specific enchantment & if the player is sneaking, i want to teleport the player to the arrow when it hits the ground.

 

Thanks in advance

Guest Abrynos
Posted

Here's my arrow: Already made it. But it gets through every block and teleports me into the void;

 

public class EntityEnderArrow extends EntityThrowable {

public EntityEnderArrow(World world){
	super(world);
}

public EntityEnderArrow(World world, EntityLivingBase entityliving){
	super(world, entityliving);
}

@SideOnly(Side.CLIENT)
public EntityEnderArrow(World world, double d1, double d2, double d3){
	super(world, d1, d2, d3);
}

@Override
public void onImpact(MovingObjectPosition pos){
	if(pos.entityHit != null){
		pos.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0.0F);
	}

	for(int i = 0; i < 32; ++i){
		this.worldObj.spawnParticle("portal", this.posX, this.posY + this.rand.nextDouble() * 2.0D, this.posZ, this.rand.nextGaussian(),  0.0D, this.rand.nextGaussian());
	}

	if(!this.worldObj.isRemote){
		if(this.getThrower() != null && this.getThrower() instanceof EntityPlayerMP){
			EntityPlayerMP player = (EntityPlayerMP)this.getThrower();

			if(player.playerNetServerHandler.func_147362_b().isChannelOpen() && player.worldObj == this.worldObj){
				EnderTeleportEvent event = new EnderTeleportEvent(player, this.posX, this.posY, this.posZ, 5.0F);
				if(!MinecraftForge.EVENT_BUS.post(event)){
					if(this.getThrower().isRiding()){
						this.getThrower().mountEntity((Entity)null);
					}

					this.getThrower().setPositionAndUpdate(event.targetX, event.targetY, event.targetZ);
					this.getThrower().fallDistance = 0.0F;
				}
			}
		}
	}
}
}

Guest Abrynos
Posted

ok i got it; i forgot the line

this.setDead();

 

But how do i check if the bow has the right enchantment and the player is sneaking and spawn it instead of the message?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.