From 6708719a17ab799b607f48ccfb9ec264efe3a9a3 Mon Sep 17 00:00:00 2001 From: An0n3m0us Date: Sun, 26 Jan 2020 16:04:12 +0000 Subject: [PATCH] Minor fixes --- mods/beds/functions.lua | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/mods/beds/functions.lua b/mods/beds/functions.lua index c4527f0f..7b7eea4c 100644 --- a/mods/beds/functions.lua +++ b/mods/beds/functions.lua @@ -65,11 +65,11 @@ local function lay_down(player, pos, bed_pos, state, skip) return false end end + end - if vector.length(player:get_player_velocity()) > 0.001 then - minetest.chat_send_player(name, S("You have to stop moving before going to bed!")) - return false - end + if vector.length(player:get_player_velocity()) > 0.001 then + minetest.chat_send_player(name, S("You have to stop moving before going to bed!")) + return false end -- stand up @@ -239,20 +239,26 @@ minetest.register_on_leaveplayer(function(player) end) minetest.register_on_dieplayer(function(player) + local name = player:get_player_name() + local player = minetest.get_player_by_name(name) + local in_bed = beds.player local pos = player:get_pos() local yaw = get_look_yaw(pos) - lay_down(player, nil, pos, false) - player:set_look_horizontal(yaw) - player:set_pos(pos) + if in_bed[name] then + lay_down(player, nil, pos, false) + player:set_look_horizontal(yaw) + player:set_pos(pos) + end minetest.chat_send_all(player:get_player_name().." died.") end) function minetest.calculate_knockback(player, hitter, time_from_last_punch, tool_capabilities, dir, distance, damage) local in_bed = beds.player + local name = player:get_player_name() - if damage == 0 or player:get_armor_groups().immortal or in_bed[player] then + if damage == 0 or player:get_armor_groups().immortal or in_bed[name] then return 0.0 end @@ -295,3 +301,4 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end end) +