From dd2469e071d6e587aaa768087b04015b75b4ab04 Mon Sep 17 00:00:00 2001 From: Kotolegokot Date: Wed, 7 Nov 2012 15:47:21 +0600 Subject: [PATCH] Interval = 60, chance = 20 --- games/minimal/mods/default/init.lua | 19 +++++++++++-------- games/minimal/mods/default/mapgen.lua | 8 ++++++-- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/games/minimal/mods/default/init.lua b/games/minimal/mods/default/init.lua index e31efdc1c..adf7a73f4 100644 --- a/games/minimal/mods/default/init.lua +++ b/games/minimal/mods/default/init.lua @@ -24,8 +24,8 @@ end) minetest.register_abm({ nodenames = {"default:sapling"}, - interval = 10, - chance = 50, + interval = 60, + chance = 20, action = function(pos, node) if not minetest.env:get_node_light(pos) then return @@ -33,14 +33,17 @@ minetest.register_abm({ if minetest.env:get_node_light(pos) < 8 then return end - for dy=1,5 do - pos.y = pos.y+dy - if not minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to then - return + local height = math.random(4,5) + for y=1,4 do + if not minetest.env:get_node({x=pos.x,y=pos.y+y,z=pos.z}).buildable_to then + if y == 4 then + height = 4 + else + return + end end - pos.y = pos.y-dy end - make_tree(pos, math.random(1,4)==1) + make_tree(pos, math.random(1,4)==1, height) end }) diff --git a/games/minimal/mods/default/mapgen.lua b/games/minimal/mods/default/mapgen.lua index fc044cdb2..31625b566 100644 --- a/games/minimal/mods/default/mapgen.lua +++ b/games/minimal/mods/default/mapgen.lua @@ -98,8 +98,12 @@ local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, end end -function make_tree(pos, is_apple_tree) - for _=1,math.random(4,5) do +function make_tree(pos, is_apple_tree, height) + if not height then + height = math.random(4,5) + end + + for _=1,height do minetest.env:set_node(pos, {name="default:tree"}) pos.y = pos.y+1 end