diff --git a/src/engine/gameManager/ZoneManager.java b/src/engine/gameManager/ZoneManager.java index 53885f1c..66211db9 100644 --- a/src/engine/gameManager/ZoneManager.java +++ b/src/engine/gameManager/ZoneManager.java @@ -156,7 +156,7 @@ public enum ZoneManager { ZoneManager.hotZone = zone; ZoneManager.hotZoneCycle = 1; // Used with HOTZONE_DURATION from config. zone.hasBeenHotzone = true; - hotZoneLastUpdate = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant(); + ZoneManager.hotZoneLastUpdate = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant(); } diff --git a/src/engine/net/client/msg/HotzoneChangeMsg.java b/src/engine/net/client/msg/HotzoneChangeMsg.java index aa570a33..9fc1a665 100644 --- a/src/engine/net/client/msg/HotzoneChangeMsg.java +++ b/src/engine/net/client/msg/HotzoneChangeMsg.java @@ -19,13 +19,15 @@ import engine.net.client.Protocol; import java.time.Duration; import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; public class HotzoneChangeMsg extends ClientNetMsg { private int zoneType; private int zoneID; - private Duration endOfCycle; + private int secondsRemaining; /** * This is the general purpose constructor. @@ -36,8 +38,8 @@ public class HotzoneChangeMsg extends ClientNetMsg { this.zoneID = zoneID; int hotZoneDuration = Integer.parseInt(ConfigManager.MB_HOTZONE_DURATION.getValue()); - - endOfCycle = Duration.between(Instant.now(), ZoneManager.hotZoneLastUpdate.plusSeconds(hotZoneDuration * 3600)); + Instant currentInstant = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant(); + secondsRemaining = (int) Duration.between(currentInstant, ZoneManager.hotZoneLastUpdate.plusSeconds(hotZoneDuration * 3600)).getSeconds(); } @@ -59,7 +61,7 @@ public class HotzoneChangeMsg extends ClientNetMsg { protected void _serialize(ByteBufferWriter writer) { writer.putInt(this.zoneType); writer.putInt(this.zoneID); - writer.putInt((int) endOfCycle.getSeconds()); + writer.putInt(secondsRemaining); } /**