accepted, is just the first expected state, we also need to tell that the pack
was actually applied on the client in order to allow it to progress in the connection
process
* Document possible blank spaces in the command of the CommandExecuteEvent
* Added Javadocs warning about unimplemented methods in Velocity
* Improved KickedFromServerEvent documentation
* Fixed `apiNote` javadoc generation
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
* 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.
* Send LoginAcknowledged immediately
* Resend player list header/footer after backend server switched to config state
* Fix clearHeaderAndFooter not clearing fields in ConnectedPlayer
* Clear boss bars, header/footer, tab list when switching client to config state
* Send client settings in config state
I don't see where this was ever done, and don't see how plugin messaging
could of ever worked, at least within the confines of CB and co, given
the fact that we never seemed to be sending this to the backend?