13
0
geforkt von Mirrors/Velocity
Commit graph

427 Commits

Autor SHA1 Nachricht Datum
LightningReflex
3b7b902bf5
[ci skip] Fixed typo in KickedFromServerEvent.java (#1266) 2024-03-11 13:21:39 +00:00
Joo200
8891faa52c
Added event when a command is executed from Velocity (#984)
* feat: added event for command invocation

This event is called when a command invocation attempt on the proxy occurs

* Fix javadoc issue
2024-03-05 10:11:17 -05:00
Adrian
c34dafe2a2
Implement ProtocolState API (#1224)
* Implement ProtocolState API

* Renamed method to #getProtocolState

* Added sinceMinecraft javadoc tag

* Fixed PreLoginEvent#getUniqueId documentation
2024-03-03 16:21:22 -05:00
Maxim Breitman
82189a6a21
Tiny rework of Protocol Version API (#1260) 2024-03-01 22:42:02 -05:00
Adrian
d330236b09
Add CommandSource#sendRichMessage and #sendPlainMessage (#1256) 2024-02-27 12:08:53 -05:00
Adrian
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
Adrian
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
itsTyrion
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
Adrian
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
Kezz
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
Adrian
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
itsTyrion
10430a2115
Validate plugin dependency IDs in accordance to plugin ID requirements (#1231) 2024-02-07 21:30:55 -05:00
Andrew Steinborn
953ab6d8e7
Implement click callback provider (#1029) 2024-01-20 16:58:00 -05:00
pop4959
523d750f2b
Implement some missing resource pack API (#1206) 2024-01-20 10:11:05 +00:00
Riley Park
0993ce2f86
Improve protocol version checking (#1203)
* Improve protocol version checking

* chore: since 3.3.0
2024-01-18 17:32:42 -08:00
Adrian
6fd03d6f5c
Added static methods to create ArgumentBuilders directly in the BrigadierCommand class (#1161) 2023-12-27 13:33:44 -05:00
Gero
98632925e1 javadoc for PlayerResourcePackStatusEvent.Status#isIntermediate 2023-12-14 14:20:16 +00:00
Gero
8bfe0670c4 1.20.4 2023-12-14 14:20:16 +00:00
Gero
058aee259a fix resource pack status 2023-12-14 14:20:16 +00:00
pkt77
efcfeb3e53 1.20.3 working & checkstyle fixes 2023-12-14 14:20:16 +00:00
Gero
814b53f12c WIP 1.20.3 2023-12-14 14:20:16 +00:00
Owen
b33d18af2b
Allow closing active proxy listeners (#1109) 2023-10-27 01:39:03 -04:00
Badbird5907
b30802c1b3
API: Add Tristate#fromOptionalBoolean (#1125) 2023-10-26 03:01:24 -04:00
Gero
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
Paul
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
Groldi
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
powercas_gamer
81b45d710b
feat: add TabList#addEntries (#987) 2023-08-12 10:49:08 -07:00
Pantera (Mad_Daniel)
bda1430d5c
Add version information for 1.20.1 (#1021) 2023-06-12 16:11:20 +01:00
Gero
5ef90c46e3 1.20 2023-06-06 17:13:48 +02:00
Andrew Steinborn
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
Gero
c7ba5255e3
Add Player#hasSentPlayerSettings (#980) 2023-03-21 09:22:40 +01:00
Nassim Jahnke
31e557c80b
Start working on 1.19.4 2023-03-09 19:25:51 +01:00
Corey Shupe
d733e88677 Add getEntry to TabList.java 2023-02-20 10:11:33 -05:00
Adrian
8761d02def
feat: Implement RegisteredServer#ping(PingOptions) (#938) 2023-01-26 00:33:07 -05:00
Andrew Steinborn
3768e66e86 Also use Spotless to remove unused imports 2023-01-01 18:52:11 -05:00
Andrew Steinborn
b0862d2d16 Use Spotless for license formatting 2023-01-01 18:46:33 -05:00
Andrew Steinborn
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
JOO200
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
Nassim Jahnke
b1fa9dc953
Remove snapshot version 2022-12-07 14:18:29 +01:00
Corey Shupe
b504e0857c
Update to 1.19.3-rc3 (#893) 2022-12-07 14:12:48 +01:00
IkeVoodoo
048fd90359
Improving incorrect namespace/name error (#839)
* Improving incorrect namespace/name error

* Update MinecraftChannelIdentifier.java
2022-08-17 00:54:16 -04:00
Adrian
fbde1ff82a
Implement Documented javadoc annotation on AwaitingEvent (#837) 2022-08-14 17:16:42 -04:00
A248
fee292bcc9
Clarify that plugin IDs must be lowercase (#820) 2022-08-06 11:34:39 -04:00
Pantera (Mad_Daniel)
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
FivePB (Xer)
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
Andrew Steinborn
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
foxley
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
FivePB (Xer)
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
4drian3d
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
Corey Shupe
d97ed956a7
Update/1.19 (#726)
Co-authored-by: FivePB <admin@fivepb.me>
2022-06-07 21:00:24 -04:00