From: DS Date: Sun, 26 Jan 2020 17:59:44 +0000 (+0100) Subject: Reset spawn position on bed destruction X-Git-Tag: 5.2.0~17 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=176ddba1761fe0d9a7031dae7873033e7f089084;p=oweals%2Fminetest_game.git Reset spawn position on bed destruction --- diff --git a/mods/beds/api.lua b/mods/beds/api.lua index c545a201..cab2def5 100644 --- a/mods/beds/api.lua +++ b/mods/beds/api.lua @@ -17,6 +17,8 @@ local function destruct_bed(pos, n) reverse = not reverse minetest.remove_node(other) minetest.check_for_falling(other) + beds.remove_spawns_at(pos) + beds.remove_spawns_at(other) else reverse = not reverse end diff --git a/mods/beds/spawns.lua b/mods/beds/spawns.lua index baee364d..1a2ce810 100644 --- a/mods/beds/spawns.lua +++ b/mods/beds/spawns.lua @@ -61,3 +61,12 @@ function beds.set_spawns() end beds.save_spawns() end + +function beds.remove_spawns_at(pos) + for name, p in pairs(beds.spawn) do + if vector.equals(vector.round(p), pos) then + beds.spawn[name] = nil + end + end + beds.save_spawns() +end