Paper/patches/api/0332-Add-player-health-update-API.patch

43 lines
1.8 KiB
Diff
Raw Normal View History

2021-12-04 15:10:57 +01:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: SamB440 <sam@islandearth.net>
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
2023-03-14 18:21:11 +01:00
index b834537b1fa7ee349d10fe1ac5aa7e7dca4e35f7..eca9b83ef932979517f9232def0a8c3eaf087d96 100644
2021-12-04 15:10:57 +01:00
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
2023-03-14 18:21:11 +01:00
@@ -1980,6 +1980,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
2021-12-04 15:10:57 +01:00
*/
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}.