From 3aac12d0aadf40e2a36e46b0959c94891f37e51a Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sun, 1 Sep 2024 13:13:26 +0100 Subject: [PATCH] tidy sapling growth and sakura schem --- sapling.lua | 48 +++++++------- schematics/sakura.lua | 142 +++++++++++++++++++++--------------------- 2 files changed, 94 insertions(+), 96 deletions(-) diff --git a/sapling.lua b/sapling.lua index e545818..ce01674 100644 --- a/sapling.lua +++ b/sapling.lua @@ -137,14 +137,12 @@ register_sapling("ethereal:olive_tree", "Olive", "ethereal_olive_tree_sapling", -- add tree schematic -local function add_tree(pos, ofx, ofy, ofz, schem, replace) - - if not schem then print("Schematic not found") ; return end +local function add_tree(pos, schem, replace) minetest.swap_node(pos, {name = "air"}) - minetest.place_schematic({x = pos.x - ofx, y = pos.y - ofy, z = pos.z - ofz}, - schem, 0, replace, false) + minetest.place_schematic(pos, schem, "random", replace, false, + "place_center_x, place_center_z") end -- get mod path and schematic folder @@ -154,85 +152,85 @@ local path = minetest.get_modpath("ethereal") .. "/schematics/" -- global tree grow functions function ethereal.grow_basandra_bush(pos) - add_tree(pos, 1, 0, 1, ethereal.basandrabush) + add_tree(pos, ethereal.basandrabush) end function ethereal.grow_yellow_tree(pos) - add_tree(pos, 4, 0, 4, ethereal.yellowtree) + add_tree(pos, ethereal.yellowtree) end function ethereal.grow_big_tree(pos) - add_tree(pos, 4, 0, 4, ethereal.bigtree) + add_tree(pos, ethereal.bigtree) end function ethereal.grow_banana_tree(pos) if math.random(2) == 1 and minetest.find_node_near(pos, 1, {"farming:soil_wet"}) then - add_tree(pos, 3, 0, 3, ethereal.bananatree, + add_tree(pos, ethereal.bananatree, {{"ethereal:banana", "ethereal:banana_bunch"}}) else - add_tree(pos, 3, 0, 3, ethereal.bananatree) + add_tree(pos, ethereal.bananatree) end end function ethereal.grow_frost_tree(pos) - add_tree(pos, 4, 0, 4, ethereal.frosttrees) + add_tree(pos, ethereal.frosttrees) end function ethereal.grow_mushroom_tree(pos) - add_tree(pos, 4, 0, 4, ethereal.mushroomone) + add_tree(pos, ethereal.mushroomone) end function ethereal.grow_mushroom_brown_tree(pos) - add_tree(pos, 1, 0, 1, ethereal.mushroomtwo) + add_tree(pos, ethereal.mushroomtwo) end function ethereal.grow_palm_tree(pos) - add_tree(pos, 4, 0, 4, ethereal.palmtree) + add_tree(pos, ethereal.palmtree) end function ethereal.grow_willow_tree(pos) - add_tree(pos, 5, 0, 5, ethereal.willow) + add_tree(pos, ethereal.willow) end function ethereal.grow_redwood_tree(pos) - add_tree(pos, 4, 0, 4, ethereal.redwood_small_tree) + add_tree(pos, ethereal.redwood_small_tree) end function ethereal.grow_giant_redwood_tree(pos) - add_tree(pos, 7, 0, 7, ethereal.redwood_tree) + add_tree(pos, ethereal.redwood_tree) end function ethereal.grow_orange_tree(pos) - add_tree(pos, 2, 0, 2, ethereal.orangetree) + add_tree(pos, ethereal.orangetree) end function ethereal.grow_bamboo_tree(pos) - add_tree(pos, 1, 0, 1, ethereal.bambootree) + add_tree(pos, ethereal.bambootree) end function ethereal.grow_birch_tree(pos) - add_tree(pos, 2, 0, 2, ethereal.birchtree) + add_tree(pos, ethereal.birchtree) end function ethereal.grow_sakura_tree(pos) if math.random(10) == 1 then - add_tree(pos, 4, 0, 3, ethereal.sakura_tree, + add_tree(pos, ethereal.sakura_tree, {{"ethereal:sakura_leaves", "ethereal:sakura_leaves2"}}) else - add_tree(pos, 4, 0, 3, ethereal.sakura_tree) + add_tree(pos, ethereal.sakura_tree) end end function ethereal.grow_lemon_tree(pos) - add_tree(pos, 2, 0, 2, ethereal.lemontree) + add_tree(pos, ethereal.lemontree) end function ethereal.grow_olive_tree(pos) - add_tree(pos, 3, 0, 3, ethereal.olivetree) + add_tree(pos, ethereal.olivetree) end -- return True if sapling has enough height room to grow @@ -253,7 +251,7 @@ function ethereal.grow_sapling(pos, node) -- get node below sapling local under = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z}).name local def = minetest.registered_nodes[node.name] ; if not def then return end - local height = def.grown_height + local height = def.grown_height or 33 -- do we have enough height to grow sapling into tree? if not height or not enough_height(pos, height) then return end diff --git a/schematics/sakura.lua b/schematics/sakura.lua index 148149c..f32d090 100644 --- a/schematics/sakura.lua +++ b/schematics/sakura.lua @@ -5,7 +5,7 @@ local _ = {name = "air", param1 = 255} ethereal.sakura_tree = { - size = {x=10, y=10, z=7}, + size = {x=9, y=10, z=7}, yslice_prob = { {ypos = 0, prob = 127}, @@ -15,82 +15,82 @@ ethereal.sakura_tree = { data = { -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,P,P,_,_,_,_, -_,_,_,P,P,P,P,_,_,_, -_,_,_,P,P,P,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,P,P,_,_,_, +_,_,_,P,P,P,P,_,_, +_,_,_,P,P,P,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,P,P,P,P,_,_,_, -_,_,_,P,P,P,P,_,_,_, -_,_,P,P,T,P,P,P,_,_, -_,_,P,P,P,P,P,P,_,_, -_,_,P,_,P,P,P,P,_,_, -_,_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,P,P,P,P,_,_, +_,_,_,P,P,P,P,_,_, +_,_,P,P,T,P,P,P,_, +_,_,P,P,P,P,P,P,_, +_,_,P,_,P,P,P,P,_, +_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,P,P,P,_,_,_,_, -_,_,P,P,P,P,P,P,_,_, -_,_,P,P,T,P,P,P,P,_, -_,P,P,P,P,P,P,P,P,P, -_,P,P,P,P,P,P,P,P,P, -_,P,P,P,P,P,P,P,P,_, -_,_,P,P,P,P,P,P,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,P,P,P,_,_,_, +_,_,P,P,P,P,P,P,_, +_,_,P,P,T,P,P,P,P, +_,P,P,P,P,P,P,P,P, +_,P,P,P,P,P,P,P,P, +_,P,P,P,P,P,P,P,P, +_,_,P,P,P,P,P,P,_, -_,_,_,_,T,_,_,_,_,_, -_,_,_,_,T,_,_,_,_,_, -_,_,_,_,T,_,_,_,_,_, -_,_,P,P,T,T,P,_,_,_, -_,P,P,T,T,T,T,P,P,_, -_,P,P,T,_,T,P,T,P,_, -P,P,P,T,P,T,P,P,T,P, -P,P,T,P,P,P,P,P,T,P, -P,P,T,P,P,P,P,T,P,P, -_,P,P,P,P,P,P,P,P,_, +_,_,_,_,T,_,_,_,_, +_,_,_,_,T,_,_,_,_, +_,_,_,_,T,_,_,_,_, +_,_,P,P,T,T,P,_,_, +_,P,P,T,T,T,T,P,P, +_,P,P,T,_,T,P,T,P, +P,P,P,T,P,T,P,T,P, +P,P,T,P,P,P,P,T,P, +P,P,T,P,P,P,P,T,P, +_,P,P,P,P,P,P,P,P, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,P,_,P,_,_,_,_, -_,_,P,P,T,P,P,P,_,_, -_,_,P,P,_,P,P,P,P,_, -_,P,P,P,P,P,P,P,P,P, -_,P,P,P,P,P,P,P,P,P, -_,P,P,P,P,P,P,P,P,_, -_,_,P,P,P,P,P,P,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,P,_,P,_,_,_, +_,_,P,P,T,P,P,P,_, +_,_,P,P,_,P,P,P,P, +_,P,P,P,P,P,P,P,P, +_,P,P,P,P,P,P,P,P, +_,P,P,P,P,P,P,P,P, +_,_,P,P,P,P,P,P,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,P,_,_,_,_,_, -_,_,_,P,P,P,_,_,_,_, -_,_,_,P,T,P,_,_,_,_, -_,_,P,P,T,P,P,P,P,_, -_,_,P,P,P,P,P,P,P,_, -_,_,P,P,P,P,_,P,P,_, -_,_,_,_,P,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,P,_,_,_,_, +_,_,_,P,P,P,_,_,_, +_,_,_,P,T,P,_,_,_, +_,_,P,P,T,P,P,P,P, +_,_,P,P,P,P,P,P,P, +_,_,P,P,P,P,_,P,P, +_,_,_,_,P,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, -_,_,_,_,P,_,_,_,_,_, -_,_,_,P,P,P,_,_,_,_, -_,_,_,P,P,P,_,_,_,_, -_,_,_,P,P,P,_,_,_,_, -_,_,_,_,P,_,_,_,_,_, -_,_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,_,_,_,_,_, +_,_,_,_,P,_,_,_,_, +_,_,_,P,P,P,_,_,_, +_,_,_,P,P,P,_,_,_, +_,_,_,P,P,P,_,_,_, +_,_,_,_,P,_,_,_,_, +_,_,_,_,_,_,_,_,_, } }