keep up to date with default beds fixes (thanks appgurueu)
This commit is contained in:
parent
990e41ee90
commit
0cf4fb6bcd
@ -236,6 +236,35 @@ function beds.skip_night()
|
||||
end
|
||||
|
||||
|
||||
local update_scheduled = false
|
||||
|
||||
local function schedule_update()
|
||||
|
||||
if update_scheduled then
|
||||
-- there already is an update scheduled; don't schedule more to prevent races
|
||||
return
|
||||
end
|
||||
|
||||
update_scheduled = true
|
||||
|
||||
minetest.after(2, function()
|
||||
|
||||
update_scheduled = false
|
||||
|
||||
if not is_sp then
|
||||
update_formspecs(is_night_skip_enabled())
|
||||
end
|
||||
|
||||
if is_night_skip_enabled() then
|
||||
|
||||
-- skip the night and let all players stand up
|
||||
beds.skip_night()
|
||||
beds.kick_players()
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
function beds.on_rightclick(pos, player)
|
||||
|
||||
local name = player:get_player_name()
|
||||
@ -267,20 +296,8 @@ function beds.on_rightclick(pos, player)
|
||||
update_formspecs(false)
|
||||
end
|
||||
|
||||
-- skip the night and let all players stand up
|
||||
if check_in_beds() then
|
||||
|
||||
minetest.after(2, function()
|
||||
|
||||
if not is_sp then
|
||||
update_formspecs(is_night_skip_enabled())
|
||||
end
|
||||
|
||||
if is_night_skip_enabled() then
|
||||
beds.skip_night()
|
||||
beds.kick_players()
|
||||
end
|
||||
end)
|
||||
schedule_update()
|
||||
end
|
||||
end
|
||||
|
||||
@ -340,16 +357,7 @@ minetest.register_on_leaveplayer(function(player)
|
||||
beds.player[name] = nil
|
||||
|
||||
if check_in_beds() then
|
||||
|
||||
minetest.after(2, function()
|
||||
|
||||
update_formspecs(is_night_skip_enabled())
|
||||
|
||||
if is_night_skip_enabled() then
|
||||
beds.skip_night()
|
||||
beds.kick_players()
|
||||
end
|
||||
end)
|
||||
schedule_update()
|
||||
end
|
||||
end)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user