The Right to Rest

Quick rating

Community listing page, reviews here may not be monitored by the author.

The Right to Rest

No reviews yet

Enforces realistic sleep rules for beds and sleeping bags.

Mod Loaders
Minecraft

About

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
  • 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 ~ 3
    bed_requirement_mode = 1
    #Controls which requirements sleeping bags have applied
    #0=none, 1=roof, 2=blocks, 3=both
    #Default: 2
    #Range: 0 ~ 3
    sleeping_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 keywords
    bed_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: true
    enable_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: false
    ignore_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 ~ 50
    max_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 ~ 30
    bed_required_block_search_radius = 10
    #If true, you must satisfy ALL required block groups below
    #If false, satisfying ANY one group is enough
    #Default: true
    bed_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: true
    require_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 ~ 30
    sleeping_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: true
    sleeping_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: true
    require_lit_campfire_for_sleeping_bags = true



Make survival feel intentional.
Because rest isn’t free.