Commits

md_5 authored fd2bd5e436b
SPIGOT-8016: Use correct source entity for mace knockback event
No tags

nms-patches/net/minecraft/world/item/MaceItem.patch

Modified
13 13 private static final int DEFAULT_ATTACK_DAMAGE = 5;
14 14 @@ -144,7 +148,15 @@
15 15 Vec3D vec3d1 = vec3d.normalize().scale(d0);
16 16
17 17 if (d0 > 0.0D) {
18 18 - entityliving.push(vec3d1.x, 0.699999988079071D, vec3d1.z);
19 19 + // entityliving.push(vec3d1.x, 0.699999988079071D, vec3d1.z); // CraftBukkit - moved below
20 20 + // CraftBukkit start - EntityKnockbackEvent
21 21 + Vec3D vec3dPush = new Vec3D(vec3d1.x, 0.699999988079071D, vec3d1.z);
22 22 + Vec3D result = entity.getDeltaMovement().add(vec3dPush);
23 -+ 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);
23 ++ org.bukkit.event.entity.EntityKnockbackEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) entityliving.getBukkitEntity(), entity, org.bukkit.event.entity.EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK, d0, result, vec3dPush.x, vec3dPush.y, vec3dPush.z);
24 24 + if (!event.isCancelled()) {
25 25 + entityliving.push(CraftVector.toNMS(event.getFinalKnockback()));
26 26 + }
27 27 + // CraftBukkit end
28 28 if (entityliving instanceof EntityPlayer) {
29 29 EntityPlayer entityplayer = (EntityPlayer) entityliving;
30 30

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut