From 99072710711c6ca72f5c9ad6bd211dc73a294b3e Mon Sep 17 00:00:00 2001 From: t00thpick1 Date: Thu, 30 Jan 2014 22:37:06 -0500 Subject: [PATCH] [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. --- src/main/java/net/minecraft/server/EntityArrow.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java index 51c3173f33..5887ee8f01 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -280,7 +280,7 @@ public class EntityArrow extends Entity implements IProjectile { this.d = movingobjectposition.b; this.e = movingobjectposition.c; 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.motX = (double) ((float) (movingobjectposition.pos.c - this.locX)); this.motY = (double) ((float) (movingobjectposition.pos.d - this.locY));