* Implement MiniMessage Velocity translations
* Implemented migration from old language format
* Updated year in default translations
* Fixed compilation
* Use MiniMessageTranslationStore
* Simplify MiniMessageTranslationsMigration#shouldMigrate
* Added support to named placeholders
* Updated translation arguments to MiniMessage translation placeholders
* Generate a new forwarding secret file if the file is deleted
This allows to generate a new forwarding secret simply by deleting the file if required.
The file will only be generated if the forwarding secret is not configured through a system property
resolves#1670
* Add file creation message
Recent Netty versions have improved the adaptive allocator, and we shouldn't be seeing the OOM issues others were noticing before. Let's re-enable it.
As for the buffer resizing issue, the upstream issue netty/netty#14912 is long fixed. I think we *should* pre-allocate the buffers beforehand much more aggressively, but that has to be future work.
No need to bounce around changing the writer index, we can just set the value directly.
Also pull out the handshake checks into a separate function, to improve inlining.
* Fix 1.20.2+ clients disconnecting when updating boss bars
On 1.20.2, the Minecraft client started clearing boss bars after the login packet, which meant that the ProxyServer#showBossbar API would result in the player getting kicked if the boss bar they were previously shown was updated after switching servers.
Therefore, I have added BossBarManager which drops boss bar packets once the client enters the configure phase to ensure that they do not disconnect, and then re-adds the boss bar once the client enters the login phase.
This ensures that clients do not receive boss bar updates for boss bars that they don't exist and causing them to disconnect. I have also taken care to ensure that this logic only applies on 1.20.2 and up, as it is not necessary for older clients.
---------
Co-authored-by: Adrian Gonzales <adriangonzalesval@gmail.com>