Commit Graph

527 Commits

Author SHA1 Message Date
409ab7b118 [ci skip] Add javadocs warnings about unsupported operations (#1250)
* 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
2024-02-23 14:11:42 -05:00
ef861819e3 Do not apply a resource pack that has already been applied (#1236)
* 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
2024-02-11 12:00:07 -05:00
d8bb4e97e4 Add API for custom chat completions like on Paper (#1232)
* Add API for custom chat completions like on Paper, renamed enum constant to match its function, NMS and wiki-vg

* add null and version checks
2024-02-09 16:23:16 -05:00
7bff6b19eb Use sealed types in command interfaces (#1239)
* Use sealed types in command interfaces

* Some minor code fixes
2024-02-09 14:15:53 -05:00
e1f3b6b66f Expose connecting player's UUID in the PreLoginEvent (#1009)
* 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>
2024-02-09 10:23:47 -05:00
cbd07b1434 Refactor ResourcePacks handling (#1225)
* 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>
2024-02-08 08:51:45 -05:00
10430a2115 Validate plugin dependency IDs in accordance to plugin ID requirements (#1231) 2024-02-07 21:30:55 -05:00
953ab6d8e7 Implement click callback provider (#1029) 2024-01-20 16:58:00 -05:00
523d750f2b Implement some missing resource pack API (#1206) 2024-01-20 10:11:05 +00:00
35137df76c Bump to adventure release
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
2024-01-19 15:26:31 +00:00
0993ce2f86 Improve protocol version checking (#1203)
* Improve protocol version checking

* chore: since 3.3.0
2024-01-18 17:32:42 -08:00
6fd03d6f5c Added static methods to create ArgumentBuilders directly in the BrigadierCommand class (#1161) 2023-12-27 13:33:44 -05:00
21ae82e7c0 Update adventure to snapshot version 2023-12-14 16:36:18 +00:00
98632925e1 javadoc for PlayerResourcePackStatusEvent.Status#isIntermediate 2023-12-14 14:20:16 +00:00
8bfe0670c4 1.20.4 2023-12-14 14:20:16 +00:00
058aee259a fix resource pack status 2023-12-14 14:20:16 +00:00
efcfeb3e53 1.20.3 working & checkstyle fixes 2023-12-14 14:20:16 +00:00
814b53f12c WIP 1.20.3 2023-12-14 14:20:16 +00:00
a6d90105ec Update Configurate to 4.1.2 and include Configurate 3 (#1157) 2023-12-11 15:16:44 +00:00
277be8f9a7 Bump SnakeYAML to the last 1.x version
Fixes #1047. We can't go any higher since that's an API-breaking change. In any event, this will likely disappear in 5.0.0 anyway, because Configurate 4.x now shades SnakeYAML internally.
2023-10-27 16:58:43 -04:00
3d20c3dd2d Migrate buildSrc plugins to build-logic 2023-10-27 16:03:15 -04:00
b33d18af2b Allow closing active proxy listeners (#1109) 2023-10-27 01:39:03 -04:00
b30802c1b3 API: Add Tristate#fromOptionalBoolean (#1125) 2023-10-26 03:01:24 -04:00
eb594fc799 Implement ComponentLogger (#1022) 2023-10-12 18:44:10 +01:00
1cc3f120ee Several improvements and fixes for 1.20.2 (#1097)
* 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
2023-10-12 11:11:47 +02:00
768ecdb0c3 1.20.2 Support (#1088)
Co-authored-by: RednedEpic <redned235@gmail.com>
Co-authored-by: Gero <gecam59@gmail.com>
2023-10-10 12:44:16 +00:00
2aaf702a2e [ci skip] Replaced weired i with i in javadocs (#1057)
In this little patch I replaced an i which caused my build process to crash with an i
2023-08-13 20:36:53 +01:00
81b45d710b feat: add TabList#addEntries (#987) 2023-08-12 10:49:08 -07:00
bda1430d5c Add version information for 1.20.1 (#1021) 2023-06-12 16:11:20 +01:00
5ef90c46e3 1.20 2023-06-06 17:13:48 +02:00
a29c753e39 Give each plugin its own executor service (#1010)
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()`.
2023-05-14 02:51:25 -04:00
e9526e0e23 Move dependencies to gradle version catalog and clean up buildscripts 2023-03-26 14:53:11 +02:00
c7ba5255e3 Add Player#hasSentPlayerSettings (#980) 2023-03-21 09:22:40 +01:00
65a84833d7 Expose Caffeine in the API module 2023-03-11 08:36:38 -05:00
31e557c80b Start working on 1.19.4 2023-03-09 19:25:51 +01:00
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