f79c0daece
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 5c21a63f PR-717: Add PlayerHideEntityEvent and PlayerShowEntityEvent CraftBukkit Changes: c26a7b54d PR-1000: Add PlayerHideEntityEvent and PlayerShowEntityEvent
40 Zeilen
1.9 KiB
Diff
40 Zeilen
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: SamB440 <sam@islandearth.net>
|
|
Date: Wed, 17 Nov 2021 12:31:42 +0000
|
|
Subject: [PATCH] Add player health update API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
index fb1c83d0487cac6df8768ac635d13636ec97cb53..a18d65cd9c3e9ecf812d02997f3cae481572afd1 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -2041,9 +2041,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
this.getHandle().maxHealthCache = getMaxHealth();
|
|
}
|
|
|
|
- public void sendHealthUpdate() {
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public void sendHealthUpdate(final double health, final int foodLevel, final float saturationLevel) {
|
|
// Paper start - cancellable death event
|
|
- ClientboundSetHealthPacket packet = new ClientboundSetHealthPacket(this.getScaledHealth(), this.getHandle().getFoodData().getFoodLevel(), this.getHandle().getFoodData().getSaturationLevel());
|
|
+ ClientboundSetHealthPacket packet = new ClientboundSetHealthPacket((float) health, foodLevel, saturationLevel);
|
|
if (this.getHandle().queueHealthUpdatePacket) {
|
|
this.getHandle().queuedHealthUpdatePacket = packet;
|
|
} else {
|
|
@@ -2051,7 +2053,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
}
|
|
// Paper end
|
|
}
|
|
-
|
|
+
|
|
+ @Override
|
|
+ public void sendHealthUpdate() {
|
|
+ this.sendHealthUpdate(this.getScaledHealth(), this.getHandle().getFoodData().getFoodLevel(), this.getHandle().getFoodData().getSaturationLevel());
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
|
|
if (!this.scaledHealth && !force) {
|
|
return;
|