Skip to content

Commit

Permalink
Fix crash on exit of bed formspec if not sleeping (#2826)
Browse files Browse the repository at this point in the history
  • Loading branch information
appgurueu committed Feb 11, 2021
1 parent 3d95fce commit 624dafc
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions mods/beds/functions.lua
Expand Up @@ -60,18 +60,19 @@ local function lay_down(player, pos, bed_pos, state, skip)

-- stand up
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
-- skip here to prevent sending player specific changes (used for leaving players)
if skip then
return
end
if p then
player:set_pos(p)
end
player:set_pos(beds.pos[name])

-- 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
player:set_physics_override({
speed = physics_override.speed,
Expand Down Expand Up @@ -101,6 +102,11 @@ local function lay_down(player, pos, bed_pos, state, skip)
return false
end

if beds.player[name] then
-- player already in bed, do nothing
return false
end

beds.pos[name] = pos
beds.bed_position[name] = bed_pos
beds.player[name] = {physics_override = player:get_physics_override()}
Expand Down

0 comments on commit 624dafc

Please sign in to comment.