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