Custom Day Cycle Take full control of time in Minecraft. This datapack allows you to set the duration of Day and Night independently, while maintaining a fully functional multiplayer sleep system and accurate day counting.
Whether you want a 24-hour real-time server, long summer days with short nights, or a hardcore survival experience with endless nights, this datapack handles it all without mods—just vanilla commands.
✨ Features
- Independent Cycles: Set Day and Night to different lengths (e.g., a 60-minute Day and a 5-minute Night).
- Smooth Time Progression: Time advances smoothly every tick, not in choppy jumps.
- Smart Multiplayer Sleep: Set a required percentage of players to skip the night (0% to 100%).
- Includes a cinematic sleep delay: The night waits 5 seconds after the percentage is met, allowing players to see the "lying down" animation and screen fade before the sun rises.
- Accurate Day Counter: Unlike other time-skipping tools, this pack calculates the exact time for the next morning. Your F3 Day Counter and Local Difficulty will continue to increase correctly.
- Lag Friendly: Optimized to run minimal checks when players aren't sleeping.
🛠️ Commands All settings can be changed on the fly using macro commands. You do not need to edit any files.
Time Settings
- /function custom_day:set_day {mins:60} Sets the Day (Sun) to last 60 minutes.
- /function custom_day:set_night {mins:20} Sets the Night (Moon) to last 20 minutes.
- /function custom_day:set_all {mins:30} Sets Both Day and Night to 30 minutes each.
Sleep Settings
- /function custom_day:sleep_percentage {percent:50} Sets the percentage of players required to sleep. (Example: 50 = Half the server must sleep)
- /function custom_day:sleep_percentage {percent:100} Default. Everyone must sleep to skip.
- /function custom_day:sleep_percentage {percent:1} Only one person needs to sleep to skip.
Administration
- /function custom_day:init Resets the system, creates scoreboards, and applies defaults.
📦 Installation
- Download the .zip file.
- Open your world folder (Singleplayer) or server directory.
- Place the zip file into the datapacks folder.
- Run /reload in-game.
- Run /function custom_day:init to complete the setup.
⚠️ Uninstallation Because this datapack manages the daylight cycle manually, you must follow these steps to remove it safely, otherwise, the sun will stop moving.
- Run this command to restore vanilla time: /gamerule doDaylightCycle true
- Delete the datapack file from your datapacks folder.
- Run /reload.
📝 Compatibility Minecraft Version: 1.21+ (Requires Macro arguments support).
Mod Loaders: Works on Vanilla, Fabric, Forge, Paper, and Spigot.
