Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-11-17 05:20:14 +01:00
Document every event Velocity will await on.
Dieser Commit ist enthalten in:
Ursprung
ea3341d710
Commit
8c39d9a1e4
@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Velocity Contributors
|
||||||
|
*
|
||||||
|
* The Velocity API is licensed under the terms of the MIT License. For more details,
|
||||||
|
* reference the LICENSE file in the api top-level directory.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.velocitypowered.api.event.annotation;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Marks an event as an event the proxy will wait on to completely fire (including any
|
||||||
|
* {@link com.velocitypowered.api.event.EventTask}s) before continuing handling it. Annotated
|
||||||
|
* classes are suitable candidates for using EventTasks for handling complex asynchronous
|
||||||
|
* operations in a non-blocking matter.
|
||||||
|
*/
|
||||||
|
@Target(ElementType.TYPE)
|
||||||
|
public @interface AwaitingEvent {
|
||||||
|
|
||||||
|
}
|
@ -10,14 +10,17 @@ package com.velocitypowered.api.event.command;
|
|||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.velocitypowered.api.command.CommandSource;
|
import com.velocitypowered.api.command.CommandSource;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.event.command.CommandExecuteEvent.CommandResult;
|
import com.velocitypowered.api.event.command.CommandExecuteEvent.CommandResult;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when someone executing command.
|
* This event is fired when someone executes a command. Velocity will wait for this event to finish
|
||||||
|
* firing before trying to handle the command and/or forwarding it to the server.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class CommandExecuteEvent implements ResultedEvent<CommandResult> {
|
public final class CommandExecuteEvent implements ResultedEvent<CommandResult> {
|
||||||
|
|
||||||
private final CommandSource commandSource;
|
private final CommandSource commandSource;
|
||||||
|
@ -11,12 +11,16 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||||||
|
|
||||||
import com.google.common.annotations.Beta;
|
import com.google.common.annotations.Beta;
|
||||||
import com.mojang.brigadier.tree.RootCommandNode;
|
import com.mojang.brigadier.tree.RootCommandNode;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allows plugins to modify the packet indicating commands available on the server to a
|
* Allows plugins to modify the packet indicating commands available on the server to a
|
||||||
* Minecraft 1.13+ client.
|
* Minecraft 1.13+ client. The given {@link RootCommandNode} is mutable. Velocity will wait
|
||||||
|
* for this event to finish firing before sending the list of available commands to the
|
||||||
|
* client.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
@Beta
|
@Beta
|
||||||
public class PlayerAvailableCommandsEvent {
|
public class PlayerAvailableCommandsEvent {
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@ import com.velocitypowered.api.proxy.InboundConnection;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when a handshake is established between a client and the proxy.
|
* This event is fired when a handshake is established between a client and the proxy.
|
||||||
|
* Velocity will fire this event asynchronously and will not wait for it to complete before
|
||||||
|
* handling the connection.
|
||||||
*/
|
*/
|
||||||
public final class ConnectionHandshakeEvent {
|
public final class ConnectionHandshakeEvent {
|
||||||
|
|
||||||
|
@ -8,12 +8,23 @@
|
|||||||
package com.velocitypowered.api.event.connection;
|
package com.velocitypowered.api.event.connection;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when a player disconnects from the proxy. Operations on the provided player,
|
* This event is fired when a player disconnects from the proxy. This operation can take place
|
||||||
* aside from basic data retrieval operations, may behave in undefined ways.
|
* when the player disconnects due to normal network activity or when the proxy shuts down.
|
||||||
|
* Operations on the provided player, aside from basic data retrieval operations, may behave in
|
||||||
|
* undefined ways.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* Velocity typically fires this event asynchronously and does not wait for a response. However,
|
||||||
|
* it will wait for all {@link DisconnectEvent}s for every player on the proxy to fire
|
||||||
|
* successfully before the proxy shuts down. This event is the sole exception to the
|
||||||
|
* {@link AwaitingEvent} contract.
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class DisconnectEvent {
|
public final class DisconnectEvent {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -9,12 +9,16 @@ package com.velocitypowered.api.event.connection;
|
|||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired once the player has been authenticated but before they connect to a server on
|
* This event is fired once the player has been authenticated, but before they connect to a server.
|
||||||
* the proxy.
|
* Velocity will wait for this event to finish firing before proceeding with the rest of the login
|
||||||
|
* process, but you should try to limit the work done in any event that fires during the login
|
||||||
|
* process.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class LoginEvent implements ResultedEvent<ResultedEvent.ComponentResult> {
|
public final class LoginEvent implements ResultedEvent<ResultedEvent.ComponentResult> {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -11,6 +11,7 @@ import com.google.common.base.Preconditions;
|
|||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import com.velocitypowered.api.proxy.ServerConnection;
|
import com.velocitypowered.api.proxy.ServerConnection;
|
||||||
import com.velocitypowered.api.proxy.messages.ChannelIdentifier;
|
import com.velocitypowered.api.proxy.messages.ChannelIdentifier;
|
||||||
@ -21,8 +22,10 @@ import java.util.Arrays;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when a plugin message is sent to the proxy, either from a client ({@link
|
* This event is fired when a plugin message is sent to the proxy, either from a client ({@link
|
||||||
* Player}) or a server ({@link ServerConnection}).
|
* Player}) or a server ({@link ServerConnection}). Velocity will wait on this event to finish
|
||||||
|
* firing before discarding the sent plugin message (if handled) or forwarding it to the server.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class PluginMessageEvent implements ResultedEvent<PluginMessageEvent.ForwardResult> {
|
public final class PluginMessageEvent implements ResultedEvent<PluginMessageEvent.ForwardResult> {
|
||||||
|
|
||||||
private final ChannelMessageSource source;
|
private final ChannelMessageSource source;
|
||||||
|
@ -8,12 +8,17 @@
|
|||||||
package com.velocitypowered.api.event.connection;
|
package com.velocitypowered.api.event.connection;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired once the player has been fully initialized and is about to connect to their
|
* This event is fired once the player has been fully initialized and is about to connect to their
|
||||||
* first server.
|
* first server. Velocity will wait for this event to finish firing before it fires
|
||||||
|
* {@link com.velocitypowered.api.event.player.PlayerChooseInitialServerEvent} with any default
|
||||||
|
* servers specified in the configuration, but you should try to limit the work done in any event
|
||||||
|
* that fires during the login process.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class PostLoginEvent {
|
public final class PostLoginEvent {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -9,6 +9,7 @@ package com.velocitypowered.api.event.connection;
|
|||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.InboundConnection;
|
import com.velocitypowered.api.proxy.InboundConnection;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
@ -17,8 +18,11 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
/**
|
/**
|
||||||
* This event is fired when a player has initiated a connection with the proxy but before the proxy
|
* This event is fired when a player has initiated a connection with the proxy but before the proxy
|
||||||
* authenticates the player with Mojang or before the player's proxy connection is fully established
|
* authenticates the player with Mojang or before the player's proxy connection is fully established
|
||||||
* (for offline mode).
|
* (for offline mode). Velocity will wait for this event to finish firing before proceeding further
|
||||||
|
* with the login process, but you should try to limit the work done in any event that fires during
|
||||||
|
* the login process.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class PreLoginEvent implements ResultedEvent<PreLoginEvent.PreLoginComponentResult> {
|
public final class PreLoginEvent implements ResultedEvent<PreLoginEvent.PreLoginComponentResult> {
|
||||||
|
|
||||||
private final InboundConnection connection;
|
private final InboundConnection connection;
|
||||||
|
@ -8,16 +8,26 @@
|
|||||||
package com.velocitypowered.api.event.permission;
|
package com.velocitypowered.api.event.permission;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.permission.PermissionFunction;
|
import com.velocitypowered.api.permission.PermissionFunction;
|
||||||
import com.velocitypowered.api.permission.PermissionProvider;
|
import com.velocitypowered.api.permission.PermissionProvider;
|
||||||
import com.velocitypowered.api.permission.PermissionSubject;
|
import com.velocitypowered.api.permission.PermissionSubject;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a {@link PermissionSubject}'s permissions are being setup.
|
* Called when a {@link PermissionSubject}'s permissions are being setup. This event is typically
|
||||||
|
* called for the {@link com.velocitypowered.api.proxy.ConsoleCommandSource} and any
|
||||||
|
* {@link com.velocitypowered.api.proxy.Player}s who join the proxy.
|
||||||
*
|
*
|
||||||
* <p>This event is only called once per subject, on initialisation.</p>
|
* <p>This event is only called once per subject, on initialisation.</p>
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* Velocity will wait for this event to finish firing before proceeding further with server
|
||||||
|
* startup (for the console command source) and logins (for players) but it is strongly
|
||||||
|
* recommended to minimize the amount of work that must be done in this event.
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class PermissionsSetupEvent {
|
public final class PermissionsSetupEvent {
|
||||||
|
|
||||||
private final PermissionSubject subject;
|
private final PermissionSubject subject;
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
package com.velocitypowered.api.event.player;
|
package com.velocitypowered.api.event.player;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.InboundConnection;
|
import com.velocitypowered.api.proxy.InboundConnection;
|
||||||
import com.velocitypowered.api.util.GameProfile;
|
import com.velocitypowered.api.util.GameProfile;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
@ -16,7 +17,14 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
* This event is fired after the {@link com.velocitypowered.api.event.connection.PreLoginEvent} in
|
* This event is fired after the {@link com.velocitypowered.api.event.connection.PreLoginEvent} in
|
||||||
* order to set up the game profile for the user. This can be used to configure a custom profile for
|
* order to set up the game profile for the user. This can be used to configure a custom profile for
|
||||||
* a user, i.e. skin replacement.
|
* a user, i.e. skin replacement.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* Velocity will wait for this event to finish firing before proceeding with the rest of the login
|
||||||
|
* process, but you should try to limit the work done in any event that fires during the login
|
||||||
|
* process.
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class GameProfileRequestEvent {
|
public final class GameProfileRequestEvent {
|
||||||
|
|
||||||
private final String username;
|
private final String username;
|
||||||
|
@ -9,6 +9,7 @@ package com.velocitypowered.api.event.player;
|
|||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -19,8 +20,10 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
* Fired when a player is kicked from a server. You may either allow Velocity to kick the player
|
* Fired when a player is kicked from a server. You may either allow Velocity to kick the player
|
||||||
* (with an optional reason override) or redirect the player to a separate server. By default,
|
* (with an optional reason override) or redirect the player to a separate server. By default,
|
||||||
* Velocity will notify the user (if they are already connected to a server) or disconnect them
|
* Velocity will notify the user (if they are already connected to a server) or disconnect them
|
||||||
* (if they are not on a server and no other servers are available).
|
* (if they are not on a server and no other servers are available). Velocity will wait on this
|
||||||
|
* event to finish firing before taking the specified action.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class KickedFromServerEvent implements
|
public final class KickedFromServerEvent implements
|
||||||
ResultedEvent<KickedFromServerEvent.ServerKickResult> {
|
ResultedEvent<KickedFromServerEvent.ServerKickResult> {
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ import java.util.List;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when a client ({@link Player}) sends a plugin message through the
|
* This event is fired when a client ({@link Player}) sends a plugin message through the
|
||||||
* register channel.
|
* register channel. Velocity will not wait on this event to finish firing.
|
||||||
*/
|
*/
|
||||||
public final class PlayerChannelRegisterEvent {
|
public final class PlayerChannelRegisterEvent {
|
||||||
|
|
||||||
|
@ -9,14 +9,17 @@ package com.velocitypowered.api.event.player;
|
|||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when a player types in a chat message.
|
* This event is fired when a player types in a chat message. Velocity will wait on this event
|
||||||
|
* to finish firing before forwarding it to the server, if the result allows it.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class PlayerChatEvent implements ResultedEvent<PlayerChatEvent.ChatResult> {
|
public final class PlayerChatEvent implements ResultedEvent<PlayerChatEvent.ChatResult> {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -8,15 +8,19 @@
|
|||||||
package com.velocitypowered.api.event.player;
|
package com.velocitypowered.api.event.player;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fired when a player has finished connecting to the proxy and we need to choose the first server
|
* Fired when a player has finished the login process, and we need to choose the first server
|
||||||
* to connect to.
|
* to connect to. Velocity will wait on this event to finish firing before initiating the connection
|
||||||
|
* but you should try to limit the work done in this event. Failures will be handled by
|
||||||
|
* {@link KickedFromServerEvent} as normal.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public class PlayerChooseInitialServerEvent {
|
public class PlayerChooseInitialServerEvent {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -11,7 +11,8 @@ import com.google.common.base.Preconditions;
|
|||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fired when a {@link Player} sends the <code>minecraft:brand</code> plugin message.
|
* Fired when a {@link Player} sends the <code>minecraft:brand</code> plugin message. Velocity will
|
||||||
|
* not wait on the result of this event.
|
||||||
*/
|
*/
|
||||||
public final class PlayerClientBrandEvent {
|
public final class PlayerClientBrandEvent {
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -14,6 +14,7 @@ import com.velocitypowered.api.util.ModInfo;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when a Forge client sends its mods to the proxy while connecting to a server.
|
* This event is fired when a Forge client sends its mods to the proxy while connecting to a server.
|
||||||
|
* Velocity will not wait on this event to finish firing.
|
||||||
*/
|
*/
|
||||||
public final class PlayerModInfoEvent {
|
public final class PlayerModInfoEvent {
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
package com.velocitypowered.api.event.player;
|
package com.velocitypowered.api.event.player;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.network.ProtocolVersion;
|
import com.velocitypowered.api.network.ProtocolVersion;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import com.velocitypowered.api.proxy.player.ResourcePackInfo;
|
import com.velocitypowered.api.proxy.player.ResourcePackInfo;
|
||||||
@ -16,8 +17,10 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when the status of a resource pack sent to the player by the server is
|
* This event is fired when the status of a resource pack sent to the player by the server is
|
||||||
* changed.
|
* changed. Depending on the result of this event (which Velocity will wait until completely fired),
|
||||||
|
* the player may be kicked from the server.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public class PlayerResourcePackStatusEvent {
|
public class PlayerResourcePackStatusEvent {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
@ -25,7 +28,6 @@ public class PlayerResourcePackStatusEvent {
|
|||||||
private final @MonotonicNonNull ResourcePackInfo packInfo;
|
private final @MonotonicNonNull ResourcePackInfo packInfo;
|
||||||
private boolean overwriteKick;
|
private boolean overwriteKick;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates this event.
|
* Instantiates this event.
|
||||||
* @deprecated Use {@link PlayerResourcePackStatusEvent#PlayerResourcePackStatusEvent
|
* @deprecated Use {@link PlayerResourcePackStatusEvent#PlayerResourcePackStatusEvent
|
||||||
|
@ -12,6 +12,11 @@ import com.google.common.base.Preconditions;
|
|||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import com.velocitypowered.api.proxy.player.PlayerSettings;
|
import com.velocitypowered.api.proxy.player.PlayerSettings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This event is fired when the client sends new client settings for the player. This event can
|
||||||
|
* and typically will be fired multiple times per connection. Velocity will not wait on this event
|
||||||
|
* to finish firing.
|
||||||
|
*/
|
||||||
public final class PlayerSettingsChangedEvent {
|
public final class PlayerSettingsChangedEvent {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
package com.velocitypowered.api.event.player;
|
package com.velocitypowered.api.event.player;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -16,7 +17,14 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
/**
|
/**
|
||||||
* This event is fired once the player has successfully connected to the target server and the
|
* This event is fired once the player has successfully connected to the target server and the
|
||||||
* connection to the previous server has been de-established.
|
* connection to the previous server has been de-established.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* <strong>Note</strong>: For historical reasons, Velocity does wait on this event to finish
|
||||||
|
* firing before continuing the server connection process. This behavior is
|
||||||
|
* <strong>deprecated</strong> and likely to be removed in Polymer.
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class ServerConnectedEvent {
|
public final class ServerConnectedEvent {
|
||||||
|
|
||||||
private final Player player;
|
private final Player player;
|
||||||
|
@ -13,6 +13,7 @@ import com.google.common.io.BaseEncoding;
|
|||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.event.player.ServerLoginPluginMessageEvent.ResponseResult;
|
import com.velocitypowered.api.event.player.ServerLoginPluginMessageEvent.ResponseResult;
|
||||||
import com.velocitypowered.api.proxy.ServerConnection;
|
import com.velocitypowered.api.proxy.ServerConnection;
|
||||||
import com.velocitypowered.api.proxy.messages.ChannelIdentifier;
|
import com.velocitypowered.api.proxy.messages.ChannelIdentifier;
|
||||||
@ -22,8 +23,11 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Fired when a server sends a login plugin message to the proxy. Plugins have the opportunity to
|
* Fired when a server sends a login plugin message to the proxy. Plugins have the opportunity to
|
||||||
* respond to the messages as needed.
|
* respond to the messages as needed. Velocity will wait on this event to finish. The server will
|
||||||
|
* be responsible for continuing the login process once the server is satisfied with any login
|
||||||
|
* plugin responses sent by proxy plugins (or messages indicating a lack of response).
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public class ServerLoginPluginMessageEvent implements ResultedEvent<ResponseResult> {
|
public class ServerLoginPluginMessageEvent implements ResultedEvent<ResponseResult> {
|
||||||
private final ServerConnection connection;
|
private final ServerConnection connection;
|
||||||
private final ChannelIdentifier identifier;
|
private final ChannelIdentifier identifier;
|
||||||
|
@ -15,7 +15,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Fired after the player has connected to a server. The server the player is now connected to is
|
* Fired after the player has connected to a server. The server the player is now connected to is
|
||||||
* available in {@link Player#getCurrentServer()}.
|
* available in {@link Player#getCurrentServer()}. Velocity will not wait on this event to finish
|
||||||
|
* firing.
|
||||||
*/
|
*/
|
||||||
@Beta
|
@Beta
|
||||||
public class ServerPostConnectEvent {
|
public class ServerPostConnectEvent {
|
||||||
|
@ -9,6 +9,7 @@ package com.velocitypowered.api.event.player;
|
|||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.velocitypowered.api.event.ResultedEvent;
|
import com.velocitypowered.api.event.ResultedEvent;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.ConnectionRequestBuilder;
|
import com.velocitypowered.api.proxy.ConnectionRequestBuilder;
|
||||||
import com.velocitypowered.api.proxy.ConnectionRequestBuilder.Status;
|
import com.velocitypowered.api.proxy.ConnectionRequestBuilder.Status;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
@ -17,8 +18,10 @@ import java.util.Optional;
|
|||||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired before the player connects to a server.
|
* This event is fired before the player connects to a server. Velocity will wait on this event to
|
||||||
|
* finish firing before initiating the connection.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class ServerPreConnectEvent implements
|
public final class ServerPreConnectEvent implements
|
||||||
ResultedEvent<ServerPreConnectEvent.ServerResult> {
|
ResultedEvent<ServerPreConnectEvent.ServerResult> {
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ package com.velocitypowered.api.event.player;
|
|||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -16,7 +17,11 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* This event is fired after a tab complete response is sent by the remote server, for clients on
|
* This event is fired after a tab complete response is sent by the remote server, for clients on
|
||||||
* 1.12.2 and below. You have the opportunity to modify the response sent to the remote player.
|
* 1.12.2 and below. You have the opportunity to modify the response sent to the remote player.
|
||||||
|
* Velocity will wait for this event to finish firing before sending the tab complete results to
|
||||||
|
* the client. Be sure to be as fast as possible, since the client will freeze while it waits for
|
||||||
|
* the tab complete results.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public class TabCompleteEvent {
|
public class TabCompleteEvent {
|
||||||
private final Player player;
|
private final Player player;
|
||||||
private final String partialMessage;
|
private final String partialMessage;
|
||||||
|
@ -7,10 +7,14 @@
|
|||||||
|
|
||||||
package com.velocitypowered.api.event.proxy;
|
package com.velocitypowered.api.event.proxy;
|
||||||
|
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired by the proxy after plugins have been loaded but before the proxy starts
|
* This event is fired by the proxy after plugins have been loaded but before the proxy starts
|
||||||
* accepting connections.
|
* accepting connections. Velocity will wait for this event to finish firing before it begins to
|
||||||
|
* accept new connections.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class ProxyInitializeEvent {
|
public final class ProxyInitializeEvent {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -8,12 +8,17 @@
|
|||||||
package com.velocitypowered.api.event.proxy;
|
package com.velocitypowered.api.event.proxy;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.InboundConnection;
|
import com.velocitypowered.api.proxy.InboundConnection;
|
||||||
import com.velocitypowered.api.proxy.server.ServerPing;
|
import com.velocitypowered.api.proxy.server.ServerPing;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired when a server list ping request is sent by a remote client.
|
* This event is fired when a server list ping request is sent by a remote client. Velocity will
|
||||||
|
* wait on this event to finish firing before delivering the results to the remote client, but
|
||||||
|
* you are urged to be as parsimonious as possible when handling this event due to the amount of
|
||||||
|
* ping packets a client can send.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class ProxyPingEvent {
|
public final class ProxyPingEvent {
|
||||||
|
|
||||||
private final InboundConnection connection;
|
private final InboundConnection connection;
|
||||||
|
@ -7,10 +7,13 @@
|
|||||||
|
|
||||||
package com.velocitypowered.api.event.proxy;
|
package com.velocitypowered.api.event.proxy;
|
||||||
|
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired by the proxy after the proxy has stopped accepting connections but before the
|
* This event is fired by the proxy after the proxy has stopped accepting connections but before the
|
||||||
* proxy process exits.
|
* proxy process exits. Velocity will wait for this event to finish firing before it exits.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class ProxyShutdownEvent {
|
public final class ProxyShutdownEvent {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -8,12 +8,15 @@
|
|||||||
package com.velocitypowered.api.event.query;
|
package com.velocitypowered.api.event.query;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.velocitypowered.api.event.annotation.AwaitingEvent;
|
||||||
import com.velocitypowered.api.proxy.server.QueryResponse;
|
import com.velocitypowered.api.proxy.server.QueryResponse;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This event is fired if proxy is getting queried over GS4 Query protocol.
|
* This event is fired if proxy is getting queried over GS4 Query protocol. Velocity will wait on
|
||||||
|
* this event to fire before providing a response to the client.
|
||||||
*/
|
*/
|
||||||
|
@AwaitingEvent
|
||||||
public final class ProxyQueryEvent {
|
public final class ProxyQueryEvent {
|
||||||
|
|
||||||
private final QueryType queryType;
|
private final QueryType queryType;
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren