[Bleeding] Store correct block type when hitting blocks. Fixes BUKKIT-5209

The block obtained and stored within the block object higher up does not
reflect the block at the location being hit, rather it is the air block
the arrow was previously in.  Thusly when the variable is used to check
if the arrow is still in the block, it fails.
This commit is contained in:
t00thpick1 2014-01-30 22:37:06 -05:00 committed by Nate Mortensen
parent e0da846352
commit 9907271071

View file

@ -280,7 +280,7 @@ public class EntityArrow extends Entity implements IProjectile {
this.d = movingobjectposition.b; this.d = movingobjectposition.b;
this.e = movingobjectposition.c; this.e = movingobjectposition.c;
this.f = movingobjectposition.d; this.f = movingobjectposition.d;
this.g = block; this.g = this.world.getType(d, e, f); // CraftBukkit - Get correct block for storage
this.h = this.world.getData(this.d, this.e, this.f); this.h = this.world.getData(this.d, this.e, this.f);
this.motX = (double) ((float) (movingobjectposition.pos.c - this.locX)); this.motX = (double) ((float) (movingobjectposition.pos.c - this.locX));
this.motY = (double) ((float) (movingobjectposition.pos.d - this.locY)); this.motY = (double) ((float) (movingobjectposition.pos.d - this.locY));