diff --git a/plants_lib/init.lua b/plants_lib/init.lua index 0ae642b..18b43c6 100644 --- a/plants_lib/init.lua +++ b/plants_lib/init.lua @@ -83,13 +83,14 @@ function plantslib:search_for_surfaces(minp, maxp, biome) for i in ipairs(in_biome_nodes) do local pos = in_biome_nodes[i] local p_top = { x = pos.x, y = pos.y + 1, z = pos.z } - if minetest.env:find_node_near(p_top, biome.radius + math.random(-1.5,1.5), biome.avoid) == nil - and (biome.ncount == nil or table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, biome.neighbors)) > biome.ncount) - and (biome.near_nodes == nil or table.getn(minetest.env:find_nodes_in_area({x=pos.x-biome.near_nodes_size, y=pos.y-1, z=pos.z-biome.near_nodes_size}, {x=pos.x+biome.near_nodes_size, y=pos.y+1, z=pos.z+biome.near_nodes_size}, biome.near_nodes)) >= biome.near_nodes_count) - then - print("Call function: "..biome.exec_funct.."("..dump(pos)..")") - minetest.log("verbose", "Call function: "..biome.exec_funct.."("..dump(pos)..")") - assert(loadstring(biome.exec_funct.."("..dump(pos)..")"))() + if minetest.env:find_node_near(p_top, biome.radius + math.random(-1.5,1.5), biome.avoid) == nil then + if (biome.ncount == nil or table.getn(minetest.env:find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z-1}, {x=pos.x+1, y=pos.y, z=pos.z+1}, biome.neighbors)) > biome.ncount) + and (biome.near_nodes == nil or table.getn(minetest.env:find_nodes_in_area({x=pos.x-biome.near_nodes_size, y=pos.y-1, z=pos.z-biome.near_nodes_size}, {x=pos.x+biome.near_nodes_size, y=pos.y+1, z=pos.z+biome.near_nodes_size}, biome.near_nodes)) >= biome.near_nodes_count) + then + print("Call function: "..biome.exec_funct.."("..dump(pos)..")") + minetest.log("verbose", "Call function: "..biome.exec_funct.."("..dump(pos)..")") + assert(loadstring(biome.exec_funct.."("..dump(pos)..")"))() + end end end end