1 + | --- a/net/minecraft/world/item/MaceItem.java |
2 + | +++ b/net/minecraft/world/item/MaceItem.java |
3 + | @@ -144,7 +144,15 @@ |
4 + | Vec3D vec3d1 = vec3d.normalize().scale(d0); |
5 + | |
6 + | if (d0 > 0.0D) { |
7 + | - entityliving.push(vec3d1.x, 0.699999988079071D, vec3d1.z); |
8 + | + // entityliving.push(vec3d1.x, 0.699999988079071D, vec3d1.z); // CraftBukkit - moved below |
9 + | + // CraftBukkit start - EntityKnockbackEvent |
10 + | + Vec3D vec3dPush = new Vec3D(vec3d1.x, 0.699999988079071D, vec3d1.z); |
11 + | + Vec3D result = entity.getDeltaMovement().add(vec3dPush); |
12 + | + org.bukkit.event.entity.EntityKnockbackEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) entityliving.getBukkitEntity(), entity1, org.bukkit.event.entity.EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK, d0, result, vec3dPush.x, vec3dPush.y, vec3dPush.z); |
13 + | + if (!event.isCancelled()) { |
14 + | + entityliving.push(new Vec3D(event.getFinalKnockback().getX(), event.getFinalKnockback().getY(), event.getFinalKnockback().getZ())); |
15 + | + } |
16 + | + // CraftBukkit end |
17 + | if (entityliving instanceof EntityPlayer) { |
18 + | EntityPlayer entityplayer = (EntityPlayer) entityliving; |
19 + | |