ClientboundSectionBlocksUpdatePacket serialization breaks after 2^19 block states
The serialization of ClientboundSectionBlocksUpdatePacket works only for first 2^19 (524288) registered block states. Currently it mostly effects heavily modded game instances, however once vanilla achieves that blockstate count (for 1.19.3-pre2, it's 23232) it will be also affected.
The cause of the issue is code bitshifting on an int type instead of a long, likely an mistake caused by implicit casting to log.
Decompiler output. The bitshift operations are performed on int returned by getId, then casted to long as a method parameter. Code for deserializing data is correct.

2022-11-27, 07:38 PM
2023-09-01, 10:32 PM
2022-12-08, 12:18 PM
5
6
1.19.2, 1.19.3 Pre-release 2, 1.19.3 Pre-release 3, 1.19.3 Release Candidate 1