Return if invalid parameters are given to node_detector_scan (e.g. unloaded area), should fix #228

This commit is contained in:
Jeija 2015-03-26 07:29:34 +01:00
parent a6d0a523ba
commit b6ae419b00

@ -135,8 +135,12 @@ end
-- returns true if player was found, false if not -- returns true if player was found, false if not
local node_detector_scan = function (pos) local node_detector_scan = function (pos)
local node = minetest.get_node(pos) if not pos then return end
local frontpos = vector.subtract(pos, minetest.facedir_to_dir(node.param2)) local node = minetest.get_node_or_nil(pos)
if not node then return end
local scandir = minetest.facedir_to_dir(node.param2)
if not scandir then return end
local frontpos = vector.subtract(pos, scandir)
local frontnode = minetest.get_node(frontpos) local frontnode = minetest.get_node(frontpos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
return (frontnode.name == meta:get_string("scanname")) or return (frontnode.name == meta:get_string("scanname")) or