Skip to content

feat(daytime): follow the real wall clock in the lobby - #319

Merged
TheMeinerLP merged 9 commits into
mainfrom
feat/daytime
Sep 29, 2026
Merged

TheMeinerLP merged 9 commits into
mainfrom
feat/daytime

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Summary

New column features/daytime: the lobby time follows the wall clock of daytime.zone (default Europe/Berlin) linearly (06:00 -> 0, 12:00 -> 6000, 18:00 -> 12000, 00:00 -> 18000). It is updated once per second via the Minestom scheduler, and Minestom's own day cycle is stopped with defaultClock().rate(0f).

Configuration

  • daytime.enabled: kill switch; when off, the lobby goes back to midday (6000).
  • daytime.zone: the time zone the clock is read in.

Both are read on every run, so they apply live with the avaje-config watcher. An invalid zone aborts startup and names daytime.zone; at runtime the last valid zone is kept and a warning is logged once.

Notes

Tests

  • 36 tests in :features:daytime: DayTimeMappingTest (unit, including both Berlin DST transitions), DaytimeModuleTest (Cyano Env, adjustable Clock, env.tick()), ColumnArchitectureTest.
  • ./gradlew build is green.
  • Verified manually on the local variant: a live zone switch (Los Angeles night, Tokyo sunset) takes effect without restart.

https://claude.ai/code/session_01A7aAe2E6wAEbi6jjnyPTWH

@TheMeinerLP
TheMeinerLP requested a review from a team as a code owner September 29, 2026 09:10
@github-actions

Copy link
Copy Markdown
Contributor

Test results

  222 files  222 suites   15m 18s ⏱️
  334 tests 333 ✅ 1 💤 0 ❌
1 002 runs  999 ✅ 3 💤 0 ❌

Results for commit f7014e9.

@TheMeinerLP
TheMeinerLP merged commit 2d55a03 into main Sep 29, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant