separated properly client disconnect from server shutdown allowing for retaining carpet settings till world is gone. Fixes #854
This commit is contained in:
1 parent
c6db496a1f
commit
fb4c40c951
3 files changed
+16
-3
No files matched your search
@@ -188,6 +188,9 @@ public class CarpetServer implements ClientModInitializer,DedicatedServerModInit
|
||||
|
||||
// this for whatever reason gets called multiple times even when joining;
|
||||
TickSpeed.reset();
|
||||
}
|
||||
public static void onServerDoneClosing(MinecraftServer server)
|
||||
{
|
||||
settingsManager.detachServer();
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,12 @@ public abstract class MinecraftServer_coreMixin
|
||||
CarpetServer.onServerClosed((MinecraftServer) (Object) this);
|
||||
}
|
||||
|
||||
@Inject(method = "shutdown", at = @At("TAIL"))
|
||||
private void serverDoneClosed(CallbackInfo ci)
|
||||
{
|
||||
CarpetServer.onServerDoneClosing((MinecraftServer) (Object) this);
|
||||
}
|
||||
|
||||
@Inject(method = "prepareStartRegion", at = @At("RETURN"))
|
||||
private void afterSpawnCreated(WorldGenerationProgressListener worldGenerationProgressListener, CallbackInfo ci)
|
||||
{
|
||||
|
||||
@@ -37,9 +37,13 @@ public class CarpetClient
|
||||
|
||||
public static void disconnect()
|
||||
{
|
||||
isServerCarpet = false;
|
||||
clientPlayer = null;
|
||||
CarpetServer.onServerClosed(null);
|
||||
if (isServerCarpet)
|
||||
{
|
||||
isServerCarpet = false;
|
||||
clientPlayer = null;
|
||||
CarpetServer.onServerClosed(null);
|
||||
CarpetServer.onServerDoneClosing(null);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setCarpet()
|
||||
|
||||
Reference in new issue
Block a user