
OnlySleep
Skip the night with just one player sleeping — or configure it your way.
Оцените первым
131
6
Список изменений
For the full changelog, visit the Onlysleep Wiki.
[1.2.0] - 2026-05-21
This release fixes critical bugs across the sleep skip system, AFK detection, config handling, and more.
🐛 Bug Fixes
- Fixed Gradual & Speed Skip Completing Instantly:
- Rewrote the time-advance logic using a distance-traveled approach that correctly handles the night→midnight→morning wrap-around. Previously, both modes behaved identically to instant skip because
newTime >= 0was always true on the first tick.
- Rewrote the time-advance logic using a distance-traveled approach that correctly handles the night→midnight→morning wrap-around. Previously, both modes behaved identically to instant skip because
- Fixed "Good Morning" Message Appearing During Night:
- Deferred all completion effects (sounds, titles, messages, cleanup) into a callback that only fires after the gradual/speed timer actually finishes.
- Speed vs Gradual Now Visually Distinct:
- Speed mode (150 ticks/tick, ~2-3s timelapse) and gradual mode (default 30 ticks/tick, ~6-8s sunrise) now feel genuinely different.
- Fixed Bed Leave Unconditionally Cancelling Skip:
- Previously, any single player leaving their bed cancelled the skip for everyone, even if enough players were still sleeping. Now only cancels when the sleeping count drops below the threshold.
- Fixed Spurious "Cancelled" Message During Gradual Skip:
- When vanilla kicked players out of bed at dawn during a gradual transition, a "Player has stopped sleeping" message appeared right before "Good Morning!". Bed-leave events during active transitions are now ignored.
- Fixed Player Quit Not Rechecking Sleep Status:
- When a non-sleeping player quit, the total player count decreased but the sleep threshold wasn't rechecked. Now properly triggers a skip if the remaining sleepers meet the new lower threshold.
- Fixed CMI AFK Detection Always Failing:
- The CMI integration was calling
getCMIPlayer()on the BukkitPlayerclass (which doesn't have that method). Now uses CMI's correct static API:CMI.getInstance().getPlayerManager().getUser(player).
- The CMI integration was calling
- Fixed Config Values Containing
#Being Stripped:- The
ConfigUpdaternaively stripped everything after#as an inline comment, breaking values likesymbol: "■#test". Now respects quoted strings.
- The
- Fixed Misleading "No one needs to sleep" Message:
- When a skip is already in progress, players now see "The night is already being skipped!" instead of the confusing "No one needs to sleep right now."
- Removed Duplicate "Monsters Nearby" Message:
- Vanilla Minecraft already shows its own "You can't sleep — monsters are nearby" message. The plugin's custom message stacked on top, causing players to see it twice.
🛠️ Technical Improvements
- Gradual/speed timer tasks stored in
skipTasksfor proper mid-transition cancellation. activeTransitionsset tracks worlds currently in mid-transition to prevent spurious cancel/message events.HttpURLConnectioninUpdateCheckernow properly disconnected in afinallyblock (prevents socket leaks on 4-hour recurring checks).- Update checker recurring task is now stored and cancelled on
onDisable(). handleUpdatecommand dispatches async update results back to the main thread.AfkTracker.onPlayerMovenow null-checksevent.getTo()(is@Nullableon Paper).WorldUnloadEventlistener cleans up world state from maps to prevent memory leaks.- Added
SleepManager.cleanupWorld()for explicit per-world state cleanup.
Файлы
Onlysleep-1.2.0.jar(83.29 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.2.0
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
1.16–26.1.2
Загрузок
127
Дата публикации
21.05.2026
