From 4e647395e84716b309d7b33229995ee85e5cf4e3 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 2 May 2026 09:53:02 -0500 Subject: [PATCH] minor format updating --- .../core/api/internal/ClientApi.java | 4 +-- .../api/internal/ClientPluginChannelApi.java | 3 ++- .../core/level/DhClientLevel.java | 6 +++-- .../client/ClientNetworkState.java | 5 ++-- .../multiplayer/server/ServerPlayerState.java | 27 +++++++++++-------- .../core/world/DhClientWorld.java | 4 ++- .../core/world/DhServerWorld.java | 1 - .../world/IClientLevelWrapper.java | 1 + 8 files changed, 30 insertions(+), 21 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 a5afcdbe2..03049ffbb 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 @@ -128,7 +128,7 @@ public class ClientApi /** Holds any levels that were loaded before the {@link ClientApi#onClientOnlyConnected} was fired. */ public final HashSet waitingClientLevels = new HashSet<>(); - /** Holds any chunks that were loaded before the {@link ClientApi#clientLevelLoadEvent(IClientLevelWrapper)} was fired. */ + /** Holds any chunks that were found before the client levels are loaded. */ public final Map, IChunkWrapper> waitingChunkByClientLevelAndPos = new ConcurrentHashMap<>(); /** publicly available so {@link F3Screen} can display the error */ @@ -168,7 +168,7 @@ public class ClientApi /** * May be fired slightly before or after the associated - * {@link ClientApi#clientLevelLoadEvent(IClientLevelWrapper)} event + * level is loaded * depending on how the host mod loader functions.

* * Synchronized shouldn't be necessary, but is present to match {@see onClientOnlyDisconnected} and prevent any unforeseen issues. 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 b3b18a78e..79902676d 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 @@ -98,7 +98,8 @@ public class ClientPluginChannelApi LOGGER.info("Loading level with key: [" + msg.levelKey + "]."); IServerKeyedClientLevel keyedLevel = KEYED_CLIENT_LEVEL_MANAGER.setServerKeyedLevel(clientLevel, msg.serverKey, msg.levelKey); AbstractDhWorld world = SharedApi.getAbstractDhWorld(); - if (world != null) { + if (world != null) + { world.getOrLoadLevel(keyedLevel); } } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/level/DhClientLevel.java b/core/src/main/java/com/seibel/distanthorizons/core/level/DhClientLevel.java index 4c8b683c5..671a7dc29 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/level/DhClientLevel.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/level/DhClientLevel.java @@ -167,13 +167,15 @@ public class DhClientLevel extends AbstractDhLevel implements IDhClientLevel } - // Check this before decoding data to prevent errors if multiple client levels are receiving data at once (Immersive Portals compatibility). + // Check this before decoding data to prevent errors if multiple client levels + // are receiving data at once (Immersive Portals compatibility). boolean isSameLevel = message.isSameLevelAs(this.levelWrapper); - NETWORK_LOGGER.debug("Buffer ["+message.payload.dtoBufferId+"] isSameLevel: ["+isSameLevel+"]"); + //NETWORK_LOGGER.debug("Buffer ["+message.payload.dtoBufferId+"] isSameLevel: ["+isSameLevel+"]"); if (!isSameLevel) { return; } + try (FullDataSourceV2DTO dataSourceDto = this.networkState.fullDataPayloadReceiver.decodeDataSource(message.payload)) { diff --git a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/ClientNetworkState.java b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/ClientNetworkState.java index 10aa6e1a6..60fee8c85 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/ClientNetworkState.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/ClientNetworkState.java @@ -165,9 +165,8 @@ public class ClientNetworkState implements Closeable // send message // //==============// - public void sendLevelInitRequest(String clientLevelKey) { - this.getSession().sendMessage(new RequestLevelInitMessage(clientLevelKey)); - } + public void sendLevelInitRequest(String clientLevelKey) + { this.getSession().sendMessage(new RequestLevelInitMessage(clientLevelKey)); } public void sendConfigMessage() { this.sendConfigMessage(true); } public void sendConfigMessage(boolean blocking) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/server/ServerPlayerState.java b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/server/ServerPlayerState.java index fd18defd3..8ab032870 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/server/ServerPlayerState.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/server/ServerPlayerState.java @@ -27,6 +27,8 @@ import java.util.function.Supplier; public class ServerPlayerState implements Closeable { + private final IMinecraftSharedWrapper MC_SHARED = SingletonInjector.INSTANCE.get(IMinecraftSharedWrapper.class); + private final ConfigChangeListener levelKeyPrefixChangeListener = new ConfigChangeListener<>(Config.Server.levelKeyPrefix, this::onLevelKeyPrefixConfigChanged); private final SessionConfig.AnyChangeListener configAnyChangeListener = new SessionConfig.AnyChangeListener(this::sendConfigMessage); @@ -96,6 +98,20 @@ public class ServerPlayerState implements Closeable private void onLevelKeyPrefixConfigChanged(String newLevelKey) { this.sendLevelKey(); } + private void sendLevelKey(String clientLevelKey) + { + sendLevelKey(() -> + MC_SHARED + .getWrappedServerLevel(clientLevelKey) + .getKeyedLevelDimensionName()); + } + private void sendLevelKey() + { + sendLevelKey(() -> + this.getServerPlayer() + .getLevel() + .getKeyedLevelDimensionName()); + } private void sendLevelKey(Supplier levelKeySupplier) { if (Config.Server.sendLevelKeys.get()) @@ -110,17 +126,6 @@ public class ServerPlayerState implements Closeable } } - private void sendLevelKey(String clientLevelKey) - { - sendLevelKey(() -> SingletonInjector.INSTANCE.get(IMinecraftSharedWrapper.class) - .getWrappedServerLevel(clientLevelKey).getKeyedLevelDimensionName()); - } - - private void sendLevelKey() - { - sendLevelKey(() -> this.getServerPlayer().getLevel().getKeyedLevelDimensionName()); - } - private void sendConfigMessage() { double coordinateScale = this.getServerPlayer().getLevel().getDimensionType().getCoordinateScale(); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/world/DhClientWorld.java b/core/src/main/java/com/seibel/distanthorizons/core/world/DhClientWorld.java index 38eedf8c4..a6836592e 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/world/DhClientWorld.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/world/DhClientWorld.java @@ -92,9 +92,11 @@ public class DhClientWorld extends AbstractDhWorld implements IDhClientWorld { try { - if (!ClientApi.INSTANCE.canLoadAlready(clientLevelWrapper)) { + if (!ClientApi.INSTANCE.canLoadClientLevel(clientLevelWrapper)) + { return null; } + DhClientLevel level = new DhClientLevel(this.saveStructure, clientLevelWrapper, this.networkState); ApiEventInjector.INSTANCE.fireAllEvents(DhApiLevelLoadEvent.class, new DhApiLevelLoadEvent.EventParam(wrapper)); ClientApi.INSTANCE.loadWaitingChunksForLevel(clientLevelWrapper); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/world/DhServerWorld.java b/core/src/main/java/com/seibel/distanthorizons/core/world/DhServerWorld.java index 51bc903fc..f19d81381 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/world/DhServerWorld.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/world/DhServerWorld.java @@ -94,7 +94,6 @@ public class DhServerWorld extends AbstractDhServerWorld if (this.dhLevelByLevelWrapper.containsKey(wrapper)) { - DhServerLevel level = this.dhLevelByLevelWrapper.get(wrapper); wrapper.onUnload(); this.dhLevelByLevelWrapper.remove(wrapper).close(); ApiEventInjector.INSTANCE.fireAllEvents(DhApiLevelUnloadEvent.class, new DhApiLevelUnloadEvent.EventParam(wrapper)); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IClientLevelWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IClientLevelWrapper.java index aec34c928..02247401c 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IClientLevelWrapper.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IClientLevelWrapper.java @@ -29,6 +29,7 @@ import java.awt.*; public interface IClientLevelWrapper extends ILevelWrapper { + /** used to track when this level was last used for Immersive portals support */ void markAccessed(); @Nullable