promotional bannermobile promotional banner
premium banner
Smooth, one-player night and storm skip with a cinematic timelapse. Server-friendly, vanilla-client compatible.

Description

One-Sleep Timelapse (NeoForge 1.21.1)

Primary target: servers with mandatory client install server + client required. Single-player is less battle-tested so far — if you find bugs or have ideas, please leave a comment. Any feedback helps a ton ❤️

Smooth, one-player night & storm skip with a cinematic timelapse. Both sides required: install the mod on the server and on every client.

One-Sleep Timelapse demo


Changelog (latest)

  • New, cleaner config layout (auto-generated with sections, comments, and per-reason messages).
  • Voting countdown before a skip starts + optional veto percentage.
  • Daytime rain skip via consent (click a bed while it’s raining or use /onesleep consent).
  • Bossbars for countdown and during the skip; titles are fully customizable.
  • Config self-check: /onesleep checkconfig validates values, auto-repairs critical issues, and reports the result in chat.
  • Safer suppression/restore of vanilla playersSleepingPercentage while pending/running.
  • More flexible texts (bossbar, start/finish, and per-reason overrides).

Features

  • One-sleep trigger — skip begins when the required threshold is met (default 0% = one-sleep).
  • Two modes:
    • Cinematic (default): clients render a smooth sky animation; server snaps to morning (night) or ends thunder (daytime thunder).
    • Timelapse: the server actually advances time; lighting/mobs/weather update during the transition.
  • Thunder (vanilla behavior) and daytime rain skip (via consent, optional).
  • UI: progress bossbar + optional titles (all texts customizable).
  • Overworld-only. Nether/End are ignored.
  • Server + client required. The mod must be installed on the server and on all joining clients.

How it works

  • Cinematic: server broadcasts “start”, clients render for durationSeconds. Server sets time to targetTime (night) or ends thunder once (daytime thunder). Rain-skip keeps time and can clear rain once.
  • Timelapse: server advances day time every tick for the duration; clients still get smoothing hints.

Installation

  1. Server: place the JAR into /mods and start.
  2. Clients (required): every player must place the same JAR into /mods. The mod is required to join and to see the cinematic.
  3. Config: generated on first run at config/onesleep.toml.

Requirements

  • NeoForge 21.1.x
  • Minecraft 1.21.1
  • Java 21

Commands

  • /onesleep consent — register consent to skip daytime rain (no need to enter bed).
  • /onesleep stop — cancel pending/running skip (respects veto rules if enabled).
  • /onesleep start — force start (OP).
  • /onesleep cancel — force cancel (OP).
  • /onesleep require <0..100> — set threshold in % (0 = one-sleep) (OP).
  • /onesleep duration <seconds> — set animation length (OP).
  • /onesleep checkconfig — validate & auto-repair config; report result in chat (OP).
  • /onesleep reload — reload the config immediately (OP).
  • /onesleep mode [cinematic|timelapse|toggle] — switch mode at runtime (OP).

CONFIG (auto-generated; acts as documentation)


Core

Key Default Description
enabled true Master switch.
mode "cinematic" "cinematic"
requirePercentage 0 0 = one-sleep; otherwise % of online players.
cinematicSkyShiftTicks 3000 Client-only sky shift for cinematic during rain/thunder (0..23999); visual only.
durationSeconds 12 Skip length in seconds.
targetTime 1000 Morning time (0..23999), vanilla ≈ 1000.
minNightTime 12542 Earliest tick treated as night (0..23999).

Skip Rules

Key Default Description
allowThunderSkip true Allow skipping thunderstorms.
allowRainSkip true Allow skipping daytime rain via consent.
clearThunderAfter false After thunder/rain skip, clear thunder (if any) once.
clearRainAfter false After rain skip, clear rain once.

Voting — mechanics

Key Default Description
voteEnabled true Enable pre-skip countdown.
voteCountdownSeconds 10 Countdown length (seconds).
vetoEnabled true Enable veto during countdown.
vetoPercentage 50 % of online needed to pass veto.

UI

Key Default Description
uiBossbar true Show bossbar during skip.
uiPendingBossbar true Show bossbar during countdown.
uiTitles true Show start/finish titles.

Messages — global defaults

Key Default Description
msgBossbar "Skipping…" Bossbar text during skip.
msgPendingBossbar "Skip in <seconds>s" Bossbar text during countdown.
msgStartTitle "Skipping…" Title at start.
msgStartSubtitle "" Subtitle at start.
msgFinishTitle "Good morning!" Title at finish.
msgFinishSubtitle "" Subtitle at finish.
msgCancelTitle "Skip canceled" Title when canceled.
msgCancelSubtitle "" Subtitle when canceled.
msgVotePrompt "<player> wants to skip. Starts in <seconds>s" Chat message when countdown starts.
msgVoteAutoCanceled "Skip canceled (threshold lost)" Shown when threshold is lost.
msgVoteCanceledBy "Skip canceled by <player>" Shown when someone cancels.
msgVetoRegistered "<player> voted to cancel (<count>/<total> = <percent>%)" Shown when a veto vote is registered.
msgVetoCanceled "Skip veto passed (<count>/<total> = <percent>%)" Shown when veto passes.

Messages — consent (actionbar)

Key Default Description
msgConsentRain "Rain-skip consent registered." Shown to a player who consents to skip daytime rain.
msgConsentNight "Sleep-skip consent registered." Shown to a player who consents to skip night/thunder by entering a bed.

Per-reason overrides — Night

Key Default Description
msgStartTitleNight "Skipping night…" Start title for night skip.
msgStartSubtitleNight "" Start subtitle for night skip.
msgFinishTitleNight "Good morning!" Finish title after night skip.
msgFinishSubtitleNight "" Finish subtitle after night skip.

Per-reason overrides — Thunder

Key Default Description
msgStartTitleThunder "Skipping thunder…" Start title for thunder skip.
msgStartSubtitleThunder "" Start subtitle for thunder skip.
msgFinishTitleThunder "Thunder passed!" Finish title after thunder skip.
msgFinishSubtitleThunder "" Finish subtitle after thunder skip.

Per-reason overrides — Rain (day)

Key Default Description
msgStartTitleRain "Skipping rain…" Start title for daytime rain skip.
msgStartSubtitleRain "" Start subtitle for daytime rain skip.
msgFinishTitleRain "Rain stopped!" Finish title after rain skip.
msgFinishSubtitleRain "" Finish subtitle after rain skip.

Compatibility

  • Built for dedicated servers.
  • Requires the mod on the server and on all clients.
  • If another mod force-sets time/weather every tick, prefer Cinematic mode for the smoothest result.

Credits & Transparency

This mod was created from my personal idea and is my first proper Minecraft mod I’d like to share. I’m primarily a web developer, so I built it with AI assistance for Java/NeoForge boilerplate and best-practice guidance, and then tested/tuned everything myself — with special care to keep vanilla weather behavior intact and to deliver a smooth, server-safe experience.

Author: OpiceBOT (cz.opicebot) — License: MIT


Suggested categories

  • Main: Server Utility / Utility & QoL
  • Additional: Gameplay, Cosmetic, World