From 2a6050e552be1d74097fb2678591aff47ae67c78 Mon Sep 17 00:00:00 2001
From: BlockMen <nmuelll@web.de>
Date: Fri, 6 Mar 2015 10:46:05 +0100
Subject: [PATCH] Add option to disable bed respawn, better recipe for fancy
 bed

---
 mods/beds/README.txt    | 20 ++------------------
 mods/beds/beds.lua      |  3 ++-
 mods/beds/functions.lua |  5 +++++
 3 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/mods/beds/README.txt b/mods/beds/README.txt
index 20893b81..21d4433f 100644
--- a/mods/beds/README.txt
+++ b/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/mods/beds/beds.lua b/mods/beds/beds.lua
index acff444c..43bf98ed 100644
--- a/mods/beds/beds.lua
+++ b/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/mods/beds/functions.lua b/mods/beds/functions.lua
index ea3d3af8..87a930e2 100644
--- a/mods/beds/functions.lua
+++ b/mods/beds/functions.lua
@@ -1,5 +1,6 @@
 local player_in_bed = 0
 local is_sp = minetest.is_singleplayer()
+local enable_respawn = minetest.setting_getbool("enable_bed_respawn") or true
 
 
 -- helper functions
@@ -166,7 +167,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
-- 
GitLab