From 6cab343216ece8540ce14e05e0a72791caa64121 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 5 Jan 2025 18:05:26 +0100 Subject: [PATCH] fix error caused by invalid facedir --- mods/beds/api.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mods/beds/api.lua b/mods/beds/api.lua index 31380956..2214465b 100644 --- a/mods/beds/api.lua +++ b/mods/beds/api.lua @@ -10,6 +10,9 @@ end local function get_other_bed_pos(pos, n) local node = core.get_node(pos) local dir = core.facedir_to_dir(node.param2) + if not dir then + return -- There are 255 possible param2 values. Ignore bad ones. + end local other if n == 2 then other = vector.subtract(pos, dir) @@ -124,6 +127,9 @@ function beds.register_bed(name, def) on_rotate = function(pos, node, user, _, new_param2) local dir = minetest.facedir_to_dir(node.param2) + if not dir then + return false + end -- old position of the top node local p = vector.add(pos, dir) local node2 = minetest.get_node_or_nil(p)