3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-09-29 14:40:21 +02:00
Commit graph

317 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
e6e35d3754 Add a base interface for events 2021-05-14 12:24:43 -04:00
Andrew Steinborn
14be98c88c Banish all use of Optionals from Velocity entirely 2021-05-13 04:35:50 -04:00
Andrew Steinborn
3c41211163 Switch over to Error Prone (now with NullAway!)
There is one major change: we now have a separate artifact for the annotation processor.

As for NullAway, we are currently exempting the clientbound join game/respawn packets. They are ugly and need to be refactored.
2021-05-13 04:13:15 -04:00
Andrew Steinborn
00cc636d6a Remove essentially all use of Java Optionals from the API
Also fix extended handshake event handling
2021-05-12 12:33:55 -04:00
Andrew Steinborn
6fcef41146 Reimplement #434 but aligned to the Velocity 2.0.0 API 2021-05-12 10:03:48 -04:00
Andrew Steinborn
47a1332514 Add equals/hashCode to all results and remove another result I don't like
Fixes #483
2021-05-11 06:52:46 -04:00
Andrew Steinborn
f4fc07768b Simplify event result structure and add some convenience methods 2021-05-11 06:40:22 -04:00
Andrew Steinborn
1d867fce1c Fix Javadoc typo 2021-05-11 03:25:03 -04:00
Andrew Steinborn
cdc9ebf72d Fix merge issues 2021-05-09 03:56:26 -04:00
Andrew Steinborn
a4e91793ca Merge branch 'dev/1.1.0' into dev/2.0.0
# Conflicts:
#	api/build.gradle
#	api/src/main/java/com/velocitypowered/api/proxy/connection/Player.java
#	build.gradle
#	proxy/src/main/java/com/velocitypowered/proxy/command/builtin/VelocityCommand.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/MinecraftConnection.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/StatusSessionHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressEncoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressorAndLengthEncoder.java
#	proxy/src/test/java/com/velocitypowered/proxy/command/CommandManagerTests.java
2021-05-09 03:51:54 -04:00
Andrew Steinborn
3d9a166892 Fix Checkstyle 2021-05-06 16:46:43 -04:00
Andrew Steinborn
3fdacd30d1 Explain why Player#sendPluginMessage may not do what some people think it ought to do 2021-05-06 16:43:45 -04:00
Andrew Steinborn
f00b9b73ea Make ServerboundHandshakePacket immutable 2021-04-23 19:16:47 -04:00
Andrew Steinborn
4318c179a4 Fix Javadocs for PairedPluginChannelId and KeyedPluginChannelId 2021-04-17 06:19:29 -04:00
Andrew Steinborn
ec6fb80d6c Fix typo 2021-04-17 06:17:45 -04:00
Andrew Steinborn
9645fb59da Further improvements.
The main component here is the total revamp of the plugin channel identifier system - instead of Legacy/Modern channel IDs, you can have a modern channel or a modern channel paired with a legacy channel, which is much less confusing to work with.
2021-04-17 06:04:12 -04:00
Andrew Steinborn
0ed8352012 Do it to the message event too 2021-04-17 05:00:16 -04:00
Andrew Steinborn
47c354e6ee [Breaking] Many renamings in the API
The get prefix has been dropped from getters where it is unambiguous what is being referred to. Other getters have also received renames to clarify their purpose.

The main exception is the ProxyConfig API, but it's one of my personal sore spots in the API, so it'll be replaced instead.
2021-04-17 04:58:16 -04:00
Andrew Steinborn
2254e3b617 Rename CommandManager#metaBuilder -> CommandManager#createMetaBuilder 2021-04-17 04:23:58 -04:00
Andrew Steinborn
cf7c2b004a Better documentation for EventHandler 2021-04-17 04:10:27 -04:00
Andrew Steinborn
a6728476db I missed a spot 2021-04-17 03:52:01 -04:00
Andrew Steinborn
730d385f02 Extract interfaces for all events.
This is in preparation for moving to event-impl-gen.
2021-04-17 03:50:10 -04:00
Andrew Steinborn
f879858e7d Bring 2.0.0 fully up to date on GPLv3 relicense 2021-04-16 04:11:55 -04:00
Andrew Steinborn
e49603ec0c Merge branch 'dev/1.1.0' into dev/2.0.0
# Conflicts:
#	api/src/main/java/com/velocitypowered/api/command/ConsoleCommandSource.java
#	api/src/main/java/com/velocitypowered/api/event/connection/ProxyPingEvent.java
#	api/src/main/java/com/velocitypowered/api/event/connection/ProxyQueryEvent.java
#	api/src/main/java/com/velocitypowered/api/event/lifecycle/ListenerBoundEvent.java
#	api/src/main/java/com/velocitypowered/api/event/lifecycle/ListenerCloseEvent.java
#	api/src/main/java/com/velocitypowered/api/event/lifecycle/ProxyInitializeEvent.java
#	api/src/main/java/com/velocitypowered/api/event/lifecycle/ProxyReloadEvent.java
#	api/src/main/java/com/velocitypowered/api/event/lifecycle/ProxyShutdownEvent.java
#	api/src/main/java/com/velocitypowered/api/event/player/DisconnectEvent.java
#	api/src/main/java/com/velocitypowered/api/event/player/LoginEvent.java
#	api/src/main/java/com/velocitypowered/api/event/player/PostLoginEvent.java
#	api/src/main/java/com/velocitypowered/api/event/player/PreLoginEvent.java
#	api/src/main/java/com/velocitypowered/api/event/query/package-info.java
#	api/src/main/java/com/velocitypowered/api/proxy/connection/InboundConnection.java
#	api/src/main/java/com/velocitypowered/api/proxy/connection/Player.java
#	api/src/main/java/com/velocitypowered/api/proxy/connection/ServerConnection.java
#	api/src/main/java/com/velocitypowered/api/proxy/player/ConnectionRequestBuilder.java
#	api/src/main/java/com/velocitypowered/api/util/MessagePosition.java
#	api/src/main/java/com/velocitypowered/api/util/bossbar/BossBar.java
#	api/src/main/java/com/velocitypowered/api/util/bossbar/BossBarColor.java
#	api/src/main/java/com/velocitypowered/api/util/bossbar/BossBarFlag.java
#	api/src/main/java/com/velocitypowered/api/util/bossbar/BossBarOverlay.java
#	api/src/main/java/com/velocitypowered/api/util/title/TextTitle.java
#	api/src/main/java/com/velocitypowered/api/util/title/Title.java
#	api/src/main/java/com/velocitypowered/api/util/title/Titles.java
#	api/src/main/java/com/velocitypowered/api/util/title/package-info.java
#	build.gradle
#	native/src/main/java/com/velocitypowered/natives/compression/Java11VelocityCompressor.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/LoginSessionHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/ConnectionManager.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/NettyPreconditions.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/PluginMessageUtil.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/ProtocolUtils.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/ServerChannelInitializerHolder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/buffer/ByteBufDataInput.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/buffer/ByteBufDataOutput.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundAvailableCommandsPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundBossBarPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundEncryptionRequestPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundJoinGamePacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundPlayerListItemPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundRespawnPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundTabCompleteResponsePacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/legacy/LegacyDisconnectPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/legacy/LegacyMinecraftPingVersion.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/serverbound/ServerboundClientSettingsPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/serverbound/ServerboundTabCompleteRequestPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/AutoReadHolderHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/GS4QueryHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/LegacyPingDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/LegacyPingEncoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCipherDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCipherEncoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressEncoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftEncoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftVarintFrameDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftVarintLengthEncoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/VarintByteDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/resolver/SeparatePoolInetNameResolver.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/FaviconSerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/GameProfileSerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/VelocityLegacyHoverEventSerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ArgumentPropertyRegistry.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ByteArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/DoubleArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/EmptyArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/FloatArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/GenericArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/IntegerArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/LongArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ModArgumentProperty.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ModArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/PassthroughProperty.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/StringArgumentPropertySerializer.java
#	proxy/src/main/java/com/velocitypowered/proxy/plugin/VelocityEventManager.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/MinecraftPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Chat.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Disconnect.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/EncryptionResponse.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Handshake.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/HeaderAndFooter.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/KeepAlive.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LegacyHandshake.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LegacyPing.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LoginPluginMessage.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LoginPluginResponse.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/PluginMessage.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ResourcePackRequest.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ResourcePackResponse.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ServerLogin.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ServerLoginSuccess.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/SetCompression.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusPing.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusRequest.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusResponse.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/TitlePacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/util/DeferredByteBufHolder.java
#	proxy/src/main/java/com/velocitypowered/proxy/util/bossbar/AdventureBossBarManager.java
#	proxy/src/main/java/com/velocitypowered/proxy/util/bossbar/VelocityBossBar.java
#	proxy/src/test/java/com/velocitypowered/proxy/event/MockEventManager.java
#	proxy/src/test/java/com/velocitypowered/proxy/network/PluginMessageUtilTest.java
#	proxy/src/test/java/com/velocitypowered/proxy/protocol/PacketRegistryTest.java
2021-04-16 04:02:01 -04:00
Cubxity
5ea6728d1a
Added ListenerBoundEvent and ListenerCloseEvent. (#454) 2021-04-02 13:24:45 -04:00
A248
54474d7100
Add Duration methods to TaskBuilder (#445) 2021-04-02 01:51:54 -04:00
Andrew Steinborn
c747120b20
Relicense the Velocity proxy under the terms of GPLv3 (#448) 2021-03-31 16:04:06 -04:00
FivePB (Xer)
690bcfcaa5
Change version-name logic (#441) 2021-03-11 04:24:04 -05:00
Andrew Steinborn
3a51bee052 Fix Checkstyle errors and update geriatric Checkstyle version 2021-03-01 19:41:35 -05:00
Andrew Steinborn
0e05f5f308 Mostly brought 2.0.0 up to update with Velocity 1.1.5-SNAPSHOT changes.
I have not verified that this actually works.
2021-02-21 18:09:56 -05:00
Andrew Steinborn
699147c916 Merge branch 'dev/1.1.0' into dev/2.0.0
# Conflicts:
#	api/build.gradle
#	api/src/main/java/com/velocitypowered/api/proxy/connection/Player.java
#	api/src/main/java/com/velocitypowered/api/proxy/player/TabList.java
#	build.gradle
#	proxy/build.gradle
#	proxy/src/main/java/com/velocitypowered/proxy/Velocity.java
#	proxy/src/main/java/com/velocitypowered/proxy/command/CommandNodeFactory.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/backend/BackendPlaySessionHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/backend/BungeeCordMessageResponder.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/backend/VelocityServerConnection.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundAvailableCommandsPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundJoinGamePacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundRespawnPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftDecoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/MinecraftPacket.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/EncryptionResponse.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/HeaderAndFooter.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LoginPluginMessage.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/PluginMessage.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ServerLogin.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusPing.java
#	proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusRequest.java
#	proxy/src/main/java/com/velocitypowered/proxy/tablist/VelocityTabList.java
#	proxy/src/main/java/com/velocitypowered/proxy/tablist/VelocityTabListLegacy.java
#	proxy/src/test/java/com/velocitypowered/proxy/command/CommandManagerTests.java
2021-02-21 17:56:40 -05:00
Andrew Steinborn
3aee47166f Allow clearing favicon in ServerPing builder. 2021-02-09 14:36:16 -05:00
Andrew Steinborn
55cc416b52
Merge pull request #428 from Camotoy/registerevent
Add PlayerRegisterChannelEvent
2021-02-09 14:26:34 -05:00
Andrew Steinborn
a6a9d1e0fb Forward slashes are allowed in channel IDs
Fixes an issue where the Fabric registry sync packet would not be allowed by Velocity.
2021-02-09 14:25:12 -05:00
Camotoy
fb879cb498
Apply initial requested changes 2021-02-09 14:13:33 -05:00
Camotoy
d47b339908
Add PlayerPluginMessageRegisterEvent 2021-02-09 13:51:43 -05:00
Seppe Volkaerts
b04d5de141 Implement async event tasks.
Events will now only be handled by an async executor if necessary. This should improve performance for lightweight listeners.
2020-12-15 12:48:32 +01:00
Andrew Steinborn
ef7f4871b8 Remove dependency on the java.desktop module
The Favicon.create(BufferedImage) method has been removed. In its place we have Favicon.create(Path) (carried over from the 1.x.x series) and Favicon.create(byte[]) (brand new).
2020-12-14 14:30:39 -05:00
Riley Park
5da085d82f
Adventure 4.3.0: Player list header/footer 2020-12-06 17:50:57 -08:00
Riley Park
0615b024cf
packets! 2020-11-06 19:40:30 -08:00
Andrew Steinborn
02ad6b7e01 Promote CommandInvocation#alias 2020-11-05 19:23:26 -05:00
Andrew Steinborn
2c07d00f18 Merge branch 'dev/1.1.0' into dev/2.0.0 2020-11-05 16:39:26 -05:00
Andrew Steinborn
642573e9e0 Fix logic for telling the server snapshot versions. 2020-11-04 18:58:48 -05:00
Andrew Steinborn
8dd83193c8 Manually merge in conflicting 2.0.0 changes into the 1.1.0 merge. 2020-10-28 20:36:22 -04:00
Andrew Steinborn
e21cd77ae7 Merge branch 'dev/1.1.0' into dev/2.0.0
# Conflicts:
#	build.gradle
2020-10-28 20:33:57 -04:00
Andrew Steinborn
dd23203139 Add some missing convenience APIs to MinecraftChannelIdentifier 2020-10-28 19:02:37 -04:00
Andrew Steinborn
188758cf0e Drop 1.16.4 snapshot support in anticipation for full 1.16.4 release 2020-10-26 21:05:09 -04:00
Andrew Steinborn
8fbce8423f Fix typo in ServerPing#asBuilder() Javadoc
Fixes #375
2020-10-26 17:20:52 -04:00
Andrew Steinborn
bf06134fb5 Merge branch 'dev/1.1.0' into dev/2.0.0 2020-10-22 12:43:04 -04:00
Andrew Steinborn
cfb9104696 1.16.4-pre2 support 2020-10-22 12:42:35 -04:00