Keeps time-based actions and world processes feeling responsive by rescaling them to the server's real tick rate when TPS drops.
Hooks ItemStack#getUseDuration instead of the base Item method, so it catches every consumable — vanilla food, potions, and modded items whose mod overrides use-duration in its own subclass. This is the fix that made the mod worth building: the delay some other tick-compensation mods miss on third-party potions and special items is covered here.
Block-breaking progress, bow draw speed and crossbow charge time are all rescaled the same way, so combat and mining stay snappy under lag.
Potion effect ticking, mob growth/breeding timers, fluid spread, random ticks, the day/night cycle, portal transition delay and sleep-to-morning all get extra catch-up iterations when the server falls behind. Random-tick acceleration is capped and has a safety TPS floor so it can never feed back into the lag it's compensating for.
The compensation factor is computed server-side and synced to connected clients, so client-side animation and prediction (item use, bow, crossbow) stay in step with the server instead of finishing early and stalling.
Every module has its own toggle in a synced server config, plus a small client-only config for the debug-overlay readout. Run /ticksmoothing status (alias /tsmooth) to see the live measured TPS, the current factor, and which modules are active.
An optional, deliberately conservative widening of the server watchdog's crash threshold under sustained lag — EXTEND scales it by at most 5×, WARN_ONLY by a fixed 20×. Off (vanilla behaviour) by default.
| Minecraft | 1.21.1 |
| NeoForge | 21.1.249+ |
| Java | 21 |
| Side | Client and Server (install on both) |
mods folder — on the server and on clients.config/tick_smoothing/config.toml, or run /ticksmoothing status in-game to check what's active.Developed by Stalking Dragons. Clean-room implementation — no code is derived from any existing tick-compensation mod.
https://codex.skdragons.com/
Codex Stalking Dragons — Minecraft Modding