* Fix "pointers" for players never being used lol
* Added Platform Facet API to add Type pointers
* Remove duplicate
* Fix some connection things
* Make checkstyle happy?
* Implement chat queue for ordered chat.
* Update system to handle spoofed chat as well.
* Fix checkstyle erroring on bad indentation.
* Fix ChatQueue to use whenComplete instead of thenRun
* Merge upstream.
* Checkstyle
* Deny denied commands.
* 1.19.1-rc1
* More signature changes
* Further 1.19.1 changes
I also started on the checkstyle update, see the developers notes
for the rest I haven't gotten around to fixing yet.
* Fix checkstyle
* Checkstyle imports
* Fix logic error
* Changes 1.19.1-pre2
* 1.19-pre3
* Progress, some parts still WIP
* Overlooked changes
* Fix ServerData
* Fix ServerLogin send check
* Workaround the broken behavior of "No Chat Reports"
Note that if we ever choose to enforce chat signatures, then the mod will just break again... not our fault if we do that, you get what you pay for.
* more
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
Co-authored-by: Andrew Steinborn <git@steinborn.me>
* Implement the ServerData packet by firing ProxyPingEvent
Mojang introduced the enable-status server property with Minecraft 1.19, which if enabled causes servers to close the connection when a client tries to ping them. Mojang wants to show the MOTD and favicon on the server select screen for those who manage to log in, so we need to implement this packet as well.
The good news is that we can send this packet as many times as needed on the same connection
This matches the behavior of pinging the server. This is a minor, but completely backwards-compatible, API breakage: Player inherits from InboundConnection so we do not have to change ProxyPingEvent, however plugins not expecting a Player might get confused.
* typo
This change helps ensure player signatures are propagated correctly.
Signatures should never be removed, so to compensate for legacy plugins and for the
proxy api function we have to enforce this.
* Fixed possible IOException if path is a directory
* Removed File usage
* Catch possible NumberFormatException on invalid config version
!Files.exists -> Files.notExists
* add config support for using file as forwarding secret
* deprecate forwarding-secret and change default to forwarding-secret-file
* change forwarding-secret-file handling to a versioned system
* Improved Scheduler API
- Added `Scheduler#builder(plugin)`
This method allows a more simplified builder while maintaining the main requirement of the executor plugin
- Added `Scheduler#taskByPlugin(plugin)`
Allows to obtain the tasks that a plugin has sent to execute and that are currently active
- Added `TaskBuilder#task(Consumer<SchuledTask>)`
Allows to specify a task with access to the task itself with the ability to cancel itself
* Applied requested changes
- Removed tasks builder method
- Added `Scheduler#buildTask(plugin, Consumer<ScheduledTask>)`
* Removed some unused imports
* Applied suggested change
* Fix possible test bug
* Applied more suggested changes
* Fixed tests inside tasks
* Added ability to customize translations
* Removed remaining usage of `Paths#get`
As of java 11 its replacement `Path#of` was created, which is called when using `Paths#get`, besides, according to documentation, it mentions that it can be deprecated at any time
And fix a minor typo in LegacyChannelIdentifier
Specifically, the JoinGame packet handling is now split between pre-1.16 encodings of the packet and post-1.16 handlings of the packet. This packet is one of the most amorphous packets in the entire Minecraft protocol, from Velocity's perspective.
Sleeping in a test is considered bad form. Replace the delay with checks to ensure that threads are spawned appropriately and a new test to ensure that continuation threads do run before other listeners.
The first bug in #548 (and the only issue in #547) was a typo. The second bug was fixed by tracking "friends" of the event types, so we can invalidate everything as needed.