* 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?
We don't need to track this information since Velocity uses the JoinGame packet, which is about as good of a server rejoin mechanism we're likely to get in vanilla Minecraft.
This is part of preparatory work for Velocity 5.0.0's revamped event system, but this change is safe to bring into the 3.x.x series. This affects the scheduler for now, but command execution will also be moved into the per-plugin thread pool, along with invocations of `EventTask.async()`.