Java Edition includes the bed color in the namespaced ID; in Bedrock edition it's one of the tag values as a block entity. This code involves creating a table between block states and bed color numbers and looking that up on chunk load or block update.
This was caused because the max int size is 2,147,483,647, which is what Minecraft: Bedrock Edition uses in the time packet. In Minecraft: Java Edition, a long is used which has a max length of 9,223,372,036,854,775,807, thus causing the sky to bug out.
This commit uses the modulus operator with the max time value per-day of 24,000 to retrieve the remainder.
The normal identity UUID caused problems and caused the bedrock client to crash when using Floodgate. This was likely because on bedrock edition, it's a version 3 UUID opposed to java edition which uses version 4.
Due to java doubles being somewhat more "precise" and bedrock positions being sent in floats instead, this caused bedrock players to get stuck in blocks when jumping or running near them in a certain way, thus causing the server to try and correct their position, potentially flagging anticheats and causing the server to print a "moved wrongly" message in console.
See: https://stackoverflow.com/questions/322749/retain-precision-with-double-in-java
This should fix the bug where you can "climb" up blocks. Although this doesn't fix the random spasm the client gets, it should prevent players from climbing up blocks (and getting stuck in them), thus preventing anticheats from going crazy.
This has nothing to do with the bug where players can "climb" up blocks, but rather disabling this feature disables the ability to climb up vines and ladders. This commit reverts that.