scarpet and carpet close handler now triggers with players still online in SP

This commit is contained in:
gnembon committed 2021-02-08 18:06:49 -04:00
1 parent 1d4f105174
commit 0a45778e4a
2 files changed
+16 -15

No files matched your search

+15 -14
View File
@@ -171,14 +171,22 @@ public class CarpetServer implements ClientModInitializer,DedicatedServerModInit
public static void onServerClosed(MinecraftServer server)
{
if (scriptServer != null) scriptServer.onClose();
ServerNetworkHandler.close();
currentCommandDispatcher = null;
// this for whatever reason gets called multiple times even when joining on SP
// so we allow to pass multiple times gating it only on existing server ref
if (minecraft_server != null)
{
if (scriptServer != null) scriptServer.onClose();
ServerNetworkHandler.close();
currentCommandDispatcher = null;
LoggerRegistry.stopLoggers();
extensions.forEach(e -> e.onServerClosed(server));
minecraft_server = null;
disconnect();
LoggerRegistry.stopLoggers();
extensions.forEach(e -> e.onServerClosed(server));
minecraft_server = null;
}
// this for whatever reason gets called multiple times even when joining;
TickSpeed.reset();
settingsManager.detachServer();
}
public static void registerExtensionLoggers()
@@ -186,13 +194,6 @@ public class CarpetServer implements ClientModInitializer,DedicatedServerModInit
extensions.forEach(CarpetExtension::registerLoggers);
}
public static void disconnect()
{
// this for whatever reason gets called multiple times even when joining;
TickSpeed.reset();
settingsManager.detachServer();
}
public static void onReload(MinecraftServer server)
{
scriptServer.reload(server);
@@ -39,7 +39,7 @@ public class CarpetClient
{
isServerCarpet = false;
clientPlayer = null;
CarpetServer.disconnect();
CarpetServer.onServerClosed(null);
}
public static void setCarpet()