From 9d1173344422717af1525894c2e59dc3598da05c Mon Sep 17 00:00:00 2001 From: s809 <43530948+s809@users.noreply.github.com> Date: Sat, 3 Aug 2024 15:42:43 +0500 Subject: [PATCH] Fix dimension switching (untested) --- .../distanthorizons/core/api/internal/ClientApi.java | 2 +- .../core/api/internal/ClientPluginChannelApi.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientApi.java b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientApi.java index ec4df1ad7..90b21502f 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientApi.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientApi.java @@ -235,7 +235,7 @@ public class ClientApi AbstractDhWorld world = SharedApi.getAbstractDhWorld(); if (world != null) { - if (!this.pluginChannelApi.allowLevelAutoload()) + if (!this.pluginChannelApi.allowLevelLoading(level)) { LOGGER.info("Levels in this connection are managed by the server, skipping auto-load."); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java index 688d2f809..bcf74a98c 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java @@ -27,24 +27,24 @@ public class ClientPluginChannelApi private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); private static final IKeyedClientLevelManager KEYED_CLIENT_LEVEL_MANAGER = SingletonInjector.INSTANCE.get(IKeyedClientLevelManager.class); + private final Consumer levelLoadHandler; private final Consumer levelUnloadHandler; - private final Consumer multiverseLevelLoadHandler; @Nullable public Session session; - public boolean allowLevelAutoload() + public boolean allowLevelLoading(IClientLevelWrapper level) { - return (KEYED_CLIENT_LEVEL_MANAGER.isEnabled() && KEYED_CLIENT_LEVEL_MANAGER.getServerKeyedLevel() != null) + return (KEYED_CLIENT_LEVEL_MANAGER.isEnabled() && level instanceof IServerKeyedClientLevel) || !KEYED_CLIENT_LEVEL_MANAGER.isEnabled(); } public ClientPluginChannelApi(Consumer levelLoadHandler, Consumer levelUnloadHandler) { + this.levelLoadHandler = levelLoadHandler; this.levelUnloadHandler = levelUnloadHandler; - this.multiverseLevelLoadHandler = levelLoadHandler; } public void onJoin(@NonNull Session session) @@ -90,7 +90,7 @@ public class ClientPluginChannelApi { LOGGER.info("Loading level with key: " + msg.levelKey); IServerKeyedClientLevel keyedLevel = KEYED_CLIENT_LEVEL_MANAGER.setServerKeyedLevel(clientLevel, msg.levelKey); - this.multiverseLevelLoadHandler.accept(keyedLevel); + this.levelLoadHandler.accept(keyedLevel); } }); }