forked from VoxeLibre/VoxeLibre
Merge pull request 'Generate podzol when planting huge spruce trees' (#2126) from spruce_podzol into master
Reviewed-on: MineClone2/MineClone2#2126 Reviewed-by: AFCMS <afcm.contact@gmail.com> Reviewed-by: kabou <kabou@noreply.git.minetest.land>
This commit is contained in:
commit
511b7030e1
|
@ -620,6 +620,30 @@ function mcl_core.generate_spruce_tree(pos)
|
||||||
minetest.place_schematic({ x = pos.x - 3, y = pos.y - 1, z = pos.z - 3 }, path, "0", nil, false)
|
minetest.place_schematic({ x = pos.x - 3, y = pos.y - 1, z = pos.z - 3 }, path, "0", nil, false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function find_necorner(p)
|
||||||
|
local n=minetest.get_node_or_nil(vector.offset(p,0,1,1))
|
||||||
|
local e=minetest.get_node_or_nil(vector.offset(p,1,1,0))
|
||||||
|
if n and n.name == "mcl_core:sprucetree" then
|
||||||
|
p=vector.offset(p,0,0,1)
|
||||||
|
end
|
||||||
|
if e and e.name == "mcl_core:sprucetree" then
|
||||||
|
p=vector.offset(p,1,0,0)
|
||||||
|
end
|
||||||
|
return p
|
||||||
|
end
|
||||||
|
|
||||||
|
local function generate_spruce_podzol(ps)
|
||||||
|
local pos=find_necorner(ps)
|
||||||
|
local pos1=vector.offset(pos,-6,-6,-6)
|
||||||
|
local pos2=vector.offset(pos,6,6,6)
|
||||||
|
local nn=minetest.find_nodes_in_area_under_air(pos1, pos2, {"group:dirt"})
|
||||||
|
for k,v in pairs(nn) do
|
||||||
|
if math.random(vector.distance(pos,v)) < 4 and not (math.abs(pos.x-v.x) == 6 and math.abs(pos.z-v.z) == 6) then --leave out the corners
|
||||||
|
minetest.set_node(v,{name="mcl_core:podzol"})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function mcl_core.generate_huge_spruce_tree(pos)
|
function mcl_core.generate_huge_spruce_tree(pos)
|
||||||
local r1 = math.random(1, 2)
|
local r1 = math.random(1, 2)
|
||||||
local r2 = math.random(1, 4)
|
local r2 = math.random(1, 4)
|
||||||
|
@ -636,6 +660,7 @@ function mcl_core.generate_huge_spruce_tree(pos)
|
||||||
path = modpath.."/schematics/mcl_core_spruce_huge_up_"..r2..".mts"
|
path = modpath.."/schematics/mcl_core_spruce_huge_up_"..r2..".mts"
|
||||||
end
|
end
|
||||||
minetest.place_schematic(vector.add(pos, offset), path, "0", nil, false)
|
minetest.place_schematic(vector.add(pos, offset), path, "0", nil, false)
|
||||||
|
generate_spruce_podzol(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- END of spruce tree functions --
|
-- END of spruce tree functions --
|
||||||
|
@ -1673,4 +1698,3 @@ function mcl_core.after_snow_destruct(pos)
|
||||||
local node = minetest.get_node(npos)
|
local node = minetest.get_node(npos)
|
||||||
mcl_core.clear_snow_dirt(npos, node)
|
mcl_core.clear_snow_dirt(npos, node)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue