Expected behavior
The chunk to generate/load without issues.
Observed/Actual behavior
Chunk system error when generating the chunk: https://pastes.dev/H3ujZPDylz
Steps/models to reproduce
-
Download and add the attached datapack. It generates a world full of structures with a camel with LastPoseChange of less than 0: cameeelll.zip
-
Start the server.
-
Server will crash as soon as it tries to generate the structure.
Plugin and Datapack List
Not relevant.
Paper version
Not relevant.
Other
When a camel is loaded and readAdditionalSaveData is called, it will always set the pose if the value of LastPoseChange is zero or less. A camel being loaded as part of a structure, for example in desert village, will lead to that logic being called off the main thread. Because the EntityPoseChangeEvent can only be called on the main thread, an exception will be thrown leading to a chunk system error that in turn leads to a crash.
In theory the same issue should occur if a camel is loaded again and not as part of worldgen.
Expected behavior
The chunk to generate/load without issues.
Observed/Actual behavior
Chunk system error when generating the chunk: https://pastes.dev/H3ujZPDylz
Steps/models to reproduce
Download and add the attached datapack. It generates a world full of structures with a camel with
LastPoseChangeof less than 0: cameeelll.zipStart the server.
Server will crash as soon as it tries to generate the structure.
Plugin and Datapack List
Not relevant.
Paper version
Not relevant.
Other
When a camel is loaded and readAdditionalSaveData is called, it will always set the pose if the value of
LastPoseChangeis zero or less. A camel being loaded as part of a structure, for example in desert village, will lead to that logic being called off the main thread. Because the EntityPoseChangeEvent can only be called on the main thread, an exception will be thrown leading to a chunk system error that in turn leads to a crash.In theory the same issue should occur if a camel is loaded again and not as part of worldgen.