Waterfall/BungeeCord-Patches/0050-Allow-to-disable-tabli...

76 lines
3.4 KiB
Diff

From 2ee860a1e91e6e08c061c0338dc60458afe618ca 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 1a863dc0..d5405b90 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
@@ -174,8 +174,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.44.0