promotional bannermobile promotional banner

The Right to Rest

Enforces realistic sleep rules for beds and sleeping bags.

🛏️ 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.

The The Right to Rest Team

profile avatar
  • 5
    Followers
  • 15
    Projects
  • 429.0K
    Downloads

More from Yoda_LegionView all