AFK Sleep
Requires Detect AFK Players.
Allows players to sleep even when there are players AFK on the server, and respects your original playersSleepingPercentage. If you've got someone that joins then immediately leaves to take a shower, now that won't stop you from being able to skip the night.
Features
- Configurable percentage - Change the gamerule like you would normally
- Highly optimized - No commands run unless necessary, no NBT usage, no checks every tick
- Reacts to changes - Leaving, joining, changing AFK state, changing dimension, etc
- Works correctly - Other data packs don't consider dimensions or state changes

Details
When AFK Sleep is first installed, it uses the playersSleepingPercentage you've set as the percentage of non-AFK players in the overworld that have to be sleeping to skip the night. The table below explains it:
| Players | Not AFK | playersSleepingPercentage | Players required to sleep |
|---|---|---|---|
| 3 | 3 | 100% | 3 (all three players have to sleep) |
| 3 | 2 | 100% | 2 (only the two non-afk players have to sleep) |
| 3 | 2 | 50% | 1 (only half of the non-afk players have to sleep) |
To change the percentage of "active" players that need to sleep, just change the gamerule like you normally would, with /gamerule playersSleepingPercentage NUMBER. This gamerule is managed for you, so don't worry if it isn't set to the value you expect.
Before version 1.3: How to change playersSleepingPercentage
Because this datapack overrides the playersSleepingPercentage gamerule, you have to modify a scoreboard value to change its calculations. Replace the number '50' with the percentage you want to set.
/scoreboard players set .relativePercentage afk_sleep.dummy 50
If you want to uninstall the datapack, run /function afk_sleep:uninstall to delete the backing scoreboards and reset the playersSleepingPercentage automatically.
How to Install AFK Sleep (Datapack)
AFK Sleep by clo4 is verified for Datapack, Fabric, Forge, Neoforge, Quilt across Minecraft versions 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2 (latest release: 1.3.2+mod, file size: 714 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2) and platform (Datapack, Fabric, Forge, Neoforge, Quilt).
- Make sure you have the compatible loader or environment installed for Datapack, Fabric, Forge, Neoforge, Quilt.
- Move the downloaded AFK Sleep file into your Minecraft
.minecraft/saves/<world>/datapacksfolder and launch the game.
All Versions
+ Add VersionThis version also removes the debug logs that I left in. They don't do anything if you don't have a particular tag, but still add a very, *very* small amount of overhead. So I wanted to get a new release out for myself that doesn't contain them.
This version also removes the debug logs that I left in. They don't do anything if you don't have a particular tag, but still add a very, *very* small amount of overhead. So I wanted to get a new release out for myself that doesn't contain them.
To recap the changes in 1.3:
- Players in other dimensions are no longer counted toward the total number of players
- Changing player conditions will now update the
playersSleepingPercentagewhile players are trying to sleep - This means a player leaving and rejoining, or travelling to the nether, will now work correctly!
- The "relative percentage" (percentage of online, non-AFK players in the same dimension) that have to sleep to pass the night can now be updated directly by changing the
playersSleepingPercentagegamerule - I kept having to check my own documentation to remember what value had to change. This massively simplifies the experience and removes a big source of surprise.
## Fixes
- Players in other dimensions are no longer counted toward the total number of players
- Changing player conditions will now update the
playersSleepingPercentagewhile players are trying to sleep - This means a player leaving and rejoining, or travelling to the nether, will now work correctly!
- The "relative percentage" (percentage of online, non-AFK players in the same dimension) that have to sleep to pass the night can now be updated directly by changing the
playersSleepingPercentagegamerule - I kept having to check my own documentation to remember what value had to change. This massively simplifies the experience and removes a big source of surprise.
playersSleepingPercentage gamerule. This version of the pack is *tecnically* compatible later versions as well, but it's not as fast because function macros simplify the logic a *lot*.[Code for this version is on the
afk-sleep-no-macros branch.](https://github.com/clo4/datapacks/tree/afk-sleep-no-macros/afk-sleep)- Added pack.png
Thankfully not many people have downloaded this so I don't feel bad doing a release for something so small :p