changing tile entity (client side) and changing dimension quickly can cause save/changes to be ignored
Hey guys,
I'm a modder (dont worry im not here to talk about mods) and while looking through the vanilla code i found a bug concerning tile entity packet
here we go:
when changing a tile entity via menu (exemple: sign, command block etc) the client will send a Packet250CustomPayload. this packet will be received server side and will be processed thsi way:
the server will use the member variable EntityPlayerMP (remember that i don't have the non-obfuscated version) to use its reference to the World its currently in. it will use this world reference to get the tile entity at the coordinates packed in the packet.
the thing is, since you are using the world that the player is currently in at the moment of packet process. the world could possibly have change and the save would be ignore (by the line where it checks if the tile entity is null) its not a game breaking bug, it doesn't crash the game but i just wanted to let you guys know.
if you want to reproduce it, I suggest you put a sleep(int) before processing the packet, this will give you more then enough time to "save modification on a sign" and "quickly jump in a The End portal"
Cheers,
hydroflame
ps: i do hope that at least our class name are the same
EntityPlayerMP contains information about the entity of a player, server side
Tile Entities are those object that are used to store information on block state when metadata isnt enough
2013-06-21, 10:11 PM
2014-01-11, 10:27 PM
2014-01-11, 10:27 PM
0
3
-