--
--- Aliases for map generator outputs
+-- Aliases for map generators
--
minetest.register_alias("mapgen_stone", "default:stone")
minetest.register_alias("mapgen_mossycobble", "default:mossycobble")
minetest.register_alias("mapgen_stair_desert_stone", "stairs:stair_desert_stone")
minetest.register_alias("mapgen_sandstonebrick", "default:sandstonebrick")
-minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstonebrick")
+minetest.register_alias("mapgen_stair_sandstone_block", "stairs:stair_sandstone_block")
--
-- Register ores
--
-function default.register_ores()
- minetest.clear_registered_ores()
+-- Blob ores
+-- These first to avoid other ores in blobs
+
+-- Mgv6
+
+function default.register_mgv6_blob_ores()
+
+ -- Clay
+ -- This first to avoid clay in sand blobs
+
+ minetest.register_ore({
+ ore_type = "blob",
+ ore = "default:clay",
+ wherein = {"default:sand"},
+ clust_scarcity = 16 * 16 * 16,
+ clust_size = 5,
+ y_min = -15,
+ y_max = 0,
+ noise_threshold = 0.0,
+ noise_params = {
+ offset = 0.5,
+ scale = 0.2,
+ spread = {x = 5, y = 5, z = 5},
+ seed = -316,
+ octaves = 1,
+ persist = 0.0
+ },
+ })
+
+ -- Sand
+
+ minetest.register_ore({
+ ore_type = "blob",
+ ore = "default:sand",
+ wherein = {"default:stone", "default:desert_stone"},
+ clust_scarcity = 16 * 16 * 16,
+ clust_size = 5,
+ y_min = -31,
+ y_max = 0,
+ noise_threshold = 0.0,
+ noise_params = {
+ offset = 0.5,
+ scale = 0.2,
+ spread = {x = 5, y = 5, z = 5},
+ seed = 2316,
+ octaves = 1,
+ persist = 0.0
+ },
+ })
+
+ -- Dirt
+
+ minetest.register_ore({
+ ore_type = "blob",
+ ore = "default:dirt",
+ wherein = {"default:stone"},
+ clust_scarcity = 16 * 16 * 16,
+ clust_size = 5,
+ y_min = -31,
+ y_max = 31000,
+ noise_threshold = 0.0,
+ noise_params = {
+ offset = 0.5,
+ scale = 0.2,
+ spread = {x = 5, y = 5, z = 5},
+ seed = 17676,
+ octaves = 1,
+ persist = 0.0
+ },
+ })
- -- Blob ores
- -- These first to avoid other ores in blobs
+ -- Gravel
+
+ minetest.register_ore({
+ ore_type = "blob",
+ ore = "default:gravel",
+ wherein = {"default:stone"},
+ clust_scarcity = 16 * 16 * 16,
+ clust_size = 5,
+ y_min = -31000,
+ y_max = 31000,
+ noise_threshold = 0.0,
+ noise_params = {
+ offset = 0.5,
+ scale = 0.2,
+ spread = {x = 5, y = 5, z = 5},
+ seed = 766,
+ octaves = 1,
+ persist = 0.0
+ },
+ })
+end
+
+
+-- All mapgens except mgv6
+
+function default.register_blob_ores()
-- Clay
"cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean",
"rainforest", "rainforest_swamp", "rainforest_ocean", "underground"}
})
+end
- -- Scatter ores
+
+-- Scatter ores
+-- All mapgens
+
+function default.register_ores()
-- Coal
-- Register biomes
--
--- All mapgens except mgv6 and singlenode
+-- All mapgens except mgv6
function default.register_biomes()
- minetest.clear_registered_biomes()
-- Icesheet
minetest.register_biome({
name = "rainforest",
--node_dust = "",
- node_top = "default:dirt_with_grass",
+ node_top = "default:dirt_with_rainforest_litter",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 3,
-- Mgv6
function default.register_mgv6_decorations()
- minetest.clear_registered_decorations()
-- Papyrus
function default.register_decorations()
- minetest.clear_registered_decorations()
-- Apple tree and log
y_max = 31000,
schematic = minetest.get_modpath("default") .. "/schematics/apple_tree.mts",
flags = "place_center_x, place_center_z",
+ rotation = "random",
})
minetest.register_decoration({
minetest.register_decoration({
deco_type = "schematic",
- place_on = {"default:dirt_with_grass", "default:dirt"},
- sidelen = 80,
+ place_on = {"default:dirt_with_rainforest_litter", "default:dirt"},
+ sidelen = 16,
fill_ratio = 0.1,
biomes = {"rainforest", "rainforest_swamp"},
y_min = -1,
minetest.register_decoration({
deco_type = "schematic",
- place_on = {"default:dirt_with_grass", "default:dirt"},
- sidelen = 80,
+ place_on = {"default:dirt_with_rainforest_litter", "default:dirt"},
+ sidelen = 16,
fill_ratio = 0.005,
biomes = {"rainforest", "rainforest_swamp"},
y_min = 1,
minetest.register_decoration({
deco_type = "simple",
- place_on = {"default:dirt_with_grass"},
- sidelen = 80,
+ place_on = {"default:dirt_with_rainforest_litter"},
+ sidelen = 16,
fill_ratio = 0.1,
biomes = {"rainforest"},
y_min = 1,
deco_type = "schematic",
place_on = {"default:sand"},
noise_params = {
- offset = -0.1,
+ offset = -0.15,
scale = 0.1,
- spread = {x = 200, y = 200, z = 200},
+ spread = {x = 100, y = 100, z = 100},
seed = 7013,
octaves = 3,
persist = 1,
-- Detect mapgen to select functions
--
+minetest.clear_registered_biomes()
+minetest.clear_registered_ores()
+minetest.clear_registered_decorations()
+
local mg_name = minetest.get_mapgen_setting("mg_name")
if mg_name == "v6" then
+ default.register_mgv6_blob_ores()
default.register_ores()
default.register_mgv6_decorations()
else
default.register_biomes()
+ default.register_blob_ores()
default.register_ores()
default.register_decorations()
end