diff options
Diffstat (limited to 'nms-patches')
-rw-r--r-- | nms-patches/DamageSource.patch | 21 | ||||
-rw-r--r-- | nms-patches/EntityHuman.patch | 2 |
2 files changed, 22 insertions, 1 deletions
diff --git a/nms-patches/DamageSource.patch b/nms-patches/DamageSource.patch new file mode 100644 index 00000000..ac9ca78e --- /dev/null +++ b/nms-patches/DamageSource.patch @@ -0,0 +1,21 @@ +--- a/net/minecraft/server/DamageSource.java ++++ b/net/minecraft/server/DamageSource.java +@@ -34,6 +34,18 @@ + private boolean C; + private boolean D; + public String translationIndex; ++ // CraftBukkit start ++ private boolean sweep; ++ ++ public boolean isSweep() { ++ return sweep; ++ } ++ ++ public DamageSource sweep() { ++ this.sweep = true; ++ return this; ++ } ++ // CraftBukkit end + + public static DamageSource mobAttack(EntityLiving entityliving) { + return new EntityDamageSource("mob", entityliving); diff --git a/nms-patches/EntityHuman.patch b/nms-patches/EntityHuman.patch index fce5fd79..7bc17380 100644 --- a/nms-patches/EntityHuman.patch +++ b/nms-patches/EntityHuman.patch @@ -279,7 +279,7 @@ if (entityliving != this && entityliving != entity && !this.r(entityliving) && this.h(entityliving) < 9.0D) { + // CraftBukkit start - Only apply knockback if the damage hits -+ if (entityliving.damageEntity(DamageSource.playerAttack(this), f4)) { ++ if (entityliving.damageEntity(DamageSource.playerAttack(this).sweep(), f4)) { entityliving.a(this, 0.4F, (double) MathHelper.sin(this.yaw * 0.017453292F), (double) (-MathHelper.cos(this.yaw * 0.017453292F))); - entityliving.damageEntity(DamageSource.playerAttack(this), f4); + } |