Commit Graph

492 Commits

Author SHA1 Message Date
9149ed3384 Update adventure javadoc link (#956) 2023-02-25 15:20:41 +00:00
d733e88677 Add getEntry to TabList.java 2023-02-20 10:11:33 -05:00
8761d02def feat: Implement RegisteredServer#ping(PingOptions) (#938) 2023-01-26 00:33:07 -05:00
697d08baa4 Fix annotation processor (#919) 2023-01-02 08:23:56 -05:00
3768e66e86 Also use Spotless to remove unused imports 2023-01-01 18:52:11 -05:00
b0862d2d16 Use Spotless for license formatting 2023-01-01 18:46:33 -05:00
d72d707b1c Convert Velocity buildscripts to Kotlin DSL (#918)
Spiritually indebted to #518 and @alexstaeding.

There's a minor break - we're going up to 3.2.0-SNAPSHOT as the API now compiles against Java 11. But this is more academic in practice.
2023-01-01 17:53:37 -05:00
8deb0ff70d [ci skip] fix URL derp 2022-12-10 00:45:04 +00:00
c932ee5e25 [ci skip] Update guava javadoc link 2022-12-10 00:43:32 +00:00
97770cd1a6 Reduce Spam from the TabList by not sending every package multiple times (#902)
* Reduce Spam from the TabList by not sending every package multiple times

VelocityTabList#processUpsert called entry.setX which will create a package and send it to the client.
BackendPlaySessionHandler doesn't return true for those packages, therefore the package for tab list updates will be send two times.

* Cleanup TabList#buildEntry, added listed status to Entry builder
2022-12-09 13:40:30 -05:00
b1fa9dc953 Remove snapshot version 2022-12-07 14:18:29 +01:00
b504e0857c Update to 1.19.3-rc3 (#893) 2022-12-07 14:12:48 +01:00
7d77bfb53c Update select dependencies 2022-09-21 00:48:21 -04:00
048fd90359 Improving incorrect namespace/name error (#839)
* Improving incorrect namespace/name error

* Update MinecraftChannelIdentifier.java
2022-08-17 00:54:16 -04:00
fbde1ff82a Implement Documented javadoc annotation on AwaitingEvent (#837) 2022-08-14 17:16:42 -04:00
fee292bcc9 Clarify that plugin IDs must be lowercase (#820) 2022-08-06 11:34:39 -04:00
8a63df2ace Add version information for 1.19.2 (#823)
https://minecraft.fandom.com/wiki/Protocol_version#Java_Edition_2
2022-08-05 12:01:50 -04:00
1a3fba4250 Update to 1.19.1 (#772)
* 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>
2022-07-30 19:30:03 -04:00
662fbc4e3c Implement the ServerData packet by firing ProxyPingEvent (#771)
* 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
2022-06-23 23:59:13 -04:00
86c65f3910 adding equals and hashcode in ClientSettings, ClientSettingsWrapper and SkinParts (#765)
* adding equals and hashcode in ClientSettings, ClientSettingsWrapper and SkinParts

* fixing format
2022-06-22 23:37:38 -04:00
93df65fdfb Update Gson
Resolves #763
2022-06-22 22:25:30 -04:00
1a1391a519 Tablist-changes for 1.19 (#761)
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.
2022-06-19 18:19:32 +02:00
e45ca5f357 Improved Scheduler API (#696)
* 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
2022-06-09 03:27:06 -04:00
d97ed956a7 Update/1.19 (#726)
Co-authored-by: FivePB <admin@fivepb.me>
2022-06-07 21:00:24 -04:00
3ae93875b8 fix missing server info in some events when kicked from current server (#703) 2022-05-08 23:08:50 -04:00
acc407a6d5 Added ability to customize translations (#692)
* 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
2022-04-16 00:38:44 -04:00
44dc2e7ca0 Fix implements in class ResponseResult (#675)
Fixed inheritance of interface on ResultedEvent.Result in ResponseResult class
2022-04-03 17:43:32 -04:00
8214fe30fe Specify the unit for getPing to milliseconds. (#676) 2022-04-03 15:29:34 -04:00
9fc4341f40 Replacement of some deprecated method (#672)
- PlainComponentSerializer -> PlainTextComponentSerializer
- BinaryTagHolder#of -> BinaryTagHolder#binaryTagHolder
2022-03-31 22:09:44 -04:00
897f278986 Update Adventure and include MiniMessage in API 2022-03-01 12:50:50 -07:00
2fe50bedc5 1.18.2 support 2022-02-28 14:27:57 +00:00
596d4758ba Implement resource pack send event. (#625) 2022-02-01 23:30:45 -05:00
058014aa75 Better document how to use the login plugin message API 2021-12-23 15:44:19 -05:00
8c39d9a1e4 Document every event Velocity will await on. 2021-12-23 02:52:56 -05:00
b54dd757bb add version information for 1.18.1 (#609) 2021-12-10 15:03:53 -05:00
30dd2ed380 Merge 1.18 Update
Merge pull request #577 from Xernium/future/1.18: [Future] Support for Minecraft 1.18
2021-11-25 19:24:39 +01:00
7ed4f4c03a Add new ClientSettings API
Add the new API introducted with the ClientSettings packet changes in 1.18
2021-11-25 17:04:10 +01:00
7cc40f8fea Ready for 1.18 release 2021-11-23 21:59:36 +01:00
b5cad80cfc Snapshot 1.18-pre6 2021-11-22 19:41:07 +01:00
830fb6a561 Snapshot 1.18-pre5 2021-11-22 13:44:30 +01:00
2dfc7ffbf2 1.18-pre4 2021-11-17 14:37:08 -05:00
9bf82c52fd Minecraft 1.18-pre2 2021-11-16 22:06:09 -05:00
5af53f2d77 Snapshot 1.18-pre1 2021-11-12 10:56:29 +01:00
315ff265c6 Snapshot 21w44a 2021-11-12 10:53:26 +01:00
111d14c3fb Introduce VelocityBrigadierMessage (#588) 2021-11-02 16:20:15 -04:00
0b0c36dcfc Correct command meta alias removal behavior and add appropriate unit tests.
Apparently @hugmanrique caught the issue but suggested the wrong fix. This is the correct fix, and respects the Javadoc.
2021-10-31 19:05:21 -04:00
cb8781b3c9 Add support for sending and receiving login plugin messages from players and servers (#587) 2021-10-31 16:27:03 -04:00
922c001b59 Expose CommandMeta in CommandManager and add a ref to the plugin instance (#544) 2021-10-31 16:23:35 -04:00
9f82af7d31 Minecraft 21w43a 2021-10-28 08:47:40 -04:00
f4dc9ca70e Minecraft 21w42a 2021-10-26 17:39:14 -04:00