aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0445-Expose-LivingEntity-hurt-direction.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0445-Expose-LivingEntity-hurt-direction.patch')
-rw-r--r--patches/server/0445-Expose-LivingEntity-hurt-direction.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/patches/server/0445-Expose-LivingEntity-hurt-direction.patch b/patches/server/0445-Expose-LivingEntity-hurt-direction.patch
new file mode 100644
index 0000000000..d0db144113
--- /dev/null
+++ b/patches/server/0445-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 cb89b020d93ac838843ec2cbad562326a1e4257b..513e6505706e64f9410fa190014976dc469793af 100644
+--- a/src/main/java/net/minecraft/world/entity/player/Player.java
++++ b/src/main/java/net/minecraft/world/entity/player/Player.java
+@@ -188,7 +188,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 6cda13df52ee4d56dd1d3c213307bfd38175584c..24aa891ffa9115c05439b06aece85df7a382b7c4 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 5e8225a6ae004795b4d44c4f88f262664f632589..0e0c65534a782ce8d73d38efd5e2c847f685fb89 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+@@ -999,4 +999,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
+ }