Real Time World (RTW)

Real Time World (RTW)

Your world, in your time zone.

37 downloads

cover

rtw by moeworth studios

Synchronises Minecraft’s in-game time with real-world time, in the time zone of your choice. Compatible with Bukkit, Spigot, Paper, Forge and Fabric, for both server and single-player modes.

How it calculates the time

Minecraft measures time in “ticks”: 24,000 ticks = 1 day, but tick 0 corresponds to 6.00 am (not midnight). RealTimeConverter takes the real-world time in the configured time zone, converts it to a percentage of the day, then applies an offset of 18,000 ticks so that real-world midnight aligns with in-game midnight:

ticks = ((seconds_since_midnight / 86,400) * 24,000 + 18,000) % 24,000

The in-game day counter (used for moon phases) is preserved thanks to alignFullTime; only the time of day is rewritten.

Configuration

Each platform generates an rtw.properties file on first launch:

# Time zone (tz database), e.g. Europe/Paris, America/New_York, UTC
timezone=Europe/Paris
# Synchronisation frequency, in ticks (20 ticks = 1 second)
update-interval-ticks=20
# Disables the native day/night cycle so that only RTW controls the time
freeze-day-night-cycle=true
# ‘*’ for all worlds, or a comma-separated list
# (Bukkit name, e.g. ‘world,world_nether’ — or Forge/Fabric ID, e.g. ‘minecraft:overworld’)
worlds=*

File location depending on the platform:

  • Bukkit/Spigot/Paper: plugins/RealTimeWorld/rtw.properties
  • Forge: config/rtw.properties (server-side/single-player world)
  • Fabric: config/rtw.properties

Ideas for future developments

  • More advanced /rtw command (change time zone on the fly, force a specific time)
  • Support for multiple time zones per world (one world = one country)
  • Smooth interpolation between two synchronisations to avoid visible ‘jumps’ in the sun/moon positions
  • rtw-neoforge module if you want to track the NeoForge fork as well as Forge