@Override public void connect(ServerInfo target) { connect( target, null, ServerConnectEvent.Reason.PLUGIN ); }
public void connectNow(ServerInfo target, ServerConnectEvent.Reason reason) { dimensionChange = true; connect( target, reason ); }
@Override public void connect(ServerInfo target, ServerConnectEvent.Reason reason) { connect( target, null, false, reason ); }
@Override public void connect(ServerInfo target, Callback<Boolean> callback) { connect( target, callback, false, ServerConnectEvent.Reason.PLUGIN ); }
@Override public void connect(ServerInfo target, Callback<Boolean> callback, ServerConnectEvent.Reason reason) { connect( target, callback, false, reason ); }
public void connect(ServerInfo info, final Callback<Boolean> callback, final boolean retry) { connect( info, callback, retry, ServerConnectEvent.Reason.PLUGIN ); }
@Override @SuppressWarnings("ThrowableResultIgnored") public void operationComplete(ChannelFuture future) throws Exception { if ( callback != null ) { callback.done( ( future.isSuccess() ) ? ServerConnectRequest.Result.SUCCESS : ServerConnectRequest.Result.FAIL, future.cause() ); } if ( !future.isSuccess() ) { future.channel().close(); pendingConnects.remove( target ); ServerInfo def = updateAndGetNextServer( target ); if ( request.isRetry() && def != null && ( getServer() == null || def != getServer().getInfo() ) ) { sendMessage( bungee.getTranslation( "fallback_lobby" ) ); connect( def, null, true, ServerConnectEvent.Reason.LOBBY_FALLBACK ); } else if ( dimensionChange ) { disconnect( bungee.getTranslation( "fallback_kick", future.cause().getClass().getName() ) ); } else { sendMessage( bungee.getTranslation( "fallback_kick", future.cause().getClass().getName() ) ); } } } };
public void connect(ServerInfo info, final Callback<Boolean> callback, final boolean retry, ServerConnectEvent.Reason reason) { Preconditions.checkNotNull( info, "info" ); ServerConnectRequest.Builder builder = ServerConnectRequest.builder().retry( retry ).reason( reason ).target( info ); if ( callback != null ) { // Convert the Callback<Boolean> to be compatible with Callback<Result> from ServerConnectRequest. builder.callback( new Callback<ServerConnectRequest.Result>() { @Override public void done(ServerConnectRequest.Result result, Throwable error) { callback.done( ( result == ServerConnectRequest.Result.SUCCESS ) ? Boolean.TRUE : Boolean.FALSE, error ); } } ); } connect( builder.build() ); }
@Override public void connect(ServerInfo target) { connect( target, null ); }
@Override public void connect(ServerInfo target, Callback<Boolean> callback) { connect( target, callback, false ); }
public void connect(ServerInfo info, final Callback<Boolean> callback, final boolean retry) { connect(info, callback, retry, 5000); // todo: configurable }
if ( server != null ) con.connect( server, ServerConnectEvent.Reason.PLUGIN_MESSAGE );
@Override public void handle(Kick kick) throws Exception { ServerInfo def = user.updateAndGetNextServer( target ); ServerKickEvent event = new ServerKickEvent( user, target, ComponentSerializer.parse( kick.getMessage() ), def, ServerKickEvent.State.CONNECTING ); if ( event.getKickReason().toLowerCase( Locale.ROOT ).contains( "outdated" ) && def != null ) { // Pre cancel the event if we are going to try another server event.setCancelled( true ); } bungee.getPluginManager().callEvent( event ); if ( event.isCancelled() && event.getCancelServer() != null ) { obsolete = true; user.connect( event.getCancelServer(), ServerConnectEvent.Reason.KICK_REDIRECT ); throw CancelSendSignal.INSTANCE; } String message = bungee.getTranslation( "connect_kick", target.getName(), event.getKickReason() ); if ( user.isDimensionChange() ) { user.disconnect( message ); } else { user.sendMessage( message ); } throw CancelSendSignal.INSTANCE; }
public void connectNow(ServerInfo target) { sendDimensionSwitch(); connect( target ); }
@Override @SuppressWarnings("ThrowableResultIgnored") public void operationComplete(ChannelFuture future) throws Exception { if ( callback != null ) { callback.done( future.isSuccess(), future.cause() ); } if ( !future.isSuccess() ) { future.channel().close(); pendingConnects.remove( target ); ServerInfo def = updateAndGetNextServer( target ); if ( retry && def != null && ( getServer() == null || def != getServer().getInfo() ) ) { sendMessage( bungee.getTranslation( "fallback_lobby" ) ); connect( def, null, false, timeout ); } else if ( dimensionChange ) { disconnect( bungee.getTranslation( "fallback_kick", future.cause().getClass().getName() ) ); } else { sendMessage( bungee.getTranslation( "fallback_kick", future.cause().getClass().getName() ) ); } } } };
if ( server != null ) con.connect( server );
@Override public void handle(Kick kick) throws Exception { ServerInfo def = user.updateAndGetNextServer( target ); ServerKickEvent event = new ServerKickEvent( user, target, ComponentSerializer.parse( kick.getMessage() ), def, ServerKickEvent.State.CONNECTING ); if ( event.getKickReason().toLowerCase().contains( "outdated" ) && def != null ) { // Pre cancel the event if we are going to try another server event.setCancelled( true ); } bungee.getPluginManager().callEvent( event ); if ( event.isCancelled() && event.getCancelServer() != null ) { obsolete = true; user.connect( event.getCancelServer() ); throw CancelSendSignal.INSTANCE; } String message = bungee.getTranslation( "connect_kick", target.getName(), event.getKickReason() ); if ( user.isDimensionChange() ) { user.disconnect( message ); } else { user.sendMessage( message ); } throw CancelSendSignal.INSTANCE; }