diff options
author | md_5 <git@md-5.net> | 2018-02-12 08:59:32 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2018-02-12 08:59:32 +1100 |
commit | 8bb4f6ccc150ed89eb522571ed643ad84765ca91 (patch) | |
tree | 4b61c36e702129ff5059ff62eb57c2e4531fb554 /src/main | |
parent | 49ecc7c7a28bf0074690ce2f1a02232b7fb2385b (diff) | |
download | craftbukkit-8bb4f6ccc150ed89eb522571ed643ad84765ca91.tar craftbukkit-8bb4f6ccc150ed89eb522571ed643ad84765ca91.tar.gz craftbukkit-8bb4f6ccc150ed89eb522571ed643ad84765ca91.tar.lz craftbukkit-8bb4f6ccc150ed89eb522571ed643ad84765ca91.tar.xz craftbukkit-8bb4f6ccc150ed89eb522571ed643ad84765ca91.zip |
SPIGOT-3813: Player.setHealth not reliable in conjunction with attribute API
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 20059b94..1866d521 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1382,9 +1382,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { injectScaledMaxHealth(set, true); + // SPIGOT-3813: Attributes before health + if (getHandle().playerConnection != null) { + getHandle().playerConnection.sendPacket(new PacketPlayOutUpdateAttributes(getHandle().getId(), set)); + sendHealthUpdate(); + } getHandle().getDataWatcher().set(EntityLiving.HEALTH, (float) getScaledHealth()); - sendHealthUpdate(); - getHandle().playerConnection.sendPacket(new PacketPlayOutUpdateAttributes(getHandle().getId(), set)); getHandle().maxHealthCache = getMaxHealth(); } |