mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-25 20:11:06 +01:00
MapGen update. Adjusted decorations.
This commit is contained in:
parent
e0d48400a7
commit
9445b02dcc
1 changed files with 936 additions and 656 deletions
|
@ -126,6 +126,10 @@ local function register_biomes()
|
|||
"MesaPlateauF",
|
||||
"MesaPlateauFM",
|
||||
"MangroveSwamp",
|
||||
"BambooJungle",
|
||||
"BambooJungleM",
|
||||
"BambooJungleEdge",
|
||||
"BambooJungleEdgeM",
|
||||
}
|
||||
|
||||
-- Ice Plains Spikes (rare)
|
||||
|
@ -951,8 +955,6 @@ local function register_biomes()
|
|||
_mcl_palette_index = 20,
|
||||
})
|
||||
|
||||
|
||||
|
||||
-- Mesa Plateau F
|
||||
-- Identical to Mesa below Y=30. At Y=30 and above there is a "dry" oak forest
|
||||
minetest.register_biome({
|
||||
|
@ -1489,6 +1491,173 @@ local function register_biomes()
|
|||
_mcl_palette_index = 29,
|
||||
})
|
||||
|
||||
-- Bamboo Jungle areas are like the Jungle areas, but warmer and more humid.
|
||||
-- Bamboo Jungle
|
||||
minetest.register_biome({
|
||||
name = "BambooJungle",
|
||||
node_top = "mcl_core:dirt_with_grass",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:dirt",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
humidity_point = 90,
|
||||
heat_point = 95,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 24,
|
||||
})
|
||||
minetest.register_biome({
|
||||
name = "BambooJungle_shore",
|
||||
node_top = "mcl_core:dirt",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:dirt",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = -2,
|
||||
y_max = 0,
|
||||
humidity_point = 90,
|
||||
heat_point = 95,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 24,
|
||||
})
|
||||
minetest.register_biome({
|
||||
name = "BambooJungle_ocean",
|
||||
node_top = "mcl_core:sand",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:sand",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = OCEAN_MIN,
|
||||
y_max = -3,
|
||||
vertical_blend = 1,
|
||||
humidity_point = 95,
|
||||
heat_point = 90,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 24,
|
||||
})
|
||||
|
||||
-- Bamboo Jungle M
|
||||
-- Like Bamboo Jungle but with even more dense vegetation
|
||||
minetest.register_biome({
|
||||
name = "BambooJungleM",
|
||||
node_top = "mcl_core:dirt_with_grass",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:dirt",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
humidity_point = 95,
|
||||
heat_point = 95,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 25,
|
||||
})
|
||||
minetest.register_biome({
|
||||
name = "BambooJungleM_shore",
|
||||
node_top = "mcl_core:dirt",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:dirt",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = -2,
|
||||
y_max = 0,
|
||||
humidity_point = 95,
|
||||
heat_point = 90,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 25,
|
||||
})
|
||||
minetest.register_biome({
|
||||
name = "BambooJungleM_ocean",
|
||||
node_top = "mcl_core:sand",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:sand",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = OCEAN_MIN,
|
||||
y_max = -3,
|
||||
vertical_blend = 1,
|
||||
humidity_point = 95,
|
||||
heat_point = 95,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 25,
|
||||
})
|
||||
|
||||
-- Bamboo Jungle Edge
|
||||
minetest.register_biome({
|
||||
name = "BambooJungleEdge",
|
||||
node_top = "mcl_core:dirt_with_grass",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:dirt",
|
||||
depth_filler = 2,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
humidity_point = 92,
|
||||
heat_point = 90,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 26,
|
||||
})
|
||||
minetest.register_biome({
|
||||
name = "BambooJungleEdge_ocean",
|
||||
node_top = "mcl_core:sand",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:sand",
|
||||
depth_filler = 2,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = OCEAN_MIN,
|
||||
y_max = 0,
|
||||
humidity_point = 95,
|
||||
heat_point = 88,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 26,
|
||||
})
|
||||
|
||||
-- Jungle Edge M (very rare).
|
||||
-- Almost identical to Jungle Edge. Has deeper dirt. Melons spawn here a lot.
|
||||
-- This biome occours directly between Jungle M and Jungle Edge but also has a small border to Jungle.
|
||||
-- This biome is very small in general.
|
||||
minetest.register_biome({
|
||||
name = "BambooJungleEdgeM",
|
||||
node_top = "mcl_core:dirt_with_grass",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:dirt",
|
||||
depth_filler = 4,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
humidity_point = 95,
|
||||
heat_point = 95,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 27,
|
||||
})
|
||||
minetest.register_biome({
|
||||
name = "BambooJungleEdgeM_ocean",
|
||||
node_top = "mcl_core:sand",
|
||||
depth_top = 1,
|
||||
node_filler = "mcl_core:sand",
|
||||
depth_filler = 4,
|
||||
node_riverbed = "mcl_core:sand",
|
||||
depth_riverbed = 2,
|
||||
y_min = OCEAN_MIN,
|
||||
y_max = 0,
|
||||
humidity_point = 97,
|
||||
heat_point = 90,
|
||||
_mcl_biome_type = "medium",
|
||||
_mcl_palette_index = 27,
|
||||
})
|
||||
|
||||
|
||||
|
||||
-- Add deep ocean and underground biomes automatically.
|
||||
for i = 1, #overworld_biomes do
|
||||
local biome = overworld_biomes[i]
|
||||
|
@ -1559,7 +1728,6 @@ local function register_dimension_biomes()
|
|||
param2 = 0,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_biome({
|
||||
name = "Nether",
|
||||
node_filler = "mcl_nether:netherrack",
|
||||
|
@ -3156,7 +3324,7 @@ local function register_decorations()
|
|||
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.004,
|
||||
biomes = {"Jungle", "JungleM"},
|
||||
biomes = {"Jungle", "JungleM","BambooJungle", "BambooJungleM"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts",
|
||||
|
@ -3484,7 +3652,7 @@ local function register_decorations()
|
|||
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.025,
|
||||
biomes = {"Jungle"},
|
||||
biomes = {"Jungle","BambooJungle"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree.mts",
|
||||
|
@ -3496,7 +3664,7 @@ local function register_decorations()
|
|||
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.0045,
|
||||
biomes = {"JungleEdge", "JungleEdgeM"},
|
||||
biomes = {"JungleEdge", "JungleEdgeM", "BambooJungleEdge", "BambooJungleEdgeM"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree.mts",
|
||||
|
@ -3509,7 +3677,7 @@ local function register_decorations()
|
|||
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.09,
|
||||
biomes = {"JungleM"},
|
||||
biomes = {"JungleM", "BambooJungleM"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree_2.mts",
|
||||
|
@ -3749,7 +3917,6 @@ local function register_decorations()
|
|||
rotation = "random",
|
||||
})
|
||||
|
||||
|
||||
local ratio_mushroom = 0.0001
|
||||
local ratio_mushroom_huge = ratio_mushroom * (11 / 12)
|
||||
local ratio_mushroom_giant = ratio_mushroom * (1 / 12)
|
||||
|
@ -4070,7 +4237,7 @@ local function register_decorations()
|
|||
end
|
||||
end
|
||||
|
||||
register_double_fern(0.01, 0.03, { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "ColdTaiga", "MegaTaiga", "MegaSpruceTaiga" })
|
||||
register_double_fern(0.01, 0.03, {"Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "ColdTaiga", "MegaTaiga", "MegaSpruceTaiga", "BambooJungle", "BambooJungleM", "BambooJungleEdge", "BambooJungleEdgeM",})
|
||||
register_double_fern(0.15, 0.1, {"JungleM"})
|
||||
|
||||
-- Large flowers
|
||||
|
@ -4157,7 +4324,7 @@ local function register_decorations()
|
|||
octaves = 4,
|
||||
persist = 0.6,
|
||||
},
|
||||
biomes = {"Jungle"},
|
||||
biomes = {"Jungle", "BambooJungle"},
|
||||
y_min = 3,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_bush_oak_leaves_2.mts",
|
||||
|
@ -4175,7 +4342,7 @@ local function register_decorations()
|
|||
octaves = 4,
|
||||
persist = 0.6,
|
||||
},
|
||||
biomes = {"JungleM"},
|
||||
biomes = {"JungleM","BambooJungleM"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_bush_oak_leaves.mts",
|
||||
|
@ -4193,13 +4360,121 @@ local function register_decorations()
|
|||
octaves = 4,
|
||||
persist = 0.6,
|
||||
},
|
||||
biomes = {"JungleEdge", "JungleEdgeM"},
|
||||
biomes = {"JungleEdge", "JungleEdgeM","BambooJungleEdge", "BambooJungleEdgeM"},
|
||||
y_min = 3,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_bush_oak_leaves.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
})
|
||||
|
||||
-- Bamboo
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"group:grass_block_no_snow", "mcl_core:dirt",},
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.0043,
|
||||
biomes = {"Jungle", "JungleM", "JungleEdge", "JungleEdgeM"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
decoration = "mcl_bamboo:bamboo",
|
||||
height = 12,
|
||||
max_height = 15,
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol"},
|
||||
sidelen = 80,
|
||||
fill_ratio = 0.095,
|
||||
biomes = {"BambooJungle", "BambooJungleM", "BambooJungleEdge", "BambooJungleEdgeM"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
decoration = "mcl_bamboo:bamboo",
|
||||
height = 12,
|
||||
max_height = 15,
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"mcl_bamboo:bamboo"},
|
||||
sidelen = 80,
|
||||
fill_ratio = 1,
|
||||
biomes = {"BambooJungle", "BambooJungleM", "BambooJungleEdge", "BambooJungleEdgeM", "Jungle", "JungleM", "JungleEdge", "JungleEdgeM"},
|
||||
y_min = 1,
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
decoration = "mcl_bamboo:bamboo_endcap",
|
||||
height = 1,
|
||||
max_height = 4,
|
||||
flags = "all_floors",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"group:grass_block_no_snow"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.012,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 354,
|
||||
octaves = 1,
|
||||
persist = 0.5,
|
||||
lacunarity = 1.0,
|
||||
flags = "absvalue"
|
||||
},
|
||||
biomes = {"BambooJungle", "BambooJungleM"},
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
y_min = 2,
|
||||
decoration = "mcl_core:podzol"
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"group:grass_block_no_snow"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.012,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 354,
|
||||
octaves = 1,
|
||||
persist = 0.5,
|
||||
lacunarity = 1.0,
|
||||
flags = "absvalue"
|
||||
},
|
||||
biomes = {"BambooJungle", "BambooJungleEdge","BambooJungleM", "BambooJungleEdge"},
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
y_min = 1,
|
||||
decoration = "mcl_flowers:tallgrass"
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"group:grass_block_no_snow"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.012,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 354,
|
||||
octaves = 1,
|
||||
persist = 0.5,
|
||||
lacunarity = 1.0,
|
||||
flags = "absvalue"
|
||||
},
|
||||
biomes = {"BambooJungle", "BambooJungleM", "BambooJungleEdge"},
|
||||
y_max = mcl_vars.mg_overworld_max,
|
||||
y_min = 2,
|
||||
decoration = "mcl_mud:mud"
|
||||
})
|
||||
register_doubletall_grass(-0.0005, -0.3, {"BambooJungle", "BambooJungleM", "BambooJungleEdge"})
|
||||
register_grass_decoration("tallgrass", -0.03, 1, {"BambooJungle", "BambooJungleM", "BambooJungleEdge"})
|
||||
|
||||
-----------------
|
||||
-- Fallen logs
|
||||
-- These fallen logs are not really good yet. They must be longer and also have one upright block.
|
||||
-- Note the decortion API does not like wide schematics, they are likely to overhang.
|
||||
|
@ -5246,6 +5521,7 @@ local function register_dimension_decorations()
|
|||
end
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Detect mapgen to select functions
|
||||
--
|
||||
|
@ -5319,7 +5595,9 @@ if mg_name ~= "singlenode" then
|
|||
end
|
||||
end
|
||||
end
|
||||
if minp.y > -26900 then return end
|
||||
if minp.y > -26900 then
|
||||
return
|
||||
end
|
||||
for _, pos in ipairs(gennotify["decoration#" .. deco_id_chorus_plant] or {}) do
|
||||
local x, y, z = pos.x, pos.y, pos.z
|
||||
if x < -10 or x > 10 or z < -10 or z > 10 then
|
||||
|
@ -5330,7 +5608,9 @@ if mg_name ~= "singlenode" then
|
|||
end
|
||||
end
|
||||
end
|
||||
if minp.y > mcl_vars.mg_nether_max then return end
|
||||
if minp.y > mcl_vars.mg_nether_max then
|
||||
return
|
||||
end
|
||||
for _, f in pairs(deco_ids_fungus) do
|
||||
for _, pos in ipairs(gennotify["decoration#" .. f] or {}) do
|
||||
minetest.fix_light(vector.offset(pos, -8, -8, -8), vector.offset(pos, 8, 8, 8))
|
||||
|
|
Loading…
Reference in a new issue