diff options
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -265,29 +265,33 @@ minetest.register_decoration({ fill_ratio = 0.001, biomes = {"desert"}, decoration = {"wine:blue_agave"}, + y_min = 15, + y_max = 50, + spawn_by = "default:desert_sand", + num_spawn_by = 6, }) minetest.register_abm({ label = "Blue Agave growth", nodenames = {"wine:blue_agave"}, + neighbors = {"default:desert_sand"}, interval = 17, chance = 33, action = function(pos, node) - local n = minetest.find_nodes_in_area( - {x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + local n = minetest.find_nodes_in_area_under_air( {x = pos.x + 2, y = pos.y + 1, z = pos.z + 2}, + {x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, {"wine:blue_agave"}) - if #n > 3 then - -- needs to have 2 neighbors or less to propagate (3 = +itself) + if #n > 2 then return end - -- find desert sand with air above + -- find desert sand with air above (grow across and down only) n = minetest.find_nodes_in_area_under_air( - {x = pos.x - 1, y = pos.y - 1, z = pos.z - 1}, - {x = pos.x + 1, y = pos.y + 1, z = pos.z + 1}, + {x = pos.x + 1, y = pos.y - 1, z = pos.z + 1}, + {x = pos.x - 1, y = pos.y - 2, z = pos.z - 1}, {"default:desert_sand"}) -- place blue agave |