Fabric API

Fabric API

106M Downloads

Registry sync in singleplayer cause concurrency issue

qouteall opened this issue ยท 0 comments

commented

It sends the registry sync packet even in singleplayer. When the registry sync packet gets handled, the block registry gets modified by the render thread. But the server thread also reads the block registry (for example the server thread reads block ids to create the chunk data packet). This creates a lot of random issues.
It may cause the client to receive incorrect chunk data packets or cause IndexOutOfBoundsException in ChunkDataS2CPacket constructor.
Fabric API should not send registry sync packet in singleplayer.