aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0455-Expose-LivingEntity-hurt-direction.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0455-Expose-LivingEntity-hurt-direction.patch')
-rw-r--r--patches/server/0455-Expose-LivingEntity-hurt-direction.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/patches/server/0455-Expose-LivingEntity-hurt-direction.patch b/patches/server/0455-Expose-LivingEntity-hurt-direction.patch
new file mode 100644
index 0000000000..f5a4f368a5
--- /dev/null
+++ b/patches/server/0455-Expose-LivingEntity-hurt-direction.patch
@@ -0,0 +1,58 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Mark Vainomaa <[email protected]>
+Date: Sun, 13 Dec 2020 05:32:05 +0200
+Subject: [PATCH] Expose LivingEntity hurt direction
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
+index 8981d314a30c23d3b13087dd9c20216f57f1630d..2a2683d21d7bae023a93db422ab0aebf72ca56cb 100644
+--- a/src/main/java/net/minecraft/world/entity/player/Player.java
++++ b/src/main/java/net/minecraft/world/entity/player/Player.java
+@@ -187,7 +187,7 @@ public abstract class Player extends LivingEntity {
+ private Optional<GlobalPos> lastDeathLocation;
+ @Nullable
+ public FishingHook fishing;
+- protected float hurtDir;
++ public float hurtDir; // Paper - protected -> public
+ @Nullable
+ public Vec3 currentImpulseImpactPos;
+ @Nullable
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+index 9393e9d21fcc41cb0f20b98d9f28c95b0e523f62..796945fb1a8b43987ed9f01375113b2c13ff67c0 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+@@ -125,6 +125,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
+ }
+ }
+
++ // Paper start
++ @Override
++ public void setHurtDirection(float hurtDirection) {
++ this.getHandle().hurtDir = hurtDirection;
++ }
++ // Paper end
++
+ @Override
+ public int getSleepTicks() {
+ return this.getHandle().sleepCounter;
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+index 7158f88e90c624b7ed3345ad7fb47745d4491d88..b88077ac1ed99057b8a9361ea550cd2b00040f88 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+@@ -991,4 +991,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+ this.getHandle().take(((CraftItem) item).getHandle(), quantity);
+ }
+ // Paper end - pickup animation API
++
++ // Paper start - hurt direction API
++ @Override
++ public float getHurtDirection() {
++ return this.getHandle().getHurtDir();
++ }
++
++ @Override
++ public void setHurtDirection(final float hurtDirection) {
++ throw new UnsupportedOperationException("Cannot set the hurt direction on a non player");
++ }
++ // Paper end - hurt direction API
+ }