Description
🛏️ The Right to Rest
Sleep should make sense.
The Right to Rest adds configurable restrictions to beds and sleeping bags so players must actually prepare a proper resting space before skipping the night.
No more sleeping under open sky.
No more magical sleeping bag naps in the middle of nowhere.
If you want rest — earn it.
🔧 Features
- Separate rules for beds and sleeping bags
- Require a roof above your sleep location
- Require custom block groups nearby (campfires, crafting tables, etc.)
- Supports:
- OR logic within groups (
campfire|soul_campfire) - Require ALL groups or just ANY 1 group
- OR logic within groups (
- Optional lit-campfire enforcement
- Fully configurable search radius
- Dynamic keyword detection for modded beds & sleeping bags
- Works even if sleep is triggered by other mods
⚙️ Configuration Highlights
- 0 = none
- 1 = roof
- 2 = blocks
- 3 = both
Fine-tune:
- Roof distance limits
- Required block groups
- Bed & sleeping bag detection keywords
- Lit campfire enforcement
Config File:
["restriction toggles"]#Controls which requirements beds have applied#0=none, 1=roof, 2=blocks, 3=both#Default: 1#Range: 0 ~ 3bed_requirement_mode = 1#Controls which requirements sleeping bags have applied#0=none, 1=roof, 2=blocks, 3=both#Default: 2#Range: 0 ~ 3sleeping_bag_requirement_mode = 2#List of blocks that count as "beds" for this mod#Format: "modid:block_name"#NOTE: Most items should already be handled automatically through the id keywordsbed_blocks = []#List of blocks that count as "sleeping bags" for this mod#NOTE: Most modded items should already be handled automatically through the id keywords#Format: "modid:block_name"sleeping_bag_blocks = ["comforts:sleeping_bag"]#If true, blocks will also be detected dynamically by keyword matching in their ID#Example: a block with "bed" in its ID will count as a bed#Default: trueenable_keyword_detection = true#Keywords used to dynamically detect beds#Warning: keyword matching is simple substring matching; choose keywords carefully#Format: simple strings matched against the block ID path#Default: ["_bed"]bed_id_keywords = ["_bed"]#Keywords used to dynamically detect sleeping bags#Warning: keyword matching is simple substring matching; choose keywords carefully#Format: simple strings matched against the block ID path#Default: ["_sleeping_bag"]sleeping_bag_id_keywords = ["_sleeping_bag"]#These settings only matter if a block type has "roof" or "both" enabled above.#If not, this entire section can be ignored.["required roof options"]#If true, any block anywhere above the sleep target block (up to world height) counts as a roof#If false, max_roof_distance will be used instead#Default: falseignore_roof_distance = false#Maximum number of blocks above the block where a roof can exist and still count#Only used if ignore_roof_distance is false#Default: 10#Range: 2 ~ 50#Range: 2 ~ 50max_roof_distance = 10#These settings only matter if beds are set to "blocks" or "both".#If not, this entire section can be ignored.["bed required blocks options"]#Radius (in blocks) to search for required blocks for beds#Default: 10#Range: 1 ~ 30#Range: 1 ~ 30bed_required_block_search_radius = 10#If true, you must satisfy ALL required block groups below#If false, satisfying ANY one group is enough#Default: truebed_require_all_groups = true#Required block groups for beds.#Each string is one group (OR list). If bed_require_all_groups is true, every group must be satisfied.#Format: ["id1|id2|id3", "id4|id5"]#Example: ["minecraft:campfire|minecraft:soul_campfire", "minecraft:crafting_table"]bed_required_block_groups = ["minecraft:campfire|minecraft:soul_campfire"]#If true, campfires used in required block groups must be lit#Default: truerequire_lit_campfire_for_beds = true#These settings only matter if sleeping bags are set to "blocks" or "both".#If not, this entire section can be ignored.["sleeping bag required blocks options"]#Radius (in blocks) to search for required blocks for sleeping bags#Default: 5#Range: 1 ~ 30#Range: 1 ~ 30sleeping_bag_required_block_search_radius = 3#If true, you must satisfy ALL required block groups below#If false, satisfying ANY one group is enough#Default: truesleeping_bag_require_all_groups = true#Required block groups for sleeping bags.#Each string is one group (OR list). If sleeping_bag_require_all_groups is true, every group must be satisfied.#Format: ["id1|id2|id3", "id4|id5"]#Example: ["minecraft:campfire|minecraft:soul_campfire"]sleeping_bag_required_block_groups = ["minecraft:campfire|minecraft:soul_campfire"]#If true, campfires used in required block groups must be lit#Default: truerequire_lit_campfire_for_sleeping_bags = true
Make survival feel intentional.
Because rest isn’t free.


