Waterfall/BungeeCord-Patches/0052-Allow-to-disable-tablist-rewrite.patch
Shane Freeder f49e238640
Updated Upstream (BungeeCord)
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:
5e7dcc48 #3382: Use the correct write method for ChatChain in ClientChat packet
5cdba87b #3377: Add additional checks for protocol length limits
2022-08-20 17:43:03 +01:00

76 lines
3.4 KiB
Diff

From 8539f47471127e98aae462b3e99162913ee41663 Mon Sep 17 00:00:00 2001
From: xDark <aleshkailyashevich@gmail.com>
Date: Fri, 31 May 2019 08:11:31 +0300
Subject: [PATCH] Allow to disable tablist rewrite
diff --git a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java
index 4a198ee9..d69463f0 100644
--- a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java
+++ b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java
@@ -255,4 +255,10 @@ public interface ProxyConfig
* @return Should we disable entity metadata rewriting?
*/
boolean isDisableEntityMetadataRewrite();
+
+ /**
+ * Whether tablist rewriting should be disabled or not
+ * @return {@code true} if tablist rewriting is disabled, {@code false} otherwise
+ */
+ boolean isDisableTabListRewrite();
}
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
index e860214f..b88e3c8a 100644
--- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
@@ -43,6 +43,7 @@ public class WaterfallConfiguration extends Configuration {
private boolean disableModernTabLimiter = true;
private boolean disableEntityMetadataRewrite = false;
+ private boolean disableTabListRewrite = true;
@Override
public void load() {
@@ -56,6 +57,7 @@ public class WaterfallConfiguration extends Configuration {
tabThrottle = config.getInt("throttling.tab_complete", tabThrottle);
disableModernTabLimiter = config.getBoolean("disable_modern_tab_limiter", disableModernTabLimiter);
disableEntityMetadataRewrite = config.getBoolean("disable_entity_metadata_rewrite", disableEntityMetadataRewrite);
+ disableTabListRewrite = config.getBoolean("disable_tab_list_rewrite", disableTabListRewrite);
}
@Override
@@ -87,4 +89,9 @@ public class WaterfallConfiguration extends Configuration {
public boolean isDisableEntityMetadataRewrite() {
return disableEntityMetadataRewrite;
}
+
+ @Override
+ public boolean isDisableTabListRewrite() {
+ return disableTabListRewrite;
+ }
}
diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java
index a4f242b2..9dfb11e9 100644
--- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java
+++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java
@@ -168,8 +168,14 @@ public class DownstreamBridge extends PacketHandler
@Override
public void handle(PlayerListItem playerList) throws Exception
{
- con.getTabListHandler().onUpdate( TabList.rewrite( playerList ) );
- throw CancelSendSignal.INSTANCE; // Always throw because of profile rewriting
+ //Waterfall start
+ boolean skipRewrites = bungee.getConfig().isDisableTabListRewrite();
+ con.getTabListHandler().onUpdate( skipRewrites ? playerList : TabList.rewrite( playerList ) );
+ if ( !skipRewrites )
+ {
+ throw CancelSendSignal.INSTANCE; // Only throw if profile rewriting is enabled
+ }
+ // Waterfall end
}
@Override
--
2.37.2