mirror of
https://github.com/mt-mods/moretrees.git
synced 2024-12-27 03:00:24 +01:00
rework how sapling growth is defined
if on-gen, saplings grow per their biome_defs.lua settings if placed, they grow on the surfaces given in the tables: * anything but palms will grow on the dirt surfaces * conifers can also grow on a cold surface, but other trees will not * only palms can grow on sand, but they will not grow on dirt or cold
This commit is contained in:
parent
a27af10d2e
commit
7161cfbdee
147
saplings.lua
147
saplings.lua
@ -1,98 +1,75 @@
|
|||||||
-- sapling growth
|
-- sapling growth
|
||||||
|
-- these tables only affect hand-placed saplings
|
||||||
|
-- mapgen-placed always use their biome def settings, which are much more
|
||||||
|
-- limited, in the interest of speed.
|
||||||
|
|
||||||
|
local dirt_surfaces = {
|
||||||
|
"default:dirt",
|
||||||
|
"default:dirt_with_grass",
|
||||||
|
"default:dirt_with_dry_grass",
|
||||||
|
"default:dirt_with_coniferous_litter",
|
||||||
|
"default:dirt_with_rainforest_litter",
|
||||||
|
"default:dirt_with_snow",
|
||||||
|
"woodsoils:dirt_with_leaves_1",
|
||||||
|
"woodsoils:dirt_with_leaves_2",
|
||||||
|
"woodsoils:grass_with_leaves_1",
|
||||||
|
"woodsoils:grass_with_leaves_2"
|
||||||
|
}
|
||||||
|
|
||||||
|
local cold_surfaces = {
|
||||||
|
"default:dirt_with_snow"
|
||||||
|
}
|
||||||
|
|
||||||
|
local sand_surfaces = {
|
||||||
|
"default:sand",
|
||||||
|
"default:desert_sand",
|
||||||
|
"cottages:loam",
|
||||||
|
-- note, no silver sand here.
|
||||||
|
-- too cold for a palm, too... well... sandy for anything else.
|
||||||
|
}
|
||||||
|
|
||||||
for i in ipairs(moretrees.treelist) do
|
for i in ipairs(moretrees.treelist) do
|
||||||
local treename = moretrees.treelist[i][1]
|
local treename = moretrees.treelist[i][1]
|
||||||
local tree_model = treename.."_model"
|
local tree_model = treename.."_model"
|
||||||
local tree_biome = treename.."_biome"
|
local tree_biome = treename.."_biome"
|
||||||
|
local surfaces
|
||||||
|
local grow_function = moretrees[tree_model]
|
||||||
|
|
||||||
if treename ~= "birch" and treename ~= "spruce" and treename ~= "fir" and treename ~= "jungletree" then
|
if treename == "spruce"
|
||||||
|
or treename == "fir"
|
||||||
|
or treename == "cedar"
|
||||||
|
or treename == "pine" then
|
||||||
|
surfaces = cold_surfaces
|
||||||
|
elseif string.find(treename, "palm") then
|
||||||
|
surfaces = sand_surfaces
|
||||||
|
else
|
||||||
|
surfaces = dirt_surfaces
|
||||||
|
end
|
||||||
|
|
||||||
biome_lib:dbg(dump(moretrees[tree_biome].surface))
|
if treename == "spruce"
|
||||||
|
or treename == "fir"
|
||||||
|
or treename == "birch"
|
||||||
|
or treename == "jungletree" then
|
||||||
|
grow_function = "moretrees.grow_"..treename
|
||||||
|
end
|
||||||
|
|
||||||
|
biome_lib:dbg(dump(moretrees[tree_biome].surface))
|
||||||
|
|
||||||
|
biome_lib:grow_plants({
|
||||||
|
grow_delay = moretrees.sapling_interval,
|
||||||
|
grow_chance = moretrees.sapling_chance,
|
||||||
|
grow_plant = "moretrees:"..treename.."_sapling",
|
||||||
|
grow_nodes = surfaces,
|
||||||
|
grow_function = grow_function,
|
||||||
|
})
|
||||||
|
|
||||||
|
if moretrees.spawn_saplings then
|
||||||
biome_lib:grow_plants({
|
biome_lib:grow_plants({
|
||||||
grow_delay = moretrees.sapling_interval,
|
grow_delay = 2,
|
||||||
grow_chance = moretrees.sapling_chance,
|
grow_chance = 2,
|
||||||
grow_plant = "moretrees:"..treename.."_sapling",
|
grow_plant = "moretrees:"..treename.."_sapling_ongen",
|
||||||
grow_nodes = moretrees[tree_biome].surface,
|
grow_nodes = moretrees[tree_biome].surface,
|
||||||
grow_function = moretrees[tree_model],
|
grow_function = grow_function,
|
||||||
})
|
})
|
||||||
|
|
||||||
if moretrees.spawn_saplings then
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = 2,
|
|
||||||
grow_chance = 2,
|
|
||||||
grow_plant = "moretrees:"..treename.."_sapling_ongen",
|
|
||||||
grow_nodes = moretrees[tree_biome].surface,
|
|
||||||
grow_function = moretrees[tree_model],
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = moretrees.sapling_interval,
|
|
||||||
grow_chance = moretrees.sapling_chance,
|
|
||||||
grow_plant = "moretrees:birch_sapling",
|
|
||||||
grow_nodes = moretrees.birch_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_birch"
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = moretrees.sapling_interval,
|
|
||||||
grow_chance = moretrees.sapling_chance,
|
|
||||||
grow_plant = "moretrees:spruce_sapling",
|
|
||||||
grow_nodes = moretrees.spruce_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_spruce"
|
|
||||||
})
|
|
||||||
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = moretrees.sapling_interval,
|
|
||||||
grow_chance = moretrees.sapling_chance,
|
|
||||||
grow_plant = "moretrees:fir_sapling",
|
|
||||||
grow_nodes = moretrees.fir_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_fir"
|
|
||||||
})
|
|
||||||
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = moretrees.sapling_interval,
|
|
||||||
grow_chance = moretrees.sapling_chance,
|
|
||||||
grow_plant = "default:junglesapling",
|
|
||||||
grow_nodes = moretrees.jungletree_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_jungletree"
|
|
||||||
})
|
|
||||||
|
|
||||||
if moretrees.spawn_saplings then
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = 2,
|
|
||||||
grow_chance = 30,
|
|
||||||
grow_plant = "moretrees:jungletree_sapling_ongen",
|
|
||||||
grow_nodes = moretrees.jungletree_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_jungletree"
|
|
||||||
})
|
|
||||||
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = 2,
|
|
||||||
grow_chance = 30,
|
|
||||||
grow_plant = "moretrees:fir_sapling_ongen",
|
|
||||||
grow_nodes = moretrees.fir_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_fir"
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = 2,
|
|
||||||
grow_chance = 30,
|
|
||||||
grow_plant = "moretrees:spruce_sapling_ongen",
|
|
||||||
grow_nodes = moretrees.spruce_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_spruce"
|
|
||||||
})
|
|
||||||
|
|
||||||
biome_lib:grow_plants({
|
|
||||||
grow_delay = 2,
|
|
||||||
grow_chance = 30,
|
|
||||||
grow_plant = "moretrees:birch_sapling_ongen",
|
|
||||||
grow_nodes = moretrees.birch_biome.surface,
|
|
||||||
grow_function = "moretrees.grow_birch"
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
Loading…
Reference in New Issue
Block a user