Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details

Description
Midnight Thoughts
Midnight Thoughts enhances the Minecraft sleep mechanic, making nights more rewarding and memorable.
While resting, players may see thoughts, random facts, or nightmares.
Players who sleep through the night receive the Rested effect and a summary of their activity since the last sleep.
Random Facts
The mod uses the Useless Facts API, providing a large and constantly updated database of random facts.
Supported languages
- English
- German
Player Statistics
Each player has their own statistics, and everyone on the server can view each other's results.
At the end of the night, a summary screen highlights:
- The MVP — the most active player
- Personal bests
- Small achievements
Themes
The server can define a default interface theme in the mod configuration.
Players can also choose their own theme:
- Classic
- Tech
- Magic
Comfort System
The mod introduces a comfort system that affects sleep quality.
When a player goes to bed, their rest level after waking depends on the comfort level around the bed.
Comfort is influenced by nearby elements such as:
- furniture
- plants
- decorative blocks
- other environmental elements
Some blocks increase comfort, while others decrease it.
Rested Effect
After waking up, the player receives the Rested effect.
- The effect has up to 5 levels
- Higher levels increase strength and duration
Each level progresses through three phases, gradually weakening over time:
- Phase 1 — strongest
- Phase 2 — medium
- Phase 3 — weakest
However, higher Rested levels are always stronger overall.
For example, Phase 3 of Level 5 is still stronger than Phase 1 of Level 1.
MVP Bonus
When playing with others, the MVP always receives the most powerful buff, regardless of the conditions in which they slept.
Additionally:
- The MVP buff lasts longer than the standard Level 5 Rested effect.
Nightmares
Sleep quality also affects the player's experience:
- Bad conditions → the player may experience nightmares
- Terrible conditions → the player cannot fall asleep at all
Config
In the config, you can customize the HUD interface settings, enable or disable the moon image, adjust the animation speed, or disable the HUD entirely. You can also configure the Well Rested effect bonuses, the interior scan radius, achievement parameters, and MVP status.
The theme set in the config is the default for the entire server. However, if a player changes their theme, their personal selection will override the server default and be displayed in their interface
{
"sleepOverlay": {
"minSlideDisplayTimeMs": 2500,
"maxSlideDisplayTimeMs": 4000,
"fadeInDurationMs": 300,
"fadeOutDurationMs": 300,
"overlayOpacity": 0.4,
"textOpacity": 1.0,
"imageOpacity": 0.6,
"specialSlideChance": 0.05,
"enableOverlay": true,
"enableImage": true
},
"wellRested": {
"levels": {
"level5": {
"durationMinutes": 15,
"speedPhase1": 0.5,
"speedPhase2": 0.3,
"speedPhase3": 0.16,
"strengthPhase1": 0.24,
"strengthPhase2": 0.16,
"strengthPhase3": 0.08,
"hastePhase1": 0.35,
"hastePhase2": 0.2,
"hastePhase3": 0.1,
"attackSpeedPhase1": 0.12,
"attackSpeedPhase2": 0.06,
"attackSpeedPhase3": 0.03,
"healthBonus": 10.0,
"regenBonus": 0.1
},
"level4": {
"durationMinutes": 10,
"speedPhase1": 0.4,
"speedPhase2": 0.24,
"speedPhase3": 0.12,
"strengthPhase1": 0.2,
"strengthPhase2": 0.12,
"strengthPhase3": 0.06,
"hastePhase1": 0.28,
"hastePhase2": 0.16,
"hastePhase3": 0.08,
"attackSpeedPhase1": 0.1,
"attackSpeedPhase2": 0.05,
"attackSpeedPhase3": 0.02,
"healthBonus": 8.0,
"regenBonus": 0.08
},
"level1": {
"durationMinutes": 3,
"speedPhase1": 0.16,
"speedPhase2": 0.08,
"speedPhase3": 0.04,
"strengthPhase1": 0.08,
"strengthPhase2": 0.04,
"strengthPhase3": 0.02,
"hastePhase1": 0.1,
"hastePhase2": 0.05,
"hastePhase3": 0.02,
"attackSpeedPhase1": 0.04,
"attackSpeedPhase2": 0.02,
"attackSpeedPhase3": 0.01,
"healthBonus": 2.0,
"regenBonus": 0.02
},
"level3": {
"durationMinutes": 7,
"speedPhase1": 0.32,
"speedPhase2": 0.18,
"speedPhase3": 0.08,
"strengthPhase1": 0.16,
"strengthPhase2": 0.08,
"strengthPhase3": 0.04,
"hastePhase1": 0.22,
"hastePhase2": 0.12,
"hastePhase3": 0.06,
"attackSpeedPhase1": 0.08,
"attackSpeedPhase2": 0.04,
"attackSpeedPhase3": 0.02,
"healthBonus": 6.0,
"regenBonus": 0.06
},
"level2": {
"durationMinutes": 5,
"speedPhase1": 0.24,
"speedPhase2": 0.12,
"speedPhase3": 0.06,
"strengthPhase1": 0.12,
"strengthPhase2": 0.06,
"strengthPhase3": 0.03,
"hastePhase1": 0.16,
"hastePhase2": 0.08,
"hastePhase3": 0.04,
"attackSpeedPhase1": 0.06,
"attackSpeedPhase2": 0.03,
"attackSpeedPhase3": 0.01,
"healthBonus": 4.0,
"regenBonus": 0.04
}
}
},
"achievements": {
"requirements": {
"combo_master": {
"mobsMin": 20,
"blocksMin": 200,
"distanceMin": 1000000
},
"marathoner": {
"distanceMin": 3000000
},
"demolition_maniac": {
"blocksMin": 1000,
"jumpsMin": 200
},
"juggernaut": {
"mobsMin": 50,
"deathsMax": 1
},
"explorer": {
"blocksMin": 100,
"distanceMin": 1500000
},
"flawless": {
"deaths": 0,
"mobsMin": 10,
"blocksMin": 50
},
"iron_will": {
"deaths": 0,
"blocksMin": 200,
"distanceMin": 2000000
},
"pacifist": {
"mobsMax": 0,
"distanceMin": 500000
},
"hyperactive": {
"jumpsMin": 500
},
"survivor": {
"mobsMin": 10,
"deathsMax": 1
}
}
},
"mvp": {
"enabled": true,
"minScoreRequired": 10,
"pointsPerDistance100": 2,
"pointsPerBlock": 3,
"pointsPerMob": 15,
"pointsPerJump10": 1,
"penaltyPerDeath": 30,
"mvpWellRestedDurationMinutes": 21
},
"comfort": {
"enabled": true,
"scanRadius": 5
},
"server": {
"resetPhantomTimerForNonSleepers": true
},
"ui": {
"theme": "magic"
}
}
Well Rested effect modifiers are added directly to the player's generic stats
For servers
Server behavior
The mod respects the vanilla playerSleepingPercentage gamerule.
If this value is set below 100%, only players who actually slept during the night will receive:
- the Rested effect
- the night summary
Players who did not sleep will not receive these rewards.
Rest counter handling
The config includes the following option:
"server": {
"resetPhantomTimerForNonSleepers": true
}
This setting controls how the phantom rest timer (timeSinceLastRest) is reset when the night is skipped.
When enabled (true):
- the rest timer is reset for all players
- even players who did not sleep will have their counter reset
This prevents situations where players who didn’t participate in skipping the night are still targeted by phantoms later.
When disabled (false):
- the rest timer is reset only for players who actually slept
- players who didn’t sleep keep their
timeSinceLastRestvalue and may still be targeted by phantoms on future nights
Items that boost or decrease Well Rested
Comfort Tags
You can extend the comfort system using data packs by adding blocks to special tags.
Place your tag files in:
data/midnightthoughts/tags/block/
Each file must contain a JSON list of blocks:
{
"replace": false,
"values": [
"minecraft:example_block"
]
}
Setting "replace": false ensures that new blocks are added without overriding the default ones. Tags in Minecraft are used to group blocks together through datapacks and mods.
Positive Comfort Tags
These tags increase comfort and contribute to the Well Rested level:
comfort_lightingcomfort_carpetcomfort_furniturecomfort_decorationcomfort_structure
Each category contributes +1 level to the effect (up to 5 levels).
Negative Comfort Tags
These tags reduce comfort around the bed:
comfort_negative_darkcomfort_negative_hostilecomfort_negative_macabre
Too many negative blocks may lower the final Rested level or cause nightmares.
Full block list
The complete list of blocks used by the comfort system can be found here:
Full list:



