TFBMCDayNight
![[IMG]](//proxy.spigotmc.org/c9ee90f31568ae11062a413402a47ce7bc63c232/68747470733a2f2f6779617a6f2e636f6d2f3338393364613939396466626135313831663435326134376165663231333863)
Paper 1.21.8 • Lightweight • Plug-and-Play • 1-Player Sleep • Custom Day/Night
No Commands •
No Permissions •
Zero NMS •
Adventure + MiniMessage
Overview
TFBMCDayNight lets you control the real-time length of day and night and skip night with a smooth, client-visible sky fast-forward when
one player sleeps. Drop it in, restart, done.
Built for the forever server
The Final Block. Couldn’t find anything that felt both high-quality and ultra-lightweight — so this is “vanilla-plus,” without the bloat.
Custom real-time durations for day (0..11999) and night (12000..23999)
One-player sleep with smooth fast-forward to dawn (configurable)
Plug-and-play: absolutely no commands or permissions
Modern only: Paper 1.21.8, Adventure Components, MiniMessage; no deprecated APIs
- Safe and tiny: no reflection, no packets, no async world access
Key Features
Custom Day/Night Pacing
Pauses vanilla daylight cycle in managed worlds and uses a tiny controller to advance time smoothly to your real-time targets. Uses a double accumulator so there’s no jitter when per-tick deltas are fractional.
1-Player Sleep (Sky Animation)
The first player who successfully enters a bed at night triggers a brief “fast-forward to dawn.” Optional Title + broadcast (MiniMessage). Optional clear weather so morning is actually morning. The time controller yields during animation so systems never fight.
Zero Setup
No commands. No permissions. No GUI. Sensible defaults. Works across all Overworlds by default.
Installation
Run Paper 1.21.8.
Drop the JAR into /plugins.
- Start the server (a default config.yml is generated).
Optional: tweak day/night lengths or the sleep animation below.
Configuration
Code (YAML):
one-player-sleep
: true
sleep-skip:
enabled
: true
duration-seconds
: 4.0
# Increase for longer/cinematic skip; decrease for snappy skip
wakeup-time
: 0
# 0..23999 (0 = dawn, ~1000 = morning)
clear-weather
: true
broadcast:
enabled
: true
message
:
"<yellow>{player}</yellow> <gray>slept through the night.</gray> <green>Good morning!</green>"
title:
enabled
: true
main
:
"<aqua>Skipping Night</aqua>"
sub
:
"<gray>Fast-forwarding to dawn...</gray>"
day-night:
manage-cycle
: true
# If false, vanilla time remains; sleep animation still works
day-length-seconds
: 600
# Real seconds for day segment (0..11999)
night-length-seconds
: 300
# Real seconds for night segment (12000..23999)
all-overworlds
: true
# Manage all Overworlds; false = default world only
advanced:
time-task-interval
: 1
# Scheduler frequency in ticks (1 = every tick)
smooth-time
: true
# Keep fractional progress to avoid jitter
Recommended preset (your request):
Code (YAML):
day-night:
day-length-seconds
: 1800
# 30 minutes
night-length-seconds
: 900
# 15 minutes
Compatibility
Server: Paper 1.21.8 (Adventure bundled)
Worlds: Overworld only (Nether/End left to vanilla)
- Reloads/Stops: On disable, restores DO_DAYLIGHT_CYCLE = true for safety
Performance
One ultra-light repeating task (default every tick), O(Overworlds) math per tick, and occasional
World#setTime calls. No NMS, no reflection, no packets.