forked from mtcontrib/moretrees
Added ability to do leaf decay on default trees, moved several configuration
settings into a separate file. You should disable leaf decay in minetest_game if you enable it here.
This commit is contained in:
parent
9208a8bd75
commit
1445263d73
56
init.lua
56
init.lua
@ -27,8 +27,11 @@
|
|||||||
--
|
--
|
||||||
-- We'll just save this for possible later use ;-)
|
-- We'll just save this for possible later use ;-)
|
||||||
--
|
--
|
||||||
|
|
||||||
moretrees = {}
|
moretrees = {}
|
||||||
|
|
||||||
|
dofile(minetest.get_modpath("moretrees").."/settings.lua")
|
||||||
|
|
||||||
dofile(minetest.get_modpath("moretrees").."/node_defs.lua")
|
dofile(minetest.get_modpath("moretrees").."/node_defs.lua")
|
||||||
dofile(minetest.get_modpath("moretrees").."/tree_models.lua")
|
dofile(minetest.get_modpath("moretrees").."/tree_models.lua")
|
||||||
dofile(minetest.get_modpath("moretrees").."/biome_defs.lua")
|
dofile(minetest.get_modpath("moretrees").."/biome_defs.lua")
|
||||||
@ -49,16 +52,6 @@ plantslib:register_generate_plant(moretrees.spruce_biome, "moretrees:grow_spruce
|
|||||||
plantslib:register_generate_plant(moretrees.jungletree_biome, "moretrees:grow_jungletree")
|
plantslib:register_generate_plant(moretrees.jungletree_biome, "moretrees:grow_jungletree")
|
||||||
plantslib:register_generate_plant(moretrees.fir_biome, "moretrees:grow_fir")
|
plantslib:register_generate_plant(moretrees.fir_biome, "moretrees:grow_fir")
|
||||||
|
|
||||||
-- These three lines replace default trees with beech
|
|
||||||
-- Enable them if you want but be warned - due to serious bugs in the speed
|
|
||||||
-- of the engine's map generator/loader, doing so will slow it WAY down.
|
|
||||||
|
|
||||||
--[[
|
|
||||||
minetest.register_alias("mapgen_tree", "air")
|
|
||||||
minetest.register_alias("mapgen_leaves", "air")
|
|
||||||
plantslib:register_generate_plant(moretrees.beech_biome, moretrees.beech_model)
|
|
||||||
]]--
|
|
||||||
|
|
||||||
-- sapling growth
|
-- sapling growth
|
||||||
|
|
||||||
local sapling_interval = 500
|
local sapling_interval = 500
|
||||||
@ -214,14 +207,14 @@ end
|
|||||||
|
|
||||||
-- Should we remove all the trees above the conifers altitude?
|
-- Should we remove all the trees above the conifers altitude?
|
||||||
|
|
||||||
if CONIFERS_REMOVE_TREES == true then
|
if moretrees.firs_remove_default_trees == true then
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {
|
nodenames = {
|
||||||
"default:tree",
|
"default:tree",
|
||||||
"default:leaves"
|
"default:leaves"
|
||||||
},
|
},
|
||||||
interval = CONIFERS_RTREES_INTERVAL,
|
interval = moretrees.firs_remove_interval,
|
||||||
chance = CONIFERS_RTREES_CHANCE,
|
chance = moretrees.firs_remove_chance,
|
||||||
|
|
||||||
action = function(pos, node, _, _)
|
action = function(pos, node, _, _)
|
||||||
if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air"
|
if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air"
|
||||||
@ -235,17 +228,12 @@ end
|
|||||||
|
|
||||||
-- leaf decay
|
-- leaf decay
|
||||||
|
|
||||||
local leafdecay_delay = 2
|
|
||||||
local leafdecay_chance = 150
|
|
||||||
local leafdecay_radius = 5
|
|
||||||
local palms_leafdecay_radius = 8
|
|
||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = moretrees.leaves_list,
|
nodenames = moretrees.leaves_list,
|
||||||
interval = leafdecay_delay,
|
interval = moretrees.leafdecay_delay,
|
||||||
chance = leafdecay_chance,
|
chance = moretrees.leafdecay_chance,
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
if not minetest.env:find_node_near(pos, leafdecay_radius, moretrees.trunks_list) then
|
if not minetest.env:find_node_near(pos, moretrees.leafdecay_radius, moretrees.trunks_list) then
|
||||||
minetest.env:remove_node(pos)
|
minetest.env:remove_node(pos)
|
||||||
minetest.env:dig_node(pos)
|
minetest.env:dig_node(pos)
|
||||||
end
|
end
|
||||||
@ -254,13 +242,33 @@ minetest.register_abm({
|
|||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = "moretrees:palm_leaves",
|
nodenames = "moretrees:palm_leaves",
|
||||||
interval = leafdecay_delay,
|
interval = moretrees.leafdecay_delay,
|
||||||
chance = leafdecay_chance,
|
chance = moretrees.leafdecay_chance,
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
if not minetest.env:find_node_near(pos, palms_leafdecay_radius, moretrees.trunks_list) then
|
if not minetest.env:find_node_near(pos, moretrees.palm_leafdecay_radius, moretrees.trunks_list) then
|
||||||
minetest.env:remove_node(pos)
|
minetest.env:remove_node(pos)
|
||||||
minetest.env:dig_node(pos)
|
minetest.env:dig_node(pos)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
if moretrees.enable_replace_default_trees then
|
||||||
|
minetest.register_alias("mapgen_tree", "air")
|
||||||
|
minetest.register_alias("mapgen_leaves", "air")
|
||||||
|
plantslib:register_generate_plant(moretrees.beech_biome, moretrees.beech_model)
|
||||||
|
elseif moretrees.enable_default_leafdecay then
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = "default:leaves",
|
||||||
|
interval = moretrees.default_leafdecay_delay,
|
||||||
|
chance = moretrees.default_leafdecay_chance,
|
||||||
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
|
if not minetest.env:find_node_near(pos, moretrees.default_leafdecay_radius, {"default:tree"}) then
|
||||||
|
minetest.env:remove_node(pos)
|
||||||
|
minetest.env:dig_node(pos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
print("[Moretrees] Loaded (2013-01-18)")
|
print("[Moretrees] Loaded (2013-01-18)")
|
||||||
|
33
settings.lua
Normal file
33
settings.lua
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
-- Configuration variables
|
||||||
|
|
||||||
|
-- Enable replacement of default trees with birch if you want but be warned -
|
||||||
|
-- due to bugs in the speed of the engine's map generator/loader, doing so\
|
||||||
|
-- will slow it WAY down.
|
||||||
|
|
||||||
|
moretrees.enable_replace_default_trees = false
|
||||||
|
|
||||||
|
-- Enable the first one if you want this mod's leafdecay code to affect the
|
||||||
|
-- old default trees. You'll want to manually disable the default leafdecay
|
||||||
|
-- code in minetest_game if you enable this.
|
||||||
|
|
||||||
|
moretrees.enable_default_leafdecay = false
|
||||||
|
|
||||||
|
-- various settings to configure leaf decay in general.
|
||||||
|
|
||||||
|
moretrees.leafdecay_delay = 2
|
||||||
|
moretrees.leafdecay_chance = 150
|
||||||
|
moretrees.leafdecay_radius = 5
|
||||||
|
|
||||||
|
moretrees.palm_leafdecay_radius = 8
|
||||||
|
|
||||||
|
moretrees.default_leafdecay_delay = 2
|
||||||
|
moretrees.default_leafdecay_chance = 50
|
||||||
|
moretrees.default_leafdecay_radius = 4
|
||||||
|
|
||||||
|
-- Change these settings if you want default trees to be gradually cut down
|
||||||
|
-- above the elevation where firs normally generate.
|
||||||
|
|
||||||
|
moretrees.firs_remove_default_trees = false
|
||||||
|
moretrees.firs_remove_interval = 2
|
||||||
|
moretrees.firs_remove_chance = 150
|
||||||
|
|
Loading…
Reference in New Issue
Block a user