From 2aec3d980eb5ed697978b700b508561bba221692 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 28 Sep 2024 10:22:21 -0500 Subject: [PATCH] Fix F3 menu showing the same level multiple times --- .../core/world/AbstractDhServerWorld.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/world/AbstractDhServerWorld.java b/core/src/main/java/com/seibel/distanthorizons/core/world/AbstractDhServerWorld.java index 201415238..780c68a5f 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/world/AbstractDhServerWorld.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/world/AbstractDhServerWorld.java @@ -11,6 +11,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.world.IServerLevelWrapp import org.jetbrains.annotations.NotNull; import java.util.HashMap; +import java.util.HashSet; public abstract class AbstractDhServerWorld extends AbstractDhWorld implements IDhServerWorld { @@ -76,7 +77,13 @@ public abstract class AbstractDhServerWorld getAllLoadedLevels() { return this.dhLevelByLevelWrapper.values(); } + public Iterable getAllLoadedLevels() + { + // hash set wrapper is used to filter out duplicate levels, + // which can happen when on a singleplayer world and both a server/client level wrapper + // are active for the same dimension + return new HashSet<>(this.dhLevelByLevelWrapper.values()); + } @Override public int getLoadedLevelCount() { return this.dhLevelByLevelWrapper.size(); }