mirror of
https://github.com/luanti-org/minetest_game.git
synced 2025-05-21 06:43:17 -04:00
Fix crash on exit of bed formspec if not sleeping
This commit is contained in:
parent
aa9cc39317
commit
8cd25b2467
1 changed files with 6 additions and 2 deletions
|
@ -60,6 +60,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||||
|
|
||||||
-- stand up
|
-- stand up
|
||||||
if state ~= nil and not state then
|
if state ~= nil and not state then
|
||||||
|
assert(beds.player[name], "player " .. name .. " not in bed")
|
||||||
local p = beds.pos[name] or nil
|
local p = beds.pos[name] or nil
|
||||||
beds.bed_position[name] = nil
|
beds.bed_position[name] = nil
|
||||||
-- skip here to prevent sending player specific changes (used for leaving players)
|
-- skip here to prevent sending player specific changes (used for leaving players)
|
||||||
|
@ -71,7 +72,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- physics, eye_offset, etc
|
-- physics, eye_offset, etc
|
||||||
local physics_override = assert(beds.player[name].physics_override)
|
local physics_override = beds.player[name].physics_override
|
||||||
beds.player[name] = nil
|
beds.player[name] = nil
|
||||||
player:set_physics_override({
|
player:set_physics_override({
|
||||||
speed = physics_override.speed,
|
speed = physics_override.speed,
|
||||||
|
@ -274,7 +275,10 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
local last_player_in_bed = get_player_in_bed_count()
|
local last_player_in_bed = get_player_in_bed_count()
|
||||||
|
|
||||||
if fields.quit or fields.leave then
|
if fields.quit or fields.leave then
|
||||||
lay_down(player, nil, nil, false)
|
if beds.player[player:get_player_name()] then
|
||||||
|
-- make player stand up only if they were in bed
|
||||||
|
lay_down(player, nil, nil, false)
|
||||||
|
end
|
||||||
update_formspecs(false)
|
update_formspecs(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue