Bed bugfix: Remove "reverse" toggle in favor of swap_node/set_node combo (#2976)

This commit is contained in:
Mantar 2023-12-24 04:41:26 -08:00 committed by GitHub
parent ff755eed9c
commit 43185f19e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,4 @@
local reverse = true
local function destruct_bed(pos, n) local function destruct_bed(pos, n)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
local other local other
@ -12,15 +10,14 @@ local function destruct_bed(pos, n)
local dir = minetest.facedir_to_dir(node.param2) local dir = minetest.facedir_to_dir(node.param2)
other = vector.add(pos, dir) other = vector.add(pos, dir)
end end
local oname = minetest.get_node(other).name
if reverse then if minetest.get_item_group(oname, "bed") ~= 0 then
reverse = not reverse -- Swap node leaves meta, but doesn't call destruct_bed again
minetest.remove_node(other) minetest.swap_node(other, {name = "air"})
minetest.check_for_falling(other) minetest.remove_node(other) -- Now clear the meta
beds.remove_spawns_at(pos) minetest.check_for_falling(other)
beds.remove_spawns_at(other) beds.remove_spawns_at(pos)
else beds.remove_spawns_at(other)
reverse = not reverse
end end
end end