diff --git a/src/main/java/carpet/CarpetServer.java b/src/main/java/carpet/CarpetServer.java index 7f471737..554a4ca1 100644 --- a/src/main/java/carpet/CarpetServer.java +++ b/src/main/java/carpet/CarpetServer.java @@ -118,6 +118,7 @@ public class CarpetServer // static for now - easier to handle all around the co if (scriptServer != null) scriptServer.onClose(); settingsManager.detachServer(); LoggerRegistry.stopLoggers(); + TickSpeed.reset(); extensions.forEach(e -> e.onServerClosed(server)); minecraft_server = null; } diff --git a/src/main/java/carpet/helpers/TickSpeed.java b/src/main/java/carpet/helpers/TickSpeed.java index 2daf4fd1..33d735b7 100644 --- a/src/main/java/carpet/helpers/TickSpeed.java +++ b/src/main/java/carpet/helpers/TickSpeed.java @@ -44,6 +44,24 @@ public class TickSpeed } } + public static void reset() + { + tickrate = 20.0f; + mspt = 50.0f; + time_bias = 0; + time_warp_start_time = 0; + time_warp_scheduled_ticks = 0; + time_advancerer = null; + tick_warp_callback = null; + tick_warp_sender = null; + player_active_timeout = 0; + process_entities = true; + deepFreeze = false; + is_paused = false; + is_superHot = false; + notifyTickrateListeners("carpet"); + } + public static void add_ticks_to_run_in_pause(int ticks) { player_active_timeout = PLAYER_GRACE+ticks;