Also fixes the sending of SUCCESSFUL responses to the backend server that will apply a resource pack in case Velocity has already applied one or more resource packs to the player
* Update Adventure to 4.16.0
Also migrated shadow from `com.github.johnrengelman.shadow` to `io.github.goooler.shadow`, which fixes the project compilation using Java 21 and Gradle 8.6
* Update Gradle to 8.6 release
* 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 API changes required for adopting resource packs are still needed, however
the maven snapshots repo is dead, and nothing technically stops us from doing
this
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!