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
+13
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;
|
// this for whatever reason gets called multiple times even when joining;
|
||||||
TickSpeed.reset();
|
TickSpeed.reset();
|
||||||
|
}
|
||||||
|
public static void onServerDoneClosing(MinecraftServer server)
|
||||||
|
{
|
||||||
settingsManager.detachServer();
|
settingsManager.detachServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ public abstract class MinecraftServer_coreMixin
|
|||||||
CarpetServer.onServerClosed((MinecraftServer) (Object) this);
|
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"))
|
@Inject(method = "prepareStartRegion", at = @At("RETURN"))
|
||||||
private void afterSpawnCreated(WorldGenerationProgressListener worldGenerationProgressListener, CallbackInfo ci)
|
private void afterSpawnCreated(WorldGenerationProgressListener worldGenerationProgressListener, CallbackInfo ci)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -36,10 +36,14 @@ public class CarpetClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void disconnect()
|
public static void disconnect()
|
||||||
|
{
|
||||||
|
if (isServerCarpet)
|
||||||
{
|
{
|
||||||
isServerCarpet = false;
|
isServerCarpet = false;
|
||||||
clientPlayer = null;
|
clientPlayer = null;
|
||||||
CarpetServer.onServerClosed(null);
|
CarpetServer.onServerClosed(null);
|
||||||
|
CarpetServer.onServerDoneClosing(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setCarpet()
|
public static void setCarpet()
|
||||||
|
|||||||
Reference in new issue
Block a user