Modern Day Night System icon

Modern Day Night System -----

Custom day/night durations and 1-player sleep with sky animation.




TFBMCDayNight

[​IMG]

Paper 1.21.8 • Lightweight • Plug-and-Play • 1-Player Sleep • Custom Day/Night

No CommandsNo PermissionsZero NMSAdventure + 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

  1. Run Paper 1.21.8.
    Drop the JAR into /plugins.
  2. 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.
Resource Information
Author:
----------
Total Downloads: 9
First Release: Sep 24, 2025
Last Update: Sep 24, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings