#2498: Add ServerConnectRequest accessor in ServerConnectEvent.
- Make the timeout and retry status mutable so plugins can modify these values directly within the ServerConnectEvent.
This commit is contained in:
parent
b4b998b2e5
commit
cdacc0b1be
@ -3,6 +3,7 @@ package net.md_5.bungee.api;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
|
import lombok.Setter;
|
||||||
import net.md_5.bungee.api.config.ServerInfo;
|
import net.md_5.bungee.api.config.ServerInfo;
|
||||||
import net.md_5.bungee.api.event.ServerConnectEvent;
|
import net.md_5.bungee.api.event.ServerConnectEvent;
|
||||||
|
|
||||||
@ -59,12 +60,14 @@ public class ServerConnectRequest
|
|||||||
/**
|
/**
|
||||||
* Timeout in milliseconds for request.
|
* Timeout in milliseconds for request.
|
||||||
*/
|
*/
|
||||||
private final int connectTimeout;
|
@Setter
|
||||||
|
private int connectTimeout;
|
||||||
/**
|
/**
|
||||||
* Should the player be attempted to connect to the next server in their
|
* Should the player be attempted to connect to the next server in their
|
||||||
* queue if the initial request fails.
|
* queue if the initial request fails.
|
||||||
*/
|
*/
|
||||||
private final boolean retry;
|
@Setter
|
||||||
|
private boolean retry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that sets default properties/adds methods to the lombok builder
|
* Class that sets default properties/adds methods to the lombok builder
|
||||||
|
@ -4,6 +4,7 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
import net.md_5.bungee.api.ServerConnectRequest;
|
||||||
import net.md_5.bungee.api.config.ServerInfo;
|
import net.md_5.bungee.api.config.ServerInfo;
|
||||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
import net.md_5.bungee.api.plugin.Cancellable;
|
import net.md_5.bungee.api.plugin.Cancellable;
|
||||||
@ -30,11 +31,18 @@ public class ServerConnectEvent extends Event implements Cancellable
|
|||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
private ServerInfo target;
|
private ServerInfo target;
|
||||||
|
/**
|
||||||
|
* Reason for connecting to a new server.
|
||||||
|
*/
|
||||||
|
private final Reason reason;
|
||||||
|
/**
|
||||||
|
* Request used to connect to given server.
|
||||||
|
*/
|
||||||
|
private final ServerConnectRequest request;
|
||||||
/**
|
/**
|
||||||
* Cancelled state.
|
* Cancelled state.
|
||||||
*/
|
*/
|
||||||
private boolean cancelled;
|
private boolean cancelled;
|
||||||
private final Reason reason;
|
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ServerConnectEvent(ProxiedPlayer player, ServerInfo target)
|
public ServerConnectEvent(ProxiedPlayer player, ServerInfo target)
|
||||||
@ -42,11 +50,18 @@ public class ServerConnectEvent extends Event implements Cancellable
|
|||||||
this( player, target, Reason.UNKNOWN );
|
this( player, target, Reason.UNKNOWN );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public ServerConnectEvent(ProxiedPlayer player, ServerInfo target, Reason reason)
|
public ServerConnectEvent(ProxiedPlayer player, ServerInfo target, Reason reason)
|
||||||
|
{
|
||||||
|
this( player, target, reason, null );
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServerConnectEvent(ProxiedPlayer player, ServerInfo target, Reason reason, ServerConnectRequest request)
|
||||||
{
|
{
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.target = target;
|
this.target = target;
|
||||||
this.reason = reason;
|
this.reason = reason;
|
||||||
|
this.request = request;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Reason
|
public enum Reason
|
||||||
|
@ -274,7 +274,7 @@ public final class UserConnection implements ProxiedPlayer
|
|||||||
Preconditions.checkNotNull( request, "request" );
|
Preconditions.checkNotNull( request, "request" );
|
||||||
|
|
||||||
final Callback<ServerConnectRequest.Result> callback = request.getCallback();
|
final Callback<ServerConnectRequest.Result> callback = request.getCallback();
|
||||||
ServerConnectEvent event = new ServerConnectEvent( this, request.getTarget(), request.getReason() );
|
ServerConnectEvent event = new ServerConnectEvent( this, request.getTarget(), request.getReason(), request );
|
||||||
if ( bungee.getPluginManager().callEvent( event ).isCancelled() )
|
if ( bungee.getPluginManager().callEvent( event ).isCancelled() )
|
||||||
{
|
{
|
||||||
if ( callback != null )
|
if ( callback != null )
|
||||||
|
Loading…
Reference in New Issue
Block a user