- Tested MC versions
- 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 26.1, 26.2, 26.3

Onlysleep
One player sleeps. Everyone wakes up.
Onlysleep lets your server skip the night without waiting for every player to find a bed. One sleeper is enough by default, but you can require any percentage from 0 to 100. Install the JAR, restart the server, and the default configuration is ready to use.

- One-player sleep by default, with configurable percentage thresholds
- Separate sleep counts for each world
- Independent controls for clearing rain and thunder
- Boss bar, action bar, title, and progress-bar feedback
- Configurable sounds for bed entry and successful night skips
- Built-in AFK tracking, plus EssentialsX and CMI support
- Filters for spectators, creative players, flying players, game modes, and exempt permissions
- Automatic handling of the
playersSleepingPercentagegamerule - PlaceholderAPI support for sleep, world, and status data
- Optional update checks and anonymous bStats metrics


Requirements: Minecraft 26.3 and Java 25 or newer. Onlysleep works on its own; PlaceholderAPI is optional.


Aliases: /os, /sleep

| Permission | Default | Description |
|---|---|---|
onlysleep.* | OP | All permissions |
onlysleep.command | Everyone | Use commands |
onlysleep.info | OP | View plugin info |
onlysleep.reload | OP | Reload config |
onlysleep.status | OP | View status |
onlysleep.exempt | None | Excluded from sleep (operators sleep by default) |
onlysleep.update | OP | Update alerts |

You can use the defaults as-is. The main setting is sleep-percentage in config.yml:
0= one player sleeps, everyone wakes up50= half the server needs to be in bed100= everyone has to sleep
Set per-world-sleep: false if you want global counting across all worlds.
See config.yml for every option and messages.yml for message customization.


If you have PlaceholderAPI installed, these placeholders are available:
| Placeholder | Description |
|---|---|
%onlysleep_sleeping% | Sleeping players in the player's world |
%onlysleep_required% | Players needed to skip the night |
%onlysleep_percentage% | Configured sleep percentage |
%onlysleep_total% | Total eligible players in the world |
%onlysleep_progress% | % of required sleepers achieved (0-100) |
%onlysleep_progress_bar% | Visual progress bar |
%onlysleep_sleeping_names% | Names of sleeping players |
%onlysleep_status% | "Sleeping" or "Awake" |
%onlysleep_is_sleeping% | true/false |
%onlysleep_is_night% | true/false if it's night |
%onlysleep_is_sleepable% | true/false if night/storm |
%onlysleep_skipping% | true/false if a skip is scheduled |
%onlysleep_enabled% | true/false if sleeping is enabled in the world |
%onlysleep_afk% | true/false if the player is AFK |
%onlysleep_version% | Plugin version |
%onlysleep_platform% | Server platform (Folia/Paper/Spigot/Bukkit) |
%onlysleep_world_sleeping_<world>% | Sleeping count in a specific world |
%onlysleep_world_required_<world>% | Required count in a specific world |
%onlysleep_world_total_<world>% | Total eligible in a specific world |
Building
git clone https://github.com/DemonZ-Development/Onlysleep.git
cd Onlysleep
./gradlew clean build
The compiled JAR is in build/libs/.
bStats
Onlysleep uses bStats for anonymous usage metrics. You can opt out in plugins/bStats/config.yml.
Links
Sponsored By
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta