mojira.dev
MC-211882

DataVersion doesn't correspond to the client version

The bug

When a player uses a 1.16.4 client to connect to a 1.16.5 server, that player's DataVersion value in their NBT is the server's data version, not the client's. Since a player's data version is tied to the player, it is logical for it to have the data version of the connecting client, not the world.

Steps to reproduce

  1. Fire up a 1.16.5 server that you had lying around

  2. Connect with a real 1.16.4 client

  3. Run data get entity @p DataVersion from the server console

Expected result

<player> has the following entity data: 2584
<player> has the following entity data: 2584

Actual result

<player> has the following entity data: 2586
<player> has the following entity data: 2586

Other info

Data versions:

1.16.4

1.16.5

2584

2586

Comments 4

Invalid/Works as Intended, the DataVersion is the save format version number, which the server decides, not the client.
That the data version of 1.16.5 servers is different from 1.16.4 is intended, and it's the server that decided how to save things.

Yes, I was thinking about that. It makes sense for the data version to be stored with the chunk data but in the player's NBT? And since Minecraft has no actual documentation to tell us what the purpose of specific NBT values are, I decided that I may as well make this report. (Even if it's likely going to be WAI)

Player NBT is still saved by the server, just like chunks and entities. The client has no say in that.

Good point. Thinking about it, client info isn't sent to the server AFAIK. This is turning into a feature request...

MMK21

(Unassigned)

Unconfirmed

(Unassigned)

commands, player

1.16.5

Retrieved