forked from mtcontrib/moretrees
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
403b16f5d9 | ||
|
|
7c690ed901 |
@@ -1,30 +1,45 @@
|
||||
|
||||
-- TODO
|
||||
-- Use biomes in the decoration definition depending on their heat_point humidity_point
|
||||
-- instead of spawning it with a rather low fill_ratio everywhere
|
||||
local ratio_abundant = 0.001
|
||||
local ratio_common = 0.0005
|
||||
local ratio_normal = 0.0003
|
||||
local ratio_uncommon = 0.0002
|
||||
local ratio_rare = 0.0001
|
||||
local ratio_very_rare = 0.00003
|
||||
|
||||
local coniferous_place_on = {
|
||||
xcompat.materials.dirt_with_grass,
|
||||
"default:dirt_with_coniferous_litter"
|
||||
}
|
||||
|
||||
moretrees.beech_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
fill_ratio = ratio_normal,
|
||||
}
|
||||
|
||||
moretrees.palm_biome = {
|
||||
place_on = xcompat.materials.sand,
|
||||
min_elevation = -1,
|
||||
max_elevation = 1,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 10,
|
||||
fill_ratio = ratio_abundant,
|
||||
}
|
||||
|
||||
moretrees.date_palm_biome = {
|
||||
place_on = xcompat.materials.desert_sand,
|
||||
min_elevation = -1,
|
||||
max_elevation = 10,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 100,
|
||||
max_elevation = 8,
|
||||
fill_ratio = ratio_common,
|
||||
}
|
||||
|
||||
moretrees.date_palm_biome_2 = {
|
||||
place_on = xcompat.materials.desert_sand,
|
||||
min_elevation = 11,
|
||||
min_elevation = 9,
|
||||
max_elevation = 30,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 1,
|
||||
fill_ratio = ratio_abundant,
|
||||
}
|
||||
|
||||
moretrees.apple_tree_biome = {
|
||||
@@ -32,44 +47,42 @@ moretrees.apple_tree_biome = {
|
||||
min_elevation = 1,
|
||||
max_elevation = 10,
|
||||
biomes = {"deciduous_forest"},
|
||||
fill_ratio = 0.0001,
|
||||
fill_ratio = ratio_rare,
|
||||
}
|
||||
|
||||
moretrees.oak_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
min_elevation = 0,
|
||||
max_elevation = 10,
|
||||
fill_ratio = 0.0003
|
||||
fill_ratio = ratio_normal,
|
||||
}
|
||||
|
||||
moretrees.sequoia_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
min_elevation = 0,
|
||||
max_elevation = 10,
|
||||
fill_ratio = 0.0001,
|
||||
fill_ratio = ratio_rare,
|
||||
}
|
||||
|
||||
moretrees.birch_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
min_elevation = 10,
|
||||
max_elevation = 15,
|
||||
fill_ratio = 0.001,
|
||||
fill_ratio = ratio_common,
|
||||
}
|
||||
|
||||
moretrees.willow_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
min_elevation = -5,
|
||||
max_elevation = 5,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 5,
|
||||
fill_ratio = ratio_uncommon,
|
||||
}
|
||||
|
||||
moretrees.rubber_tree_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
min_elevation = -5,
|
||||
max_elevation = 5,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 10,
|
||||
max_elevation = 8,
|
||||
fill_ratio = ratio_normal,
|
||||
}
|
||||
|
||||
moretrees.jungletree_biome = {
|
||||
@@ -88,15 +101,15 @@ moretrees.jungletree_biome = {
|
||||
}
|
||||
|
||||
moretrees.spruce_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
place_on = coniferous_place_on,
|
||||
min_elevation = 20,
|
||||
fill_ratio = ratio_uncommon,
|
||||
}
|
||||
|
||||
moretrees.cedar_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
place_on = coniferous_place_on,
|
||||
min_elevation = 0, --Added to solve an issue where cedar trees would sometimes spawn deep underground
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 5,
|
||||
fill_ratio = ratio_rare,
|
||||
}
|
||||
|
||||
|
||||
@@ -106,7 +119,8 @@ moretrees.poplar_biome = {
|
||||
min_elevation = 0,
|
||||
max_elevation = 50,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 1,
|
||||
num_spawn_by = 3,
|
||||
fill_ratio = ratio_abundant,
|
||||
}
|
||||
|
||||
-- Spawn an occasional poplar elsewhere.
|
||||
@@ -114,17 +128,17 @@ moretrees.poplar_biome_2 = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
min_elevation = 0,
|
||||
max_elevation = 50,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 10,
|
||||
fill_ratio = ratio_very_rare,
|
||||
}
|
||||
|
||||
-- Subterranean lakes provide enough water for poplars to grow
|
||||
moretrees.poplar_biome_3 = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
min_elevation = 0,
|
||||
max_elevation = 50,
|
||||
min_elevation = -50,
|
||||
max_elevation = 0,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 1,
|
||||
num_spawn_by = 3,
|
||||
fill_ratio = ratio_abundant,
|
||||
}
|
||||
|
||||
moretrees.poplar_small_biome = {
|
||||
@@ -133,6 +147,7 @@ moretrees.poplar_small_biome = {
|
||||
max_elevation = 50,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 1,
|
||||
fill_ratio = ratio_normal,
|
||||
}
|
||||
|
||||
moretrees.poplar_small_biome_2 = {
|
||||
@@ -141,15 +156,18 @@ moretrees.poplar_small_biome_2 = {
|
||||
max_elevation = 50,
|
||||
spawn_by = {xcompat.materials.water_source},
|
||||
num_spawn_by = 5,
|
||||
fill_ratio = ratio_abundant,
|
||||
}
|
||||
|
||||
|
||||
moretrees.fir_biome = {
|
||||
place_on = xcompat.materials.dirt_with_grass,
|
||||
place_on = coniferous_place_on,
|
||||
min_elevation = 25,
|
||||
fill_ratio = ratio_normal,
|
||||
}
|
||||
|
||||
moretrees.fir_biome_snow = {
|
||||
place_on = {"snow:dirt_with_snow", "snow:snow"},
|
||||
below_nodes = {xcompat.materials.dirt, xcompat.materials.dirt_with_grass, "snow:dirt_with_snow"},
|
||||
fill_ratio = ratio_normal,
|
||||
}
|
||||
|
||||
58
init.lua
58
init.lua
@@ -153,44 +153,43 @@ function translate_biome_defs(def, treename, index)
|
||||
return deco_def
|
||||
end
|
||||
|
||||
if moretrees.spawn_enabled then
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.beech_biome, "beech"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.apple_tree_biome, "apple_tree"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.oak_biome, "oak"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.sequoia_biome, "sequoia"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.palm_biome, "palm"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.date_palm_biome, "date_palm", 1))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.date_palm_biome_2, "date_palm", 2))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.cedar_biome, "cedar"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.rubber_tree_biome, "rubber_tree"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.willow_biome, "willow"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.birch_biome, "birch"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.spruce_biome, "spruce"))
|
||||
if minetest.get_modpath("default") then
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.beech_biome, "beech"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.apple_tree_biome, "apple_tree"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.oak_biome, "oak"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.sequoia_biome, "sequoia"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.palm_biome, "palm"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.date_palm_biome, "date_palm", 1))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.date_palm_biome_2, "date_palm", 2))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.cedar_biome, "cedar"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.rubber_tree_biome, "rubber_tree"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.willow_biome, "willow"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.birch_biome, "birch"))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.spruce_biome, "spruce"))
|
||||
if minetest.get_modpath("default") then
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.jungletree_biome, "jungletree"))
|
||||
end
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.fir_biome, "fir", 1))
|
||||
if minetest.get_modpath("snow") then
|
||||
end
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.fir_biome, "fir", 1))
|
||||
if minetest.get_modpath("snow") then
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.fir_biome_snow, "fir", 2))
|
||||
end
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_biome, "poplar", 1))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_biome_2, "poplar", 2))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_biome_3, "poplar", 3))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_small_biome, "poplar_small", 4))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_small_biome_2, "poplar_small", 5))
|
||||
end
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_biome, "poplar", 1))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_biome_2, "poplar", 2))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_biome_3, "poplar", 3))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_small_biome, "poplar_small", 4))
|
||||
minetest.register_decoration(translate_biome_defs(moretrees.poplar_small_biome_2, "poplar_small", 5))
|
||||
|
||||
--[[
|
||||
--[[
|
||||
this is purposefully wrapped in a on mods loaded callback to that it gets the proper ids
|
||||
if other mods clear the registered decorations
|
||||
]]
|
||||
minetest.register_on_mods_loaded(function()
|
||||
]]
|
||||
minetest.register_on_mods_loaded(function()
|
||||
for k, v in pairs(deco_ids) do
|
||||
deco_ids[k] = minetest.get_decoration_id(v)
|
||||
end
|
||||
minetest.set_gen_notify("decoration", deco_ids)
|
||||
end)
|
||||
end)
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
minetest.register_on_generated(function(minp, maxp, blockseed)
|
||||
local g = minetest.get_mapgen_object("gennotify")
|
||||
local locations = {}
|
||||
for _, id in pairs(deco_ids) do
|
||||
@@ -205,8 +204,7 @@ if moretrees.spawn_enabled then
|
||||
local timer = minetest.get_node_timer({x=pos.x, y=pos.y+1, z=pos.z})
|
||||
timer:start(math.random(2,10))
|
||||
end
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Code to spawn a birch tree
|
||||
|
||||
|
||||
@@ -218,7 +218,6 @@ local dirs2 = { 12, 9, 18, 7, 12 }
|
||||
|
||||
local moretrees_new_leaves_drawtype = "allfaces_optional"
|
||||
local moretrees_plantlike_leaves_visual_scale = 1
|
||||
local moretrees_new_leaves_waving = 1
|
||||
|
||||
if moretrees.plantlike_leaves then
|
||||
moretrees_new_leaves_drawtype = "plantlike"
|
||||
@@ -299,9 +298,12 @@ for i in ipairs(moretrees.treelist) do
|
||||
end
|
||||
|
||||
local moretrees_leaves_inventory_image = nil
|
||||
local moretrees_new_leaves_waving = nil
|
||||
|
||||
if moretrees.plantlike_leaves then
|
||||
moretrees_leaves_inventory_image = minetest.inventorycube("moretrees_"..treename.."_leaves.png")
|
||||
else
|
||||
moretrees_new_leaves_waving = 1
|
||||
end
|
||||
|
||||
minetest.register_node("moretrees:"..treename.."_leaves", {
|
||||
@@ -433,7 +435,6 @@ for i in ipairs(moretrees.treelist) do
|
||||
tiles = {split_tn[2] and split_tn[2]=="small" and "moretrees_" .. treename .. "_sapling.png" or saptex},
|
||||
inventory_image = split_tn[2] and split_tn[2]=="small" and "moretrees_" .. treename .. "_sapling.png" or saptex,
|
||||
paramtype = "light",
|
||||
paramtype2 = "waving",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
@@ -492,7 +493,6 @@ for i in ipairs(moretrees.treelist) do
|
||||
tiles = {split_tn[2] and split_tn[2]=="small" and "moretrees_" .. treename .. "_sapling.png" or saptex,},
|
||||
inventory_image = split_tn[2] and split_tn[2]=="small" and "moretrees_" .. treename .. "_sapling.png" or saptex,
|
||||
paramtype = "light",
|
||||
paramtype2 = "waving",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
@@ -615,6 +615,8 @@ for color = 1, #jungleleaves do
|
||||
|
||||
if moretrees.plantlike_leaves then
|
||||
moretrees_leaves_inventory_image = minetest.inventorycube("moretrees_jungletree_leaves_"..jungleleaves[color]..".png")
|
||||
else
|
||||
moretrees_new_leaves_waving = 1
|
||||
end
|
||||
|
||||
minetest.register_node(leave_name, {
|
||||
|
||||
@@ -13,8 +13,7 @@ local dirt_surfaces = {
|
||||
["woodsoils:dirt_with_leaves_1"] = true,
|
||||
["woodsoils:dirt_with_leaves_2"] = true,
|
||||
["woodsoils:grass_with_leaves_1"] = true,
|
||||
["woodsoils:grass_with_leaves_2"] = true,
|
||||
["meditteranean_biome:dirt_with_mediterranean_grass"] = true
|
||||
["woodsoils:grass_with_leaves_2"] = true
|
||||
}
|
||||
|
||||
local conifer_surfaces = {
|
||||
@@ -28,8 +27,7 @@ local conifer_surfaces = {
|
||||
["woodsoils:dirt_with_leaves_2"] = true,
|
||||
["woodsoils:grass_with_leaves_1"] = true,
|
||||
["woodsoils:grass_with_leaves_2"] = true,
|
||||
["default:dirt_with_snow"] = true,
|
||||
["meditteranean_biome:dirt_with_mediterranean_grass"] = true
|
||||
["default:dirt_with_snow"] = true
|
||||
}
|
||||
|
||||
local sand_surfaces = {
|
||||
@@ -37,7 +35,6 @@ local sand_surfaces = {
|
||||
[xcompat.materials.sand] = true,
|
||||
[xcompat.materials.desert_sand] = true,
|
||||
["cottages:loam"] = true,
|
||||
["darkage:mud"] = true,
|
||||
-- note, no silver sand here.
|
||||
-- too cold for a palm, too... well... sandy for anything else.
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ local stg = minetest.settings
|
||||
|
||||
--spawns tree on mapgen as saplings, legacy setting
|
||||
moretrees.spawn_saplings = stg:get_bool("moretrees.spawn_saplings", true)
|
||||
moretrees.spawn_enabled = stg:get_bool("moretrees.spawn_enabled", true)
|
||||
|
||||
--enable plantlike drawtype for leaves
|
||||
moretrees.plantlike_leaves = stg:get_bool("moretrees.plantlike_leaves", false)
|
||||
|
||||
Reference in New Issue
Block a user