fix: use LocalDateTime for mine late-window calc in ArcMineWindowAvailableTimeMsg

Instant has no hour-of-day field, so .with(HOUR_OF_DAY, ...) threw
UnsupportedTemporalTypeException. Switch lateTime to LocalDateTime so the
late-window (midnight) time can be set and the seconds-remaining computed.
This commit is contained in:
2026-10-12 12:44:27 -05:00
parent 8a136d84f4
commit 85cd4e0c14
@@ -17,9 +17,8 @@ import engine.net.Protocol;
import engine.objects.Building;
import engine.objects.Guild;
import engine.server.MBServerStatics;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.Duration;
import java.time.temporal.ChronoField;
public class ArcMineWindowAvailableTimeMsg extends ClientNetMsg {
@@ -28,7 +27,7 @@ public class ArcMineWindowAvailableTimeMsg extends ClientNetMsg {
private int currentMineHour;
private Duration secondsLeft;
private Instant lateTime;
private LocalDateTime lateTime;
private int late;
/**
@@ -73,15 +72,15 @@ public class ArcMineWindowAvailableTimeMsg extends ClientNetMsg {
currentMineHour = guild.getMineTime();
late = MBServerStatics.MINE_LATE_WINDOW;
lateTime = Instant.now();
lateTime = LocalDateTime.now();
if (late == 0)
lateTime = lateTime.plus(Duration.ofDays(1));
lateTime = lateTime.plusDays(1);
lateTime = lateTime.with(ChronoField.HOUR_OF_DAY, late);
lateTime = lateTime.withHour(late);
late = ((late > 23) ? (late - 24) : late);
secondsLeft = Duration.between(Instant.now(), lateTime);
secondsLeft = Duration.between(LocalDateTime.now(), lateTime);
}
/**