Commit Graph

2289 Commits

Author SHA1 Message Date
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
6f7f722bfb [ci skip] Remove duplicate space from NativeZlibInflate (#1240) 2024-02-09 18:02:43 +00:00
6506c4cc59 Remove duplicate space from log pattern (#1238) 2024-02-09 10:38:22 -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
53923ed857 chore: update checkstyle config 2024-02-08 11:20:28 -08:00
d7799eaf60 Ensure that we send a response to the correct server when in flight (#1234)
* 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>
2024-02-08 11:15:14 -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
825c3c68d1 Bump netty to 4.1.106.Final (#1233)
https://netty.io/news/2024/01/19/4-1-106-Final.html
2024-02-08 07:27:16 +00:00
10430a2115 Validate plugin dependency IDs in accordance to plugin ID requirements (#1231) 2024-02-07 21:30:55 -05:00
5956751284 Bump client connection state before sending disconnection packets 2024-02-01 12:59:47 +00:00
38558783bb Fixed client brand handling for players with versions 1.20.2 or higher (#1223)
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
2024-01-29 09:13:17 -05:00
4080ee2eaa Extract player data forwarding to separate class (#1210)
* Extract player data forwarding to separate class

* Use modern switch statement
2024-01-28 22:05:21 -05:00
b9b11665b9 Refactor built-in commands to use Brigadier (#1208)
* 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>
2024-01-22 18:01:49 -05:00
c3583e182c Stop shipping the OpenSSL 1.0.x native
CentOS 7 is end of life in June 2024. Let's cut this loose.

I'll also recompiling all the natives soon.
2024-01-21 20:48:15 -05:00
5afcd72bbd Refactor bossbar implementation (#1209)
* Refactor bossbar implementation

* Move to adventure package

* Use AutoService instead of manual service declaration

---------

Co-authored-by: Adrian <adriangonzalesval@gmail.com>
2024-01-21 17:56:08 -05:00
5f27edf3c2 Fix "Add -haproxy-protocol startup parameter" (#1216)
This reverts commit b23c2c6e1a.
2024-01-21 15:25:34 -05:00
b23c2c6e1a Revert "Add -haproxy-protocol startup parameter" (#1214) 2024-01-21 11:11:02 -05:00
363e3a7f94 Add -haproxy-protocol startup parameter (#1136) 2024-01-21 10:47:40 -05:00
283005c8bc Fix fat finger 2024-01-21 11:48:37 +00:00
f6fbd25805 Downgrade severity of handling several incoming user input packet states 2024-01-21 11:47:14 +00:00
953ab6d8e7 Implement click callback provider (#1029) 2024-01-20 16:58:00 -05:00
46d018c0f2 Pass the correct virtual host port during the handshake (#1205) 2024-01-20 07:27:41 -05:00
d4a661870e Fixed possible ConcurrentModificationException when iterating across TabList entries (#1204) 2024-01-20 10:12:29 +00: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
2ac8751337 Updated the packet classes to include the "Packet" suffix (#1202)
* Updated the packet classes to include the "Packet" suffix

* Fixed test checkstyle
2024-01-18 12:25:22 -08:00
75e24a0c59 l10n: Traditional Chinese Support (#1158)
* update: zh_TW translation

* update: small unchanges

* Update messages_zh_TW.properties

Replace 兼容 with 相容
2024-01-18 10:13:23 -08:00
eabff2020f fix legacy console disconnect messages (#1197) 2024-01-18 10:10:30 +00:00
c7c65e3339 Fixed unknown status code error (#1196) 2024-01-17 17:00:39 +00:00
6d7335b21f Fully replaced AsyncHttpClient (#1194) 2024-01-17 15:20:27 +00:00
b22b2dc458 Migrate to using built-in http client (#1192) 2024-01-17 15:02:36 +00:00
fe052e5163 Fix tablist header and footer desync (#1103) 2024-01-16 13:19:45 +00:00
f8cdf4fa1a [ci skip] Update Minecraft wiki references (#1092)
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!
2024-01-16 13:07:14 +00:00
dab64ebb59 Fix player list header/footer not sending translated version (#1186) 2024-01-16 13:06:05 +00:00
08c03aaea2 Fix chat race condition (#1042) 2024-01-11 11:44:16 +00:00
02c4d61fc6 Add ModernForgeConnectionType to supports Forge-1.20.2+ (#1176) 2024-01-11 11:24:11 +00:00
a008464ede Improved configuration migration (#1111) 2024-01-11 10:38:00 +00:00
cc906000bc Fixed Legacy Ping handling (#1180) 2024-01-11 06:57:03 +00:00
408b420af7 Use System.nanoTime in place of System.currentTimeMillis when comparing timestamps. (#1174) 2024-01-04 12:35:03 -05:00
897ff81915 Clean up JavaPluginLoader and VelocityPluginModule (#1140) 2024-01-04 16:04:25 +00:00
28acf9eac1 Removed console legacy color support (#1105)
Co-authored-by: Shane Freeder <1228900+electronicboy@users.noreply.github.com>
2024-01-04 15:40:11 +00:00
de57563eab Hide ip address in initial and legacy connections (#1025) 2024-01-04 13:50:47 +00:00
00ef92bc5c Restore nullability for displayName in UpsertPlayerInfo (#1172)
This makes the UpsertPlayerInfo's displayName truly nullable as before the ComponentHolder was introduced.
2023-12-28 15:37:31 +00:00
6fd03d6f5c Added static methods to create ArgumentBuilders directly in the BrigadierCommand class (#1161) 2023-12-27 13:33:44 -05:00
9450e6600c Fix race condition when switching from config to play state 2023-12-23 10:58:32 +01:00
a3a6b3fd07 Correctly version component serialization
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.
2023-12-22 23:20:43 +00:00
a54d8c681f Support conversion of mixed json array components 2023-12-19 12:13:11 +01:00
21ae82e7c0 Update adventure to snapshot version 2023-12-14 16:36:18 +00:00
79fe8c8005 [ci skip] Fix internal javadoc 2023-12-14 14:33:10 +00:00