* Create a new HttpClient for each connection
If the instance is using Java 21, the HttpClient resources will be cleaned using its AutoCloseable interface
* Do not apply a resource pack that has already been applied
* Throw IllegalStateException in case of applying a resource pack already applied from the API
* Updated some dependencies
* Added support for ServerResourcePackSendEvent resource pack modification
* feature: Expose connecting player's UUID in the PreLoginEvent
* Applied suggestions
* Updated the javadocs compatible version to Java 17
---------
Co-authored-by: Adrian <adriangonzalesval@gmail.com>
* Ensure that we send a response to the correct server when in flight
* The rest of the codebase treats the hash as a String...
As does Mojang.
* Support sending the resource packet response to the in-process connection in the ModernResourcePackHandler
---------
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
* Initial ResourcePack refactor
* Implement sendResourcePacks method
* Initializes the ResourcePackHandler at player initialization
* Move adventure to velocity resource pack conversion to the same class
* Added some internal resource pack documentation
* Refactored Modern ResourcePack handling
* Handle RemoveResourcePackPacket from backend server
* Fixed license
* Use removeIf instead of manual iteration
* Improve ModernResourcePackHandler
* fix hash conversion
* bundle resource packs
* keep old constructors of PlayerResourcePackStatusEvent
* add @Nullable to PlayerResourcePackStatusEvent#getPackId
* Use a single instance of BundleDelimiterPacket
* Throw UnSupportedOperationException on operations not supported by LegacyResourcePackHandler
* Use a single instance on empty packets
* Handle active packet bundle sending from backend server in case of sending a packet bundle of resource packs
* Improve packet bundling
* Fixed login for players with version 1.20.2
---------
Co-authored-by: Gero <gecam59@gmail.com>
This commit fixes the sending of the client brand to the backend server and the execution of the PlayerClientBrandEvent from players with versions 1.20.2 or higher
* Refactor /velocity command to use Brigadier
* Added default usage message and code cleanup
* Reimplemented callback subcommand
* Fixed execution of the callback subcommand when all permissions of the main command subcommands are denied
* Migrated callback subcommand to its own command
* Migrated server command
* GList, Send and Server command cleanup
---------
Co-authored-by: Adrian <adriangonzalesval@gmail.com>
* Refactor bossbar implementation
* Move to adventure package
* Use AutoService instead of manual service declaration
---------
Co-authored-by: Adrian <adriangonzalesval@gmail.com>
The Minecraft Fandom wiki has been forked to a new domain: minecraft.wiki. Learn more here: https://minecraft.wiki/w/Minecraft_Wiki:Moving_from_Fandom. This PR updates all references accordingly.
Let me know if you want me to open this PR on other branches!
1.20.3+ has some additional options (EMIT_COMPACT_TEXT_COMPONENT,
EMIT_HOVER_SHOW_ENTITY_ID_AS_INT_ARRAY, VALIDATE_STRICT_EVENTS)
that should be disabled in older versions.
The OptionState is constructed manually due to
https://github.com/KyoriPowered/adventure/issues/1015,
which is a bug that makes JSONOptions.BY_DATA_VERSION
use incorrect options for 1.20.3+ options.
This also fixes incorrect building of the ping serializer, as
it should only use the component serializer to serialize
Component.class and nothing else.