Read PlayerListItem display names according to the protocol version.
Fixes #349
This commit is contained in:
@@ -58,7 +58,7 @@ public class PlayerListItem implements MinecraftPacket {
|
|||||||
item.setProperties(ProtocolUtils.readProperties(buf));
|
item.setProperties(ProtocolUtils.readProperties(buf));
|
||||||
item.setGameMode(ProtocolUtils.readVarInt(buf));
|
item.setGameMode(ProtocolUtils.readVarInt(buf));
|
||||||
item.setLatency(ProtocolUtils.readVarInt(buf));
|
item.setLatency(ProtocolUtils.readVarInt(buf));
|
||||||
item.setDisplayName(readOptionalComponent(buf));
|
item.setDisplayName(readOptionalComponent(buf, version));
|
||||||
break;
|
break;
|
||||||
case UPDATE_GAMEMODE:
|
case UPDATE_GAMEMODE:
|
||||||
item.setGameMode(ProtocolUtils.readVarInt(buf));
|
item.setGameMode(ProtocolUtils.readVarInt(buf));
|
||||||
@@ -67,7 +67,7 @@ public class PlayerListItem implements MinecraftPacket {
|
|||||||
item.setLatency(ProtocolUtils.readVarInt(buf));
|
item.setLatency(ProtocolUtils.readVarInt(buf));
|
||||||
break;
|
break;
|
||||||
case UPDATE_DISPLAY_NAME:
|
case UPDATE_DISPLAY_NAME:
|
||||||
item.setDisplayName(readOptionalComponent(buf));
|
item.setDisplayName(readOptionalComponent(buf, version));
|
||||||
break;
|
break;
|
||||||
case REMOVE_PLAYER:
|
case REMOVE_PLAYER:
|
||||||
//Do nothing, all that is needed is the uuid
|
//Do nothing, all that is needed is the uuid
|
||||||
@@ -85,9 +85,10 @@ public class PlayerListItem implements MinecraftPacket {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static @Nullable Component readOptionalComponent(ByteBuf buf) {
|
private static @Nullable Component readOptionalComponent(ByteBuf buf, ProtocolVersion version) {
|
||||||
if (buf.readBoolean()) {
|
if (buf.readBoolean()) {
|
||||||
return GsonComponentSerializer.gson().deserialize(ProtocolUtils.readString(buf));
|
return ProtocolUtils.getJsonChatSerializer(version)
|
||||||
|
.deserialize(ProtocolUtils.readString(buf));
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user