# Enable the stairs mod ABM that replaces the old 'upside down'
# stair and slab nodes in old maps with the new param2 versions.
#enable_stairs_replace_abm = false
+
+# Whether you allow respawning in beds
+# Default value is true
+#enable_bed_respawn = true
+
+# Whether players can skip night by sleeping
+# Default value is true
+#enable_bed_night_skip = true
Another feature is a controled respawning. If you have slept in bed (not just lying in it) your respawn point
is set to the beds location and you will respawn there after death.
You can disable the respawn at beds by setting "enable_bed_respawn = false" in minetest.conf
-
+You can also disable the night skip feature by setting "enable_bed_night_skip = false" in minetest.conf or by using
+the /set command ingame.
License of source code, textures: WTFPL
end
end
+local function is_night_skip_enabled()
+ local enable_night_skip = minetest.setting_getbool("enable_bed_night_skip")
+ if enable_night_skip == nil then
+ enable_night_skip = true
+ end
+ return enable_night_skip
+end
+
local function check_in_beds(players)
local in_bed = beds.player
if not players then
if skip then
return
end
- if p then
+ if p then
player:setpos(p)
end
"label[2.7,11; Good morning.]"
else
form_n = beds.formspec ..
- "label[2.2,11;"..tostring(player_in_bed).." of "..tostring(ges).." players are in bed]"
- if is_majority then
+ "label[2.2,11;"..tostring(player_in_bed).." of "..tostring(ges).." players are in bed]"
+ if is_majority and is_night_skip_enabled() then
form_n = form_n ..
"button_exit[2,8;4,0.75;force;Force night skip]"
end
-- skip the night and let all players stand up
if check_in_beds() then
minetest.after(2, function()
- beds.skip_night()
if not is_sp then
- update_formspecs(true)
+ update_formspecs(is_night_skip_enabled())
+ end
+ if is_night_skip_enabled() then
+ beds.skip_night()
+ beds.kick_players()
end
- beds.kick_players()
end)
end
end
beds.player[name] = nil
if check_in_beds() then
minetest.after(2, function()
- beds.skip_night()
- update_formspecs(true)
- beds.kick_players()
+ update_formspecs(is_night_skip_enabled())
+ if is_night_skip_enabled() then
+ beds.skip_night()
+ beds.kick_players()
+ end
end)
end
end)
end
if fields.force then
- beds.skip_night()
- update_formspecs(true)
- beds.kick_players()
+ update_formspecs(is_night_skip_enabled())
+ if is_night_skip_enabled() then
+ beds.skip_night()
+ beds.kick_players()
+ end
end
end)