local verticals_list = { "default:dirt", "default:dirt_with_grass", "default:stone", "default:cobble", "default:mossycobble", "default:brick", "default:tree", "default:jungletree", "default:coal", "default:iron" } plant_valid_wall = function(wallpos) local walldir = nil if minetest.env:get_node({ x = wallpos.x-1, y = wallpos.y, z = wallpos.z }).name ~= "air" then walldir = 3 elseif minetest.env:get_node({ x = wallpos.x+1, y = wallpos.y, z = wallpos.z }).name ~= "air" then walldir = 2 end elseif minetest.env:get_node({ x = wallpos.x, y = wallpos.y, z = wallpos.z+1 }).name ~= "air" then walldir = 4 elseif minetest.env:get_node({ x = wallpos.x, y = wallpos.y, z = wallpos.z-1 }).name ~= "air" then walldir = 5 elseif table.getn(minetest.env:find_nodes_in_area({x=wallpos.x-1, y=wallpos.y, z=wallpos.z-1}, {x=wallpos.x+1, y=wallpos.y, z=wallpos.z+1}, verticals_list)) == 0 then walldir = nil end if walldir ~= nil then dbg("walldir is "..walldir) else dbg("walldir is nil") end return walldir end