From fdf735420f0163296ec837884d3b0fc4269cc97f Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Thu, 25 Apr 2024 20:21:36 +0200 Subject: [PATCH] Add enforce-secure-chat setting to determine what is sent to the client by default --- .../myles/ViaVersion/api/protocol/ProtocolVersion.java | 8 ++++---- .../viaversion/api/configuration/ViaVersionConfig.java | 7 +++++++ .../viaversion/configuration/AbstractViaConfig.java | 9 +++++++-- .../protocol1_19_1to1_19/Protocol1_19_1To1_19.java | 2 +- .../rewriter/ComponentRewriter1_20_5.java | 2 +- .../rewriter/EntityPacketRewriter1_20_5.java | 5 ++--- common/src/main/resources/assets/viaversion/config.yml | 4 ++++ 7 files changed, 26 insertions(+), 11 deletions(-) diff --git a/api-legacy/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java b/api-legacy/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java index 440124a6b..3b312bad6 100644 --- a/api-legacy/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java +++ b/api-legacy/src/main/java/us/myles/ViaVersion/api/protocol/ProtocolVersion.java @@ -55,10 +55,10 @@ public class ProtocolVersion { public static final ProtocolVersion v1_9 = register(107, "1.9"); public static final ProtocolVersion v1_9_1 = register(108, "1.9.1"); public static final ProtocolVersion v1_9_2 = register(109, "1.9.2"); - public static final ProtocolVersion v1_9_3 = register(110, "1.9.3/4", new SubVersionRange("1.9", 3, 4)); + public static final ProtocolVersion v1_9_3 = register(110, "1.9.3/1.9.4", new SubVersionRange("1.9", 3, 4)); public static final ProtocolVersion v1_10 = register(210, "1.10.x"); public static final ProtocolVersion v1_11 = register(315, "1.11"); - public static final ProtocolVersion v1_11_1 = register(316, "1.11.1/2", new SubVersionRange("1.11", 1, 2)); + public static final ProtocolVersion v1_11_1 = register(316, "1.11.1/1.11.2", new SubVersionRange("1.11", 1, 2)); public static final ProtocolVersion v1_12 = register(335, "1.12"); public static final ProtocolVersion v1_12_1 = register(338, "1.12.1"); public static final ProtocolVersion v1_12_2 = register(340, "1.12.2"); @@ -77,13 +77,13 @@ public class ProtocolVersion { public static final ProtocolVersion v1_16_1 = register(736, "1.16.1"); public static final ProtocolVersion v1_16_2 = register(751, "1.16.2"); public static final ProtocolVersion v1_16_3 = register(753, "1.16.3"); - public static final ProtocolVersion v1_16_4 = register(754, "1.16.4/5", new SubVersionRange("1.16", 4, 5)); + public static final ProtocolVersion v1_16_4 = register(754, "1.16.4/1.16.5", new SubVersionRange("1.16", 4, 5)); public static final ProtocolVersion v1_17 = register(755, "1.17"); public static final ProtocolVersion v1_17_1 = register(756, "1.17.1"); public static final ProtocolVersion v1_18 = register(757, "1.18/1.18.1", new SubVersionRange("1.18", 0, 1)); public static final ProtocolVersion v1_18_2 = register(758, "1.18.2"); public static final ProtocolVersion v1_19 = register(759, "1.19"); - public static final ProtocolVersion v1_19_1 = register(760, "1.19.1/2", new SubVersionRange("1.19", 1, 2)); + public static final ProtocolVersion v1_19_1 = register(760, "1.19.1/1.19.2", new SubVersionRange("1.19", 1, 2)); public static final ProtocolVersion v1_19_3 = register(761, "1.19.3"); public static final ProtocolVersion v1_19_4 = register(762, "1.19.4"); public static final ProtocolVersion v1_20 = register(763, "1.20/1.20.1", new SubVersionRange("1.20", 0, 1)); diff --git a/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java b/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java index e3f04aba4..ab564277a 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java +++ b/api/src/main/java/com/viaversion/viaversion/api/configuration/ViaVersionConfig.java @@ -450,4 +450,11 @@ public interface ViaVersionConfig extends Config { * @return true if enabled */ boolean translateOcelotToCat(); + + /** + * Returns the value of the "enforce secure chat" setting sent to 1.19+ clients on join. + * + * @return the value sent to 1.19+ clients on join + */ + boolean enforceSecureChat(); } diff --git a/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java b/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java index c0d029a38..66392d60a 100644 --- a/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java +++ b/common/src/main/java/com/viaversion/viaversion/configuration/AbstractViaConfig.java @@ -22,14 +22,12 @@ import com.viaversion.viaversion.api.configuration.ViaVersionConfig; import com.viaversion.viaversion.api.minecraft.WorldIdentifiers; import com.viaversion.viaversion.api.protocol.version.BlockedProtocolVersions; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; -import com.viaversion.viaversion.api.protocol.version.VersionType; import com.viaversion.viaversion.protocol.BlockedProtocolVersionsImpl; import com.viaversion.viaversion.util.Config; import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.function.Predicate; import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; import it.unimi.dsi.fastutil.objects.ObjectSet; import org.checkerframework.checker.nullness.qual.Nullable; @@ -89,6 +87,7 @@ public abstract class AbstractViaConfig extends Config implements ViaVersionConf private WorldIdentifiers map1_16WorldNames; private boolean cache1_17Light; private boolean translateOcelotToCat; + private boolean enforceSecureChat; protected AbstractViaConfig(final File configFile) { super(configFile); @@ -157,6 +156,7 @@ public abstract class AbstractViaConfig extends Config implements ViaVersionConf worlds.getOrDefault("end", WorldIdentifiers.END_DEFAULT)); cache1_17Light = getBoolean("cache-1_17-light", true); translateOcelotToCat = getBoolean("translate-ocelot-to-cat", true); + enforceSecureChat = getBoolean("enforce-secure-chat", false); } private BlockedProtocolVersions loadBlockedProtocolVersions() { @@ -528,4 +528,9 @@ public abstract class AbstractViaConfig extends Config implements ViaVersionConf public boolean translateOcelotToCat() { return translateOcelotToCat; } + + @Override + public boolean enforceSecureChat() { + return enforceSecureChat; + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java index 5ef23ed4d..39cb83893 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19_1to1_19/Protocol1_19_1To1_19.java @@ -208,7 +208,7 @@ public final class Protocol1_19_1To1_19 extends AbstractProtocol