From 2a6050e552be1d74097fb2678591aff47ae67c78 Mon Sep 17 00:00:00 2001 From: BlockMen 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