File Details
Decoupled Time 1.0.3
- R
- Mar 15, 2026
- 31.65 KB
- 56
- 1.21.1
- NeoForge
File Name
decoupled_time-1.0.3.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Changelog
All notable changes to Decoupled Time will be documented in this file.
[1.0.3]
Added
Time Phase Events: Added
DimensionTimePhaseEventfired on the NeoForge event bus when a decoupled dimension's day time crosses into a new phase (DAY,NOON,NIGHT,MIDNIGHT). Enables other mods (e.g. KubeJS) to hook into time-of-day transitions per dimension.KubeJS Example:
NativeEvents.onEvent("com.breakinblocks.decoupled_time.api.DimensionTimePhaseEvent", (event) => { const {phase, level, dayTime} = event; switch (phase.name()) { case "DAY": // do something when day starts in this dimension break; case "NOON": // do something when noon starts in this dimension break; case "NIGHT": // do something when night starts in this dimension break; case "MIDNIGHT": // do something when midnight starts in this dimension break; } });
[1.0.2]
Changed
- Split Smart Pausing Config:
enableSmartPausinghas been replaced with two independent toggles:pauseGameTimeandpauseDayTime. This allows pausing the day/night cycle independently from gameTime (scheduled ticks, entity processing) when no active players are present.
[1.0.1]
Fixed
- Sun/Moon Jitter with Day Length Multiplier: Fixed rubber-banding of the sun and moon when using non-default
dayLengthMultipliervalues. The client was advancing dayTime at vanilla rate (+1/tick) between server syncs, causing visual snapping. Added client-side mixin to match the server's fractional advancement rate. - Time Commands Nesting: Fixed
/time addand/time querybeing incorrectly nested under/time setinstead of being top-level subcommands. - Time Commands on Non-Decoupled Dimensions: Time commands no longer error on non-decoupled dimensions. They now fall back to the global level time and label output with
(global).
[1.0.0]
Added
- Per-Dimension Time Decoupling: Each dimension maintains its own independent
dayTimeandgameTime, configurable via whitelist/blacklist. - Smart Pausing: Local time progression pauses when no active players are present in a dimension (configurable).
- Dimension-Aware Time Commands:
/time setand/time addnow accept an optional dimension argument. - Sleep Synchronization: When players sleep, only the current dimension's time advances.
- Time Sync on Join: Optional time packet sync on login and dimension change.
- Day Length Multiplier: Configurable
dayLengthMultiplierto make days longer or shorter per decoupled dimension (e.g.,2.0= 40 minute days,0.5= 10 minute days). - Spectator Pause Option: Spectators can optionally not count as active players for smart pause.

