Add option to disable bed respawn, better recipe for fancy bed

This commit is contained in:
BlockMen 2015-03-06 10:46:05 +01:00
parent e604d8d7f3
commit 2a6050e552
3 changed files with 9 additions and 19 deletions

View File

@ -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. 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 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 License of source code, textures: WTFPL
--------------------------------------- ---------------------------------------
(c) Copyright BlockMen (2014-2015) (c) Copyright BlockMen (2014-2015)
This program is free software. It comes without any warranty, to This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it 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 and/or modify it under the terms of the Do What The Fuck You Want

View File

@ -42,7 +42,8 @@ beds.register_bed("beds:fancy_bed", {
}, },
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = { recipe = {
{"wool:red", "wool:white", "group:stick"}, {"", "", "group:stick"},
{"wool:red", "wool:red", "wool:white"},
{"group:wood", "group:wood", "group:wood"}, {"group:wood", "group:wood", "group:wood"},
}, },
}) })

View File

@ -1,5 +1,6 @@
local player_in_bed = 0 local player_in_bed = 0
local is_sp = minetest.is_singleplayer() local is_sp = minetest.is_singleplayer()
local enable_respawn = minetest.setting_getbool("enable_bed_respawn") or true
-- helper functions -- helper functions
@ -166,7 +167,11 @@ minetest.register_on_joinplayer(function(player)
beds.read_spawns() beds.read_spawns()
end) end)
-- respawn player at bed if enabled and valid position is found
minetest.register_on_respawnplayer(function(player) minetest.register_on_respawnplayer(function(player)
if not enable_respawn then
return false
end
local name = player:get_player_name() local name = player:get_player_name()
local pos = beds.spawn[name] or nil local pos = beds.spawn[name] or nil
if pos then if pos then