aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0450-Expose-LivingEntity-hurt-direction.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0450-Expose-LivingEntity-hurt-direction.patch')
-rw-r--r--patches/server/0450-Expose-LivingEntity-hurt-direction.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/patches/server/0450-Expose-LivingEntity-hurt-direction.patch b/patches/server/0450-Expose-LivingEntity-hurt-direction.patch
new file mode 100644
index 0000000000..32452b749b
--- /dev/null
+++ b/patches/server/0450-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 1d8aa3b3c3deba7d04dd115d1f0b70b078111f1e..5abd72b1a80967bd2502537978d8f5456075f357 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 671fb1d1bffd7cdffcb56193e0b4f08a0eda0682..aad17b34fedd7030939f3b834b313b7f79b69ce1 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+@@ -993,4 +993,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
+ }