Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate attributes. * Define local variable to cache multiple accesses to `registered_nodes[]` and improve readability. * Reduce redundant `== false` condition check.new_mapgen_api
parent
52333cea0f
commit
b9c2c3bd0a
|
@ -50,8 +50,10 @@ mobs_mc.make_owner_teleport_function = function(dist, teleport_check_interval)
|
|||
local telepos_below = {x=telepos.x, y=telepos.y-1, z=telepos.z}
|
||||
table.remove(check_offsets, r)
|
||||
-- Long story short, spawn on a platform
|
||||
if minetest.registered_nodes[minetest.get_node(telepos).name].walkable == false and
|
||||
minetest.registered_nodes[minetest.get_node(telepos_below).name].walkable == true then
|
||||
local trynode = minetest.registered_nodes[minetest.get_node(telepos).name]
|
||||
local trybelownode = minetest.registered_nodes[minetest.get_node(telepos_below).name]
|
||||
if trynode and not trynode.walkable and
|
||||
trybelownode and trybelownode.walkable then
|
||||
-- Correct position found! Let's teleport.
|
||||
self.object:set_pos(telepos)
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue