From e102cd78cd05e8f6874ef925c8fb6fcf8311c2cc Mon Sep 17 00:00:00 2001 From: s809 <11816467-s809@users.noreply.gitlab.com> Date: Sat, 30 Mar 2024 23:40:17 +0500 Subject: [PATCH] Fix reconnection logic --- .../minecraft/MinecraftClientWrapper.java | 8 ++++++++ .../MinecraftDedicatedServerWrapper.java | 17 +++++++++++++++-- coreSubProjects | 2 +- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java index 908a644aa..2b9591af1 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java @@ -22,6 +22,7 @@ package com.seibel.distanthorizons.common.wrappers.minecraft; import java.io.File; import java.lang.invoke.MethodHandles; import java.util.ArrayList; +import java.util.List; import java.util.UUID; import com.mojang.blaze3d.platform.NativeImage; @@ -31,6 +32,7 @@ import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; import com.seibel.distanthorizons.common.wrappers.world.ServerLevelWrapper; import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.enums.EDhDirection; +import com.seibel.distanthorizons.core.wrapperInterfaces.misc.IServerPlayerWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import com.seibel.distanthorizons.coreapi.ModInfo; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; @@ -323,6 +325,12 @@ public class MinecraftClientWrapper implements IMinecraftClientWrapper, IMinecra return this.mc.gameDirectory; } + @Override + public List getPlayerList() + { + return null; + } + @Override public void executeOnRenderThread(Runnable runnable) { this.mc.execute(runnable); } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftDedicatedServerWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftDedicatedServerWrapper.java index af701e598..0f6fa5a13 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftDedicatedServerWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftDedicatedServerWrapper.java @@ -1,9 +1,12 @@ package com.seibel.distanthorizons.common.wrappers.minecraft; +import com.seibel.distanthorizons.common.wrappers.misc.ServerPlayerWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper; +import com.seibel.distanthorizons.core.wrapperInterfaces.misc.IServerPlayerWrapper; import net.minecraft.server.dedicated.DedicatedServer; import java.io.File; +import java.util.List; //@Environment(EnvType.SERVER) public class MinecraftDedicatedServerWrapper implements IMinecraftSharedWrapper @@ -19,9 +22,19 @@ public class MinecraftDedicatedServerWrapper implements IMinecraftSharedWrapper @Override public File getInstallationDirectory() { - if (dedicatedServer == null) + if (this.dedicatedServer == null) + { throw new IllegalStateException("Trying to get Installation Direction before Dedicated server complete initialization!"); - return dedicatedServer.getServerDirectory(); + } + return this.dedicatedServer.getServerDirectory(); + } + + @Override + public List getPlayerList() + { + return this.dedicatedServer.getPlayerList().getPlayers().stream() + .map(serverPlayer -> (IServerPlayerWrapper) ServerPlayerWrapper.getWrapper(serverPlayer)) + .toList(); } } diff --git a/coreSubProjects b/coreSubProjects index 0d355f675..682970912 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit 0d355f675af13078d79b133c950646b1b2426e0b +Subproject commit 682970912331b23b77dd070dc35e57bf8fa1fbb1