aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0340-Add-player-health-update-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0340-Add-player-health-update-API.patch')
-rw-r--r--patches/api/0340-Add-player-health-update-API.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/patches/api/0340-Add-player-health-update-API.patch b/patches/api/0340-Add-player-health-update-API.patch
new file mode 100644
index 0000000000..83a3545f84
--- /dev/null
+++ b/patches/api/0340-Add-player-health-update-API.patch
@@ -0,0 +1,42 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: SamB440 <[email protected]>
+Date: Wed, 17 Nov 2021 12:30:36 +0000
+Subject: [PATCH] Add player health update API
+
+
+diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
+index 19d23f2995322e1710741b58e5c7bc2f3880fc0d..b5519cf329485a2ec72586e66a8a88617c09312e 100644
+--- a/src/main/java/org/bukkit/entity/Player.java
++++ b/src/main/java/org/bukkit/entity/Player.java
+@@ -1917,6 +1917,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ */
+ public double getHealthScale();
+
++ // Paper start
++ /**
++ * Forcefully sends a health update to the player.
++ * <p>This method can cause the client to display health values
++ * different to their true server values. If the player takes damage or
++ * causes an action to otherwise cause a health update, these values
++ * will no longer be shown.</p>
++ * Setting the visible health to 0 will result in the client seeing
++ * the death screen, unable to press the respawn button.
++ * @see #sendHealthUpdate()
++ * @param health the health of the player
++ * @param foodLevel the food level of the player
++ * @param saturationLevel the saturation level of the player
++ */
++ public void sendHealthUpdate(final double health, final int foodLevel, final float saturationLevel);
++
++ /**
++ * Forcefully sends a health update to the player.
++ * This uses the player's current health, saturation, and food level.
++ * <p>Use after {@link #setHealth(double)} to show the heart animation
++ * of gaining or losing health.</p>
++ */
++ public void sendHealthUpdate();
++ // Paper end
++
+ /**
+ * Gets the entity which is followed by the camera when in
+ * {@link GameMode#SPECTATOR}.