* Don't always store cert/client data used for skin uploaded
This takes up a decent 30K of memory that we don't use after the skin is uploaded. The GameProfileTranslator cannot be run more than once per session.
* Make all moon phases visible
The fix to prevent integer overflows also prevented moon phases from being visible until now.
Fixes#2927
* SetTimeTranslator: cast from long on the entire modulus
This should fix some inaccuracies with time on older worlds.
* Bump version; drop 1.17.40; support 1.18.30
* Actually bump to 2.0.3-SNAPSHOT
* Fix message being sent still if a single escape character is sent
* Replace instances of configs using `generateduuid` for Metrics
* Fix some merge mistakes
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
Because of Bedrock limitations, if a player has text background opacity enabled, they'll see an empty section where the title is usually displayed as the fake cooldown is shown. This commit minimizes the time that is shown by clearing the text as soon as possible. Reference issue: https://github.com/GeyserMC/Geyser/issues/1710
This commit also removes starting the fake cooldown process if the client switches to an inventory slot with the same Java ID.
A disconnect message will always be printed, but not more than once.
CLOSED_BY_REMOTE_PEER -> Bedrock client disconnected (hopefully slightly less vague)
If a message is sent from the server, the log will now indicate their disconnection reason.
This reduces computation processing needing, since Bedrock doesn't have any hover text ability. This also fixes a 1.8 bug where villager titles would not process correctly - by having a dummy serializer, a recent MCProtocolLib update would not stop the window packet from processing.
By default, there is a two-minute delay if you disconnect so you can authenticate your Microsoft account.
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
By simulating the exact processing that Java Edition does on the client-side, we can achieve full packet parity with Java when interacting with an entity.