From 7cd1a37914f83aca45398862abd8f828d0f6e09a Mon Sep 17 00:00:00 2001 From: s809 <43530948+s809@users.noreply.github.com> Date: Sun, 8 Sep 2024 21:21:38 +0500 Subject: [PATCH] Restore ordering of session config entries --- .../com/seibel/distanthorizons/coreapi/ModInfo.java | 2 +- .../core/multiplayer/config/SessionConfig.java | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/api/src/main/java/com/seibel/distanthorizons/coreapi/ModInfo.java b/api/src/main/java/com/seibel/distanthorizons/coreapi/ModInfo.java index 21e1e2637..d1c63e61a 100644 --- a/api/src/main/java/com/seibel/distanthorizons/coreapi/ModInfo.java +++ b/api/src/main/java/com/seibel/distanthorizons/coreapi/ModInfo.java @@ -32,7 +32,7 @@ public final class ModInfo // region Protocol versions // Incremented every time any packets are added, changed or removed, with a few exceptions. - public static final int PROTOCOL_VERSION = 4; + public static final int PROTOCOL_VERSION = 3; public static final String WRAPPER_PACKET_PATH = "message"; // endregion diff --git a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/config/SessionConfig.java b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/config/SessionConfig.java index 9f3f9cf89..2a602a18d 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/config/SessionConfig.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/config/SessionConfig.java @@ -8,7 +8,6 @@ import io.netty.buffer.ByteBuf; import java.io.Closeable; import java.util.*; -import java.util.concurrent.ConcurrentSkipListMap; import java.util.function.BiFunction; import java.util.function.Function; import java.util.stream.Collectors; @@ -17,13 +16,13 @@ import static com.seibel.distanthorizons.core.config.Config.Client.Advanced.*; public class SessionConfig implements INetworkObject { - private static final Map CONFIG_ENTRIES = new HashMap<>(); + private static final LinkedHashMap CONFIG_ENTRIES = new LinkedHashMap<>(); private static void registerConfigEntry(ConfigEntry configEntry, BiFunction valueConstrainer) { CONFIG_ENTRIES.put(Objects.requireNonNull(configEntry.getServersideShortName()), new Entry(configEntry, valueConstrainer)); } - private final SortedMap values = new ConcurrentSkipListMap<>(); + private final LinkedHashMap values = new LinkedHashMap<>(); public SessionConfig constrainingConfig; @@ -72,7 +71,12 @@ public class SessionConfig implements INetworkObject private Map getValues() { - return CONFIG_ENTRIES.keySet().stream().collect(Collectors.toMap(Function.identity(), this::getValue)); + return CONFIG_ENTRIES.keySet().stream().collect(Collectors.toMap( + Function.identity(), + this::getValue, + (x, y) -> x, + LinkedHashMap::new + )); }