Sleep Reworker transforms the vanilla sleeping experience into a fully immersive event — complete with animations, ambient effects, and a nightmare system that keeps you on your toes every night.
✨ Sleep Animation
When you lie down in a bed, the world doesn't just skip to morning. Instead:
- A darkness effect simulates your eyes slowly closing
- Floating "Zzz" text entities drift upward above you
- Sleep particles cycle through phases (end rod, enchant, warped spore) throughout the night
- Ambient sounds play as you drift off (harp and bell notes)
☀️ Normal Wake
Waking up from a peaceful night gives you:
- A subtle night vision flash simulating eyes opening
- A brief regeneration boost
- Soft wake particles and a gentle sound
😱 Nightmare System
Every night there is a 25% chance of triggering a nightmare. If you're unlucky, you'll experience:
- Darkness pulses and disturbing ambient sounds (phantom shrieks, cave echoes) throughout the night
- Eerie particles — smoke, ash, crimson spore, soul fire flame — swirling around you while you sleep
- On wake: blindness flash, nausea, slowness, and weakness hit you all at once
- A dramatic "¡Pesadilla!" title fills your screen
- And then… monsters spawn around you
4 Nightmare Types
| Type | Chance | Monsters |
|---|---|---|
| 👻 Phantoms | 30% | 3 "Shadow of the Night" phantoms circling overhead |
| 🕷️ Spiders | 30% | 4 spiders + 1 cave spider surrounding you |
| 💥 Creepers | 20% | 2 charged creepers + 1 normal creeper |
| 🧟 Husks | 20% | 3 husks + 1 zombie reinforcement |
All nightmare monsters have persistence — they won't despawn naturally, so deal with them.
⚙️ Configuration
To change the nightmare probability, edit one line in data/sleep_reworker/function/sleep/on_sleep.mcfunction:
execute if score @s sr_roll matches 1..25
Change 25 to any value from 1 to 100. Examples:
1..50→ 50% chance1..10→ 10% chance- Remove the line entirely → nightmares disabled
🔌 GeyserMC / Bedrock Compatibility
The datapack is fully functional for Bedrock players via GeyserMC — all status effects, nightmare spawns, particles, and scoreboards work server-side. The only caveat: floating "Zzz" text entities use text_display entities which are not rendered by Bedrock clients. Everything else works perfectly cross-platform.
📋 Requirements
- Minecraft Java Edition 26.1+
- No mods required — pure datapack
🛠️ Commands
# Force a nightmare on yourself (for testing)
/tag @s add sr.nightmare
# Clear all datapack effects
/tag @s remove sr.sleeping
/tag @s remove sr.nightmare
/effect clear @s
# Reload the datapack
/reload
Developed for multiplayer servers running Minecraft Java Edition 26.1.

