Skip to content
Snippets Groups Projects
Unverified Commit 624dafc1 authored by Lars Müller's avatar Lars Müller Committed by GitHub
Browse files

Fix crash on exit of bed formspec if not sleeping (#2826)

parent 3d95fcee
No related branches found
No related tags found
No related merge requests found
...@@ -60,18 +60,19 @@ local function lay_down(player, pos, bed_pos, state, skip) ...@@ -60,18 +60,19 @@ 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
local p = beds.pos[name] or nil if not beds.player[name] then
-- player not in bed, do nothing
return false
end
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)
if skip then if skip then
return return
end end
if p then player:set_pos(beds.pos[name])
player:set_pos(p)
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,
...@@ -101,6 +102,11 @@ local function lay_down(player, pos, bed_pos, state, skip) ...@@ -101,6 +102,11 @@ local function lay_down(player, pos, bed_pos, state, skip)
return false return false
end end
if beds.player[name] then
-- player already in bed, do nothing
return false
end
beds.pos[name] = pos beds.pos[name] = pos
beds.bed_position[name] = bed_pos beds.bed_position[name] = bed_pos
beds.player[name] = {physics_override = player:get_physics_override()} beds.player[name] = {physics_override = player:get_physics_override()}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment