mirror of
https://github.com/PaperMC/Waterfall.git
synced 2024-12-03 15:43:37 +01:00
42619795e1
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing BungeeCord Changes: 0509303f #3519: Queue configuration phase packets from API methods f486a251 #3518: Bump io.netty:netty-bom from 4.1.97.Final to 4.1.98.Final
95 lines
4.9 KiB
Diff
95 lines
4.9 KiB
Diff
From 974b20b184e44b3610e6238526a934bbe1344976 Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
Date: Fri, 16 Apr 2021 06:29:28 +0100
|
|
Subject: [PATCH] ServerConnectRequest#sendFeedback
|
|
|
|
|
|
diff --git a/api/src/main/java/net/md_5/bungee/api/ServerConnectRequest.java b/api/src/main/java/net/md_5/bungee/api/ServerConnectRequest.java
|
|
index c81b0a4e..d21370be 100644
|
|
--- a/api/src/main/java/net/md_5/bungee/api/ServerConnectRequest.java
|
|
+++ b/api/src/main/java/net/md_5/bungee/api/ServerConnectRequest.java
|
|
@@ -68,6 +68,14 @@ public class ServerConnectRequest
|
|
*/
|
|
@Setter
|
|
private boolean retry;
|
|
+ // Waterfall start
|
|
+ /**
|
|
+ * Should feedback from the request be sent to players, allows plugins
|
|
+ * to silently deal with the outcome on their own
|
|
+ */
|
|
+ @Setter
|
|
+ private boolean sendFeedback;
|
|
+ // Waterfall end
|
|
|
|
/**
|
|
* Class that sets default properties/adds methods to the lombok builder
|
|
@@ -77,5 +85,6 @@ public class ServerConnectRequest
|
|
{
|
|
|
|
private int connectTimeout = ProxyServer.getInstance().getConfig().getServerConnectTimeout();
|
|
+ private boolean isSendFeedback = true; // Waterfall # God. f##king. lombok.
|
|
}
|
|
}
|
|
diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
|
|
index a25f9e79..c75e9bad 100644
|
|
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
|
|
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
|
|
@@ -294,12 +294,16 @@ public final class UserConnection implements ProxiedPlayer
|
|
connect(info, callback, retry, ServerConnectEvent.Reason.PLUGIN, timeout);
|
|
}
|
|
|
|
- public void connect(ServerInfo info, final Callback<Boolean> callback, final boolean retry, ServerConnectEvent.Reason reason, final int timeout)
|
|
+ public void connect(ServerInfo info, final Callback<Boolean> callback, final boolean retry, ServerConnectEvent.Reason reason, final int timeout) {
|
|
+ this.connect(info, callback, retry, reason, timeout, true);
|
|
+ }
|
|
+
|
|
+ public void connect(ServerInfo info, final Callback<Boolean> callback, final boolean retry, ServerConnectEvent.Reason reason, final int timeout, boolean sendFeedback)
|
|
{
|
|
// Waterfall end
|
|
Preconditions.checkNotNull( info, "info" );
|
|
|
|
- ServerConnectRequest.Builder builder = ServerConnectRequest.builder().retry( retry ).reason( reason ).target( info );
|
|
+ ServerConnectRequest.Builder builder = ServerConnectRequest.builder().retry( retry ).reason( reason ).target( info ).sendFeedback(sendFeedback); // Waterfall - feedback param
|
|
builder.connectTimeout(timeout); // Waterfall
|
|
if ( callback != null )
|
|
{
|
|
@@ -347,7 +351,7 @@ public final class UserConnection implements ProxiedPlayer
|
|
callback.done( ServerConnectRequest.Result.ALREADY_CONNECTED, null );
|
|
}
|
|
|
|
- sendMessage( bungee.getTranslation( "already_connected" ) );
|
|
+ if (request.isSendFeedback()) sendMessage( bungee.getTranslation( "already_connected" ) ); // Waterfall
|
|
return;
|
|
}
|
|
if ( pendingConnects.contains( target ) )
|
|
@@ -357,7 +361,7 @@ public final class UserConnection implements ProxiedPlayer
|
|
callback.done( ServerConnectRequest.Result.ALREADY_CONNECTING, null );
|
|
}
|
|
|
|
- sendMessage( bungee.getTranslation( "already_connecting" ) );
|
|
+ if (request.isSendFeedback()) sendMessage( bungee.getTranslation( "already_connecting" ) ); // Waterfall
|
|
return;
|
|
}
|
|
|
|
@@ -393,14 +397,14 @@ public final class UserConnection implements ProxiedPlayer
|
|
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, request.getConnectTimeout() ); // Waterfall
|
|
+ if (request.isSendFeedback()) sendMessage( bungee.getTranslation( "fallback_lobby" ) ); // Waterfall
|
|
+ connect( def, null, true, ServerConnectEvent.Reason.LOBBY_FALLBACK, request.getConnectTimeout(), request.isSendFeedback() ); // Waterfall
|
|
} else if ( dimensionChange )
|
|
{
|
|
disconnect( bungee.getTranslation( "fallback_kick", connectionFailMessage( future.cause() ) ) );
|
|
} else
|
|
{
|
|
- sendMessage( bungee.getTranslation( "fallback_kick", connectionFailMessage( future.cause() ) ) );
|
|
+ if (request.isSendFeedback()) sendMessage( bungee.getTranslation( "fallback_kick", connectionFailMessage( future.cause() ) ) );
|
|
}
|
|
}
|
|
}
|
|
--
|
|
2.42.0
|
|
|