summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua18
1 files changed, 11 insertions, 7 deletions
diff --git a/init.lua b/init.lua
index b28688e..c3d1aa1 100644
--- a/init.lua
+++ b/init.lua
@@ -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