From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: SamB440 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. + *

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.

+ * 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. + *

Use after {@link #setHealth(double)} to show the heart animation + * of gaining or losing health.

+ */ + public void sendHealthUpdate(); + // Paper end + /** * Gets the entity which is followed by the camera when in * {@link GameMode#SPECTATOR}.