diff --git a/minetestforfun_game/mods/beds/README.txt b/minetestforfun_game/mods/beds/README.txt index 20893b81..21d4433f 100755 --- a/minetestforfun_game/mods/beds/README.txt +++ b/minetestforfun_game/mods/beds/README.txt @@ -12,32 +12,16 @@ players are in bed too. If all players are sleeping the night gets skipped aswel if more than 50% of the players are lying in bed and use this option. 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. If dying you will respawn there. +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 craft two types of beds: - - -Simple shaped bed: - -wool wool wool -wood wood wood - -Fancy shaped bed: - -wool wool stick -wood wood wood - -Notice: You can use any color of wood or wool, mixing different is also possible. - - License of source code, textures: WTFPL --------------------------------------- (c) Copyright BlockMen (2014-2015) - This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want diff --git a/minetestforfun_game/mods/beds/beds.lua b/minetestforfun_game/mods/beds/beds.lua index acff444c..43bf98ed 100755 --- a/minetestforfun_game/mods/beds/beds.lua +++ b/minetestforfun_game/mods/beds/beds.lua @@ -42,7 +42,8 @@ beds.register_bed("beds:fancy_bed", { }, selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, recipe = { - {"wool:red", "wool:white", "group:stick"}, + {"", "", "group:stick"}, + {"wool:red", "wool:red", "wool:white"}, {"group:wood", "group:wood", "group:wood"}, }, }) diff --git a/minetestforfun_game/mods/beds/functions.lua b/minetestforfun_game/mods/beds/functions.lua index ea3d3af8..8cb28483 100755 --- a/minetestforfun_game/mods/beds/functions.lua +++ b/minetestforfun_game/mods/beds/functions.lua @@ -1,5 +1,9 @@ local player_in_bed = 0 local is_sp = minetest.is_singleplayer() +local enable_respawn = minetest.setting_getbool("enable_bed_respawn") +if enable_respawn == nil then + enable_respawn = true +end -- helper functions @@ -166,7 +170,11 @@ minetest.register_on_joinplayer(function(player) beds.read_spawns() end) +-- respawn player at bed if enabled and valid position is found minetest.register_on_respawnplayer(function(player) + if not enable_respawn then + return false + end local name = player:get_player_name() local pos = beds.spawn[name] or nil if pos then diff --git a/minetestforfun_game/mods/beds/spawns.lua b/minetestforfun_game/mods/beds/spawns.lua index 39da21c2..6e087f82 100755 --- a/minetestforfun_game/mods/beds/spawns.lua +++ b/minetestforfun_game/mods/beds/spawns.lua @@ -41,13 +41,11 @@ function beds.save_spawns() if not beds.spawn then return end - writing = true local output = io.open(org_file, "w") for i, v in pairs(beds.spawn) do output:write(v.x.." "..v.y.." "..v.z.." "..i.."\n") end io.close(output) - writing = false end function beds.set_spawns()