forked from minetest/minetest_game
42afe679a7
Biomes: Add 'sandstone desert', 'cold desert', 'snowy grassland'. Rename 'glacier' biome to 'icesheet' biome. Rename non-swamp 'swamp' biomes to 'shore' biomes. Remove 'sandstone grassland' biome. Rename 'stone grassland' biome to 'grassland' biome. Edit biome points for improved similarity to Whittaker classification. Change 'tundra' to bare stone with snowblocks. Make dirt 'swamp' / 'shore' less deep. Ores: Make dirt blob ore biome-specific, limit to dirt biomes. Decorations: Make mushroom noise spread match that of appletrees as originally intended, to have mushrooms spawn in darker thicker forest areas. Add coral reefs in warm oceans. Add bushes and acacia bushes. Jungletrees in deeper water for larger swamps. Register flower mod decorations in singlenode mapgen for use by minetest.generate_registered_decorations, as in default/mapgen.lua.
170 lines
3.5 KiB
Lua
170 lines
3.5 KiB
Lua
--
|
|
-- Mgv6
|
|
--
|
|
|
|
local function register_mgv6_flower(name)
|
|
minetest.register_decoration({
|
|
deco_type = "simple",
|
|
place_on = {"default:dirt_with_grass"},
|
|
sidelen = 16,
|
|
noise_params = {
|
|
offset = 0,
|
|
scale = 0.006,
|
|
spread = {x = 100, y = 100, z = 100},
|
|
seed = 436,
|
|
octaves = 3,
|
|
persist = 0.6
|
|
},
|
|
y_min = 1,
|
|
y_max = 30,
|
|
decoration = "flowers:"..name,
|
|
})
|
|
end
|
|
|
|
local function register_mgv6_mushroom(name)
|
|
minetest.register_decoration({
|
|
deco_type = "simple",
|
|
place_on = {"default:dirt_with_grass"},
|
|
sidelen = 16,
|
|
noise_params = {
|
|
offset = 0,
|
|
scale = 0.04,
|
|
spread = {x = 100, y = 100, z = 100},
|
|
seed = 7133,
|
|
octaves = 3,
|
|
persist = 0.6
|
|
},
|
|
y_min = 1,
|
|
y_max = 30,
|
|
decoration = "flowers:"..name,
|
|
spawn_by = "default:tree",
|
|
num_spawn_by = 1,
|
|
})
|
|
end
|
|
|
|
local function register_mgv6_waterlily()
|
|
minetest.register_decoration({
|
|
deco_type = "schematic",
|
|
place_on = {"default:dirt"},
|
|
sidelen = 16,
|
|
noise_params = {
|
|
offset = -0.12,
|
|
scale = 0.3,
|
|
spread = {x = 100, y = 100, z = 100},
|
|
seed = 33,
|
|
octaves = 3,
|
|
persist = 0.7
|
|
},
|
|
y_min = 0,
|
|
y_max = 0,
|
|
schematic = minetest.get_modpath("flowers").."/schematics/waterlily.mts",
|
|
rotation = "random",
|
|
})
|
|
end
|
|
|
|
function flowers.register_mgv6_decorations()
|
|
register_mgv6_flower("rose")
|
|
register_mgv6_flower("tulip")
|
|
register_mgv6_flower("dandelion_yellow")
|
|
register_mgv6_flower("geranium")
|
|
register_mgv6_flower("viola")
|
|
register_mgv6_flower("dandelion_white")
|
|
|
|
register_mgv6_mushroom("mushroom_brown")
|
|
register_mgv6_mushroom("mushroom_red")
|
|
|
|
register_mgv6_waterlily()
|
|
end
|
|
|
|
|
|
--
|
|
-- All other biome API mapgens
|
|
--
|
|
|
|
local function register_flower(seed, name)
|
|
minetest.register_decoration({
|
|
deco_type = "simple",
|
|
place_on = {"default:dirt_with_grass"},
|
|
sidelen = 16,
|
|
noise_params = {
|
|
offset = -0.015,
|
|
scale = 0.025,
|
|
spread = {x = 200, y = 200, z = 200},
|
|
seed = seed,
|
|
octaves = 3,
|
|
persist = 0.6
|
|
},
|
|
biomes = {"grassland", "deciduous_forest", "coniferous_forest"},
|
|
y_min = 1,
|
|
y_max = 31000,
|
|
decoration = "flowers:"..name,
|
|
})
|
|
end
|
|
|
|
local function register_mushroom(name)
|
|
minetest.register_decoration({
|
|
deco_type = "simple",
|
|
place_on = {"default:dirt_with_grass"},
|
|
sidelen = 16,
|
|
noise_params = {
|
|
offset = 0,
|
|
scale = 0.006,
|
|
spread = {x = 250, y = 250, z = 250},
|
|
seed = 2,
|
|
octaves = 3,
|
|
persist = 0.66
|
|
},
|
|
biomes = {"deciduous_forest", "coniferous_forest"},
|
|
y_min = 1,
|
|
y_max = 31000,
|
|
decoration = "flowers:"..name,
|
|
})
|
|
end
|
|
|
|
local function register_waterlily()
|
|
minetest.register_decoration({
|
|
deco_type = "schematic",
|
|
place_on = {"default:dirt"},
|
|
sidelen = 16,
|
|
noise_params = {
|
|
offset = -0.12,
|
|
scale = 0.3,
|
|
spread = {x = 200, y = 200, z = 200},
|
|
seed = 33,
|
|
octaves = 3,
|
|
persist = 0.7
|
|
},
|
|
biomes = {"rainforest_swamp", "savanna_shore", "deciduous_forest_shore"},
|
|
y_min = 0,
|
|
y_max = 0,
|
|
schematic = minetest.get_modpath("flowers") .. "/schematics/waterlily.mts",
|
|
rotation = "random",
|
|
})
|
|
end
|
|
|
|
function flowers.register_decorations()
|
|
register_flower(436, "rose")
|
|
register_flower(19822, "tulip")
|
|
register_flower(1220999, "dandelion_yellow")
|
|
register_flower(36662, "geranium")
|
|
register_flower(1133, "viola")
|
|
register_flower(73133, "dandelion_white")
|
|
|
|
register_mushroom("mushroom_brown")
|
|
register_mushroom("mushroom_red")
|
|
|
|
register_waterlily()
|
|
end
|
|
|
|
|
|
--
|
|
-- Detect mapgen to select functions
|
|
--
|
|
|
|
local mg_name = minetest.get_mapgen_setting("mg_name")
|
|
if mg_name == "v6" then
|
|
flowers.register_mgv6_decorations()
|
|
else
|
|
flowers.register_decorations()
|
|
end
|