Add check for unknown nodes.

* Check if node has a definition table before attempting to evaluate its
  attributes.  By application of De Morgan's law, the compound logic
  expression can be rewritten so that the existence of the table is
  checked before all following attribute references.
This commit is contained in:
kabou 2022-03-09 15:14:22 +01:00
parent 6a69f49fa0
commit 1326b9e7e7

View File

@ -179,7 +179,7 @@ function mcl_structures.generate_igloo(pos, rotation, pr)
real_depth = real_depth + 1
local node = minetest.get_node({x=tpos.x,y=tpos.y-y,z=tpos.z})
local def = minetest.registered_nodes[node.name]
if (not def) or (not def.walkable) or (def.liquidtype ~= "none") or (not def.is_ground_content) then
if not (def and def.walkable and def.liquidtype == "none" and def.is_ground_content) then
bpos.y = tpos.y-y+1
break
end