Описание
# Pause Day Cycle
**To enable AFK detection feature, [Detect AFK Players](https://modrinth.com/datapack/detect-afk) must be installed.**
When nobody's on a Minecraft server, the in-game time still increases. This means you can't track the number of days played, and the local difficulty will also increase. That's not a concern for servers that have players online almost constantly, but for small/medium sized servers, this is a problem.
This is a very light-weight data pack to prevent game time from increasing when nobody's online or when every player online is tagged as `afk`, *without* pausing the server itself so that automatic farms can continue to run.
See it in action

Time pauses while player is AFK. Player sitting done with [AFK Sit](https://modrinth.com/datapack/afk-sit).
## Why *another* one of these?
There are already a few mods and data packs that do the same thing as this one, but none of them did quite what I need:
1. It integrates with Detect AFK Players, allowing AFK players to *also* not skyrocket the game time.
2. It's easy to integrate with other datapacks so that the pause/unpause doesn't break.
Even with the introduction of the server property `pause-when-empty-seconds`, the issue of AFK players increasing game time is not solved, and spawn chunks will not be ticked while paused, which you may or may not want.
## Details
When nobody is online or all online players are tagged as `afk` (see [Detect AFK Players](https://modrinth.com/datapack/detect-afk)) the following gamerules will be set to false:
- `doDaylightCycle`
- `doWeatherCycle`
`doMobSpawning` is *not* changed because it allows automatic farms in spawn chunks or manually loaded chunks to function with nobody present.
**Note:** If one of the gamerules is *already* set to false while the time isn't paused, that gamerule will **not be changed** - this pack respects your options!
## Extending it
This datapack provides two function tags: `pause_day_cycle:pause` and `pause_day_cycle:resume`. These will be called when the day cycle is paused and resumed. Below is an extremely simple example of an add-on data pack that uses these tags to log to the server when the day cycle is paused.
###### announce/data/pause_day_cycle/tags/functions/pause.json
```json
{ "values": ["announce:pause"] }
```
###### announce/data/announce/functions/pause.mcfunction
```mcfunction
say Day cycle has been paused
```