summaryrefslogtreecommitdiffstats
path: root/nms-patches
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches')
-rw-r--r--nms-patches/DamageSource.patch21
-rw-r--r--nms-patches/EntityHuman.patch2
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);
+ }