SPIGOT-7218: Player's outer layer of skin disappears after respawn

This commit is contained in:
md_5 2022-12-27 16:04:45 +11:00
parent ae8f5fc025
commit d67777f8ba
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -651,7 +651,7 @@
if (entityplayer != entityhuman && entityplayer.level.dimension() == resourcekey) { if (entityplayer != entityhuman && entityplayer.level.dimension() == resourcekey) {
double d4 = d0 - entityplayer.getX(); double d4 = d0 - entityplayer.getX();
double d5 = d1 - entityplayer.getY(); double d5 = d1 - entityplayer.getY();
@@ -754,23 +1042,34 @@ @@ -754,23 +1042,35 @@
public void reloadWhiteList() {} public void reloadWhiteList() {}
public void sendLevelInfo(EntityPlayer entityplayer, WorldServer worldserver) { public void sendLevelInfo(EntityPlayer entityplayer, WorldServer worldserver) {
@ -681,6 +681,7 @@
- entityplayer.resetSentInfo(); - entityplayer.resetSentInfo();
+ // entityplayer.resetSentInfo(); + // entityplayer.resetSentInfo();
+ entityplayer.getBukkitEntity().updateScaledHealth(); // CraftBukkit - Update scaled health on respawn and worldchange + entityplayer.getBukkitEntity().updateScaledHealth(); // CraftBukkit - Update scaled health on respawn and worldchange
+ entityplayer.getEntityData().refresh(entityplayer); // CraftBukkkit - SPIGOT-7218: sync metadata
entityplayer.connection.send(new PacketPlayOutHeldItemSlot(entityplayer.getInventory().selected)); entityplayer.connection.send(new PacketPlayOutHeldItemSlot(entityplayer.getInventory().selected));
+ // CraftBukkit start - from GameRules + // CraftBukkit start - from GameRules
+ int i = entityplayer.level.getGameRules().getBoolean(GameRules.RULE_REDUCEDDEBUGINFO) ? 22 : 23; + int i = entityplayer.level.getGameRules().getBoolean(GameRules.RULE_REDUCEDDEBUGINFO) ? 22 : 23;
@ -691,7 +692,7 @@
} }
public int getPlayerCount() { public int getPlayerCount() {
@@ -826,12 +1125,22 @@ @@ -826,12 +1126,22 @@
} }
public void removeAll() { public void removeAll() {
@ -716,7 +717,7 @@
public void broadcastSystemMessage(IChatBaseComponent ichatbasecomponent, boolean flag) { public void broadcastSystemMessage(IChatBaseComponent ichatbasecomponent, boolean flag) {
this.broadcastSystemMessage(ichatbasecomponent, (entityplayer) -> { this.broadcastSystemMessage(ichatbasecomponent, (entityplayer) -> {
return ichatbasecomponent; return ichatbasecomponent;
@@ -889,16 +1198,23 @@ @@ -889,16 +1199,23 @@
return playerchatmessage.hasSignature() && !playerchatmessage.hasExpiredServer(Instant.now()); return playerchatmessage.hasSignature() && !playerchatmessage.hasExpiredServer(Instant.now());
} }
@ -744,7 +745,7 @@
Path path = file2.toPath(); Path path = file2.toPath();
if (FileUtils.isPathNormalized(path) && FileUtils.isPathPortable(path) && path.startsWith(file.getPath()) && file2.isFile()) { if (FileUtils.isPathNormalized(path) && FileUtils.isPathPortable(path) && path.startsWith(file.getPath()) && file2.isFile()) {
@@ -907,7 +1223,7 @@ @@ -907,7 +1224,7 @@
} }
serverstatisticmanager = new ServerStatisticManager(this.server, file1); serverstatisticmanager = new ServerStatisticManager(this.server, file1);
@ -753,7 +754,7 @@
} }
return serverstatisticmanager; return serverstatisticmanager;
@@ -915,14 +1231,14 @@ @@ -915,14 +1232,14 @@
public AdvancementDataPlayer getPlayerAdvancements(EntityPlayer entityplayer) { public AdvancementDataPlayer getPlayerAdvancements(EntityPlayer entityplayer) {
UUID uuid = entityplayer.getUUID(); UUID uuid = entityplayer.getUUID();
@ -770,7 +771,7 @@
} }
advancementdataplayer.setPlayer(entityplayer); advancementdataplayer.setPlayer(entityplayer);
@@ -973,13 +1289,20 @@ @@ -973,13 +1290,20 @@
} }
public void reloadResources() { public void reloadResources() {