--
function default.register_ores()
+ minetest.clear_registered_ores()
-- Blob ores
-- These first to avoid other ores in blobs
octaves = 1,
persist = 0.0
},
+ biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest",
+ "deciduous_forest", "savanna", "rainforest"}
})
-- Gravel
function default.register_biomes()
minetest.clear_registered_biomes()
- -- Permanent ice
+ -- Icesheet
minetest.register_biome({
- name = "glacier",
+ name = "icesheet",
node_dust = "default:snowblock",
node_top = "default:snowblock",
depth_top = 1,
y_min = -8,
y_max = 31000,
heat_point = 0,
- humidity_point = 50,
+ humidity_point = 73,
})
minetest.register_biome({
- name = "glacier_ocean",
+ name = "icesheet_ocean",
node_dust = "default:snowblock",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
--node_stone = "",
- --node_water_top = "",
- --depth_water_top = ,
+ node_water_top = "default:ice",
+ depth_water_top = 10,
--node_water = "",
--node_river_water = "",
y_min = -112,
y_max = -9,
heat_point = 0,
- humidity_point = 50,
+ humidity_point = 73,
})
- -- Cold
+ -- Tundra
minetest.register_biome({
name = "tundra",
- --node_dust = "",
- node_top = "default:dirt_with_snow",
- depth_top = 1,
- node_filler = "default:dirt",
- depth_filler = 1,
+ node_dust = "default:snowblock",
+ --node_top = ,
+ --depth_top = ,
+ --node_filler = ,
+ --depth_filler = ,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
depth_riverbed = 2,
y_min = 2,
y_max = 31000,
- heat_point = 15,
- humidity_point = 35,
+ heat_point = 0,
+ humidity_point = 40,
})
minetest.register_biome({
depth_riverbed = 2,
y_min = -3,
y_max = 1,
- heat_point = 15,
- humidity_point = 35,
+ heat_point = 0,
+ humidity_point = 40,
})
minetest.register_biome({
depth_riverbed = 2,
y_min = -112,
y_max = -4,
- heat_point = 15,
- humidity_point = 35,
+ heat_point = 0,
+ humidity_point = 40,
})
+ -- Taiga
minetest.register_biome({
name = "taiga",
depth_riverbed = 2,
y_min = 2,
y_max = 31000,
- heat_point = 15,
- humidity_point = 65,
+ heat_point = 25,
+ humidity_point = 70,
})
minetest.register_biome({
depth_riverbed = 2,
y_min = -112,
y_max = 1,
- heat_point = 15,
- humidity_point = 65,
+ heat_point = 25,
+ humidity_point = 70,
+ })
+
+ -- Snowy grassland
+
+ minetest.register_biome({
+ name = "snowy_grassland",
+ node_dust = "default:snow",
+ node_top = "default:dirt_with_snow",
+ depth_top = 1,
+ node_filler = "default:dirt",
+ depth_filler = 1,
+ --node_stone = "",
+ --node_water_top = "",
+ --depth_water_top = ,
+ --node_water = "",
+ --node_river_water = "",
+ node_riverbed = "default:sand",
+ depth_riverbed = 2,
+ y_min = 5,
+ y_max = 31000,
+ heat_point = 20,
+ humidity_point = 35,
+ })
+
+ minetest.register_biome({
+ name = "snowy_grassland_ocean",
+ --node_dust = "",
+ node_top = "default:sand",
+ depth_top = 1,
+ node_filler = "default:sand",
+ depth_filler = 3,
+ --node_stone = "",
+ --node_water_top = "",
+ --depth_water_top = ,
+ --node_water = "",
+ --node_river_water = "",
+ node_riverbed = "default:sand",
+ depth_riverbed = 2,
+ y_min = -112,
+ y_max = 4,
+ heat_point = 20,
+ humidity_point = 35,
})
- -- Temperate
+ -- Grassland
minetest.register_biome({
- name = "stone_grassland",
+ name = "grassland",
--node_dust = "",
node_top = "default:dirt_with_grass",
depth_top = 1,
depth_riverbed = 2,
y_min = 6,
y_max = 31000,
- heat_point = 40,
+ heat_point = 50,
humidity_point = 35,
})
minetest.register_biome({
- name = "stone_grassland_dunes",
+ name = "grassland_dunes",
--node_dust = "",
node_top = "default:sand",
depth_top = 1,
depth_riverbed = 2,
y_min = 5,
y_max = 5,
- heat_point = 40,
+ heat_point = 50,
humidity_point = 35,
})
minetest.register_biome({
- name = "stone_grassland_ocean",
+ name = "grassland_ocean",
--node_dust = "",
node_top = "default:sand",
depth_top = 1,
depth_riverbed = 2,
y_min = -112,
y_max = 4,
- heat_point = 40,
+ heat_point = 50,
humidity_point = 35,
})
+ -- Coniferous forest
minetest.register_biome({
name = "coniferous_forest",
depth_riverbed = 2,
y_min = 6,
y_max = 31000,
- heat_point = 40,
- humidity_point = 65,
+ heat_point = 45,
+ humidity_point = 70,
})
minetest.register_biome({
depth_riverbed = 2,
y_min = 5,
y_max = 5,
- heat_point = 40,
- humidity_point = 65,
+ heat_point = 45,
+ humidity_point = 70,
})
minetest.register_biome({
depth_riverbed = 2,
y_min = -112,
y_max = 4,
- heat_point = 40,
- humidity_point = 65,
+ heat_point = 45,
+ humidity_point = 70,
})
+ -- Deciduous forest
minetest.register_biome({
- name = "sandstone_grassland",
+ name = "deciduous_forest",
--node_dust = "",
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
- depth_filler = 1,
- node_stone = "default:sandstone",
+ depth_filler = 3,
+ --node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
- y_min = 6,
+ y_min = 1,
y_max = 31000,
heat_point = 60,
- humidity_point = 35,
+ humidity_point = 68,
})
minetest.register_biome({
- name = "sandstone_grassland_dunes",
+ name = "deciduous_forest_shore",
--node_dust = "",
- node_top = "default:sand",
+ node_top = "default:dirt",
depth_top = 1,
- node_filler = "default:sand",
- depth_filler = 2,
- node_stone = "default:sandstone",
+ node_filler = "default:dirt",
+ depth_filler = 3,
+ --node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
- y_min = 5,
- y_max = 5,
+ y_min = -1,
+ y_max = 0,
heat_point = 60,
- humidity_point = 35,
+ humidity_point = 68,
})
minetest.register_biome({
- name = "sandstone_grassland_ocean",
+ name = "deciduous_forest_ocean",
--node_dust = "",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
- node_stone = "default:sandstone",
+ --node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
y_min = -112,
- y_max = 4,
+ y_max = -2,
heat_point = 60,
- humidity_point = 35,
+ humidity_point = 68,
})
+ -- Desert
minetest.register_biome({
- name = "deciduous_forest",
+ name = "desert",
--node_dust = "",
- node_top = "default:dirt_with_grass",
+ node_top = "default:desert_sand",
depth_top = 1,
- node_filler = "default:dirt",
- depth_filler = 3,
- --node_stone = "",
+ node_filler = "default:desert_sand",
+ depth_filler = 1,
+ node_stone = "default:desert_stone",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
- y_min = 1,
+ y_min = 5,
y_max = 31000,
- heat_point = 60,
- humidity_point = 65,
+ heat_point = 92,
+ humidity_point = 16,
})
minetest.register_biome({
- name = "deciduous_forest_swamp",
+ name = "desert_ocean",
--node_dust = "",
- node_top = "default:dirt",
+ node_top = "default:sand",
depth_top = 1,
- node_filler = "default:dirt",
+ node_filler = "default:sand",
depth_filler = 3,
- --node_stone = "",
+ node_stone = "default:desert_stone",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
- y_min = -3,
- y_max = 0,
+ y_min = -112,
+ y_max = 4,
+ heat_point = 92,
+ humidity_point = 16,
+ })
+
+ -- Sandstone desert
+
+ minetest.register_biome({
+ name = "sandstone_desert",
+ --node_dust = "",
+ node_top = "default:sand",
+ depth_top = 1,
+ node_filler = "default:sand",
+ depth_filler = 0,
+ node_stone = "default:sandstone",
+ --node_water_top = "",
+ --depth_water_top = ,
+ --node_water = "",
+ --node_river_water = "",
+ node_riverbed = "default:sand",
+ depth_riverbed = 2,
+ y_min = 5,
+ y_max = 31000,
heat_point = 60,
- humidity_point = 65,
+ humidity_point = 0,
})
minetest.register_biome({
- name = "deciduous_forest_ocean",
+ name = "sandstone_desert_ocean",
--node_dust = "",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
- --node_stone = "",
+ node_stone = "default:sandstone",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
y_min = -112,
- y_max = -4,
+ y_max = 4,
heat_point = 60,
- humidity_point = 65,
+ humidity_point = 0,
})
- -- Hot
+ -- Cold desert
minetest.register_biome({
- name = "desert",
+ name = "cold_desert",
--node_dust = "",
- node_top = "default:desert_sand",
+ node_top = "default:silver_sand",
depth_top = 1,
- node_filler = "default:desert_sand",
+ node_filler = "default:silver_sand",
depth_filler = 1,
- node_stone = "default:desert_stone",
+ --node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
depth_riverbed = 2,
y_min = 5,
y_max = 31000,
- heat_point = 85,
- humidity_point = 20,
+ heat_point = 40,
+ humidity_point = 0,
})
minetest.register_biome({
- name = "desert_ocean",
+ name = "cold_desert_ocean",
--node_dust = "",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
- node_stone = "default:desert_stone",
+ --node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
depth_riverbed = 2,
y_min = -112,
y_max = 4,
- heat_point = 85,
- humidity_point = 20,
+ heat_point = 40,
+ humidity_point = 0,
})
+ -- Savanna
minetest.register_biome({
name = "savanna",
depth_riverbed = 2,
y_min = 1,
y_max = 31000,
- heat_point = 85,
- humidity_point = 50,
+ heat_point = 89,
+ humidity_point = 42,
})
minetest.register_biome({
- name = "savanna_swamp",
+ name = "savanna_shore",
--node_dust = "",
node_top = "default:dirt",
depth_top = 1,
--node_river_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
- y_min = -3,
+ y_min = -1,
y_max = 0,
- heat_point = 85,
- humidity_point = 50,
+ heat_point = 89,
+ humidity_point = 42,
})
minetest.register_biome({
node_riverbed = "default:sand",
depth_riverbed = 2,
y_min = -112,
- y_max = -4,
- heat_point = 85,
- humidity_point = 50,
+ y_max = -2,
+ heat_point = 89,
+ humidity_point = 42,
})
+ -- Rainforest
minetest.register_biome({
name = "rainforest",
depth_riverbed = 2,
y_min = 1,
y_max = 31000,
- heat_point = 85,
- humidity_point = 80,
+ heat_point = 86,
+ humidity_point = 65,
})
minetest.register_biome({
--node_river_water = "",
node_riverbed = "default:sand",
depth_riverbed = 2,
- y_min = -3,
+ y_min = -1,
y_max = 0,
- heat_point = 85,
- humidity_point = 80,
+ heat_point = 86,
+ humidity_point = 65,
})
minetest.register_biome({
node_riverbed = "default:sand",
depth_riverbed = 2,
y_min = -112,
- y_max = -4,
- heat_point = 85,
- humidity_point = 80,
+ y_max = -2,
+ heat_point = 86,
+ humidity_point = 65,
})
-- Underground
})
end
--- All mapgens except mgv6 and singlenode
+
+-- All mapgens except mgv6
local function register_grass_decoration(offset, scale, length)
minetest.register_decoration({
octaves = 3,
persist = 0.6
},
- biomes = {"stone_grassland", "sandstone_grassland",
- "deciduous_forest", "coniferous_forest",
- "stone_grassland_dunes", "sandstone_grassland_dunes",
- "coniferous_forest_dunes"},
+ biomes = {"grassland", "grassland_dunes", "deciduous_forest",
+ "coniferous_forest", "coniferous_forest_dunes"},
y_min = 1,
y_max = 31000,
- decoration = "default:grass_"..length,
+ decoration = "default:grass_" .. length,
})
end
biomes = {"savanna"},
y_min = 1,
y_max = 31000,
- decoration = "default:dry_grass_"..length,
+ decoration = "default:dry_grass_" .. length,
})
end
+
function default.register_decorations()
minetest.clear_registered_decorations()
biomes = {"deciduous_forest"},
y_min = 1,
y_max = 31000,
- schematic = minetest.get_modpath("default").."/schematics/apple_tree.mts",
+ schematic = minetest.get_modpath("default") .. "/schematics/apple_tree.mts",
flags = "place_center_x, place_center_z",
})
sidelen = 80,
fill_ratio = 0.1,
biomes = {"rainforest", "rainforest_swamp"},
- y_min = 0,
+ y_min = -1,
y_max = 31000,
- schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts",
+ schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
biomes = {"taiga", "coniferous_forest"},
y_min = 2,
y_max = 31000,
- schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts",
+ schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts",
flags = "place_center_x, place_center_z",
})
biomes = {"savanna"},
y_min = 1,
y_max = 31000,
- schematic = minetest.get_modpath("default").."/schematics/acacia_tree.mts",
+ schematic = minetest.get_modpath("default") .. "/schematics/acacia_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
biomes = {"deciduous_forest"},
y_min = 1,
y_max = 31000,
- schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts",
+ schematic = minetest.get_modpath("default") .. "/schematics/aspen_tree.mts",
flags = "place_center_x, place_center_z",
})
flags = "place_center_x",
rotation = "random",
})
+
-- Large cactus
minetest.register_decoration({
biomes = {"desert"},
y_min = 5,
y_max = 31000,
- schematic = minetest.get_modpath("default").."/schematics/large_cactus.mts",
+ schematic = minetest.get_modpath("default") .. "/schematics/large_cactus.mts",
flags = "place_center_x",
rotation = "random",
})
octaves = 3,
persist = 0.7
},
- biomes = {"savanna_swamp"},
+ biomes = {"savanna_shore"},
y_min = 0,
y_max = 0,
- schematic = minetest.get_modpath("default").."/schematics/papyrus.mts",
+ schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts",
+ })
+
+ -- Bush
+
+ minetest.register_decoration({
+ deco_type = "schematic",
+ place_on = {"default:dirt_with_grass", "default:dirt_with_snow"},
+ sidelen = 16,
+ noise_params = {
+ offset = -0.004,
+ scale = 0.01,
+ spread = {x = 100, y = 100, z = 100},
+ seed = 137,
+ octaves = 3,
+ persist = 0.7,
+ },
+ biomes = {"snowy_grassland", "grassland", "deciduous_forest"},
+ y_min = 1,
+ y_max = 31000,
+ schematic = minetest.get_modpath("default") .. "/schematics/bush.mts",
+ flags = "place_center_x, place_center_z",
+ })
+
+ -- Acacia bush
+
+ minetest.register_decoration({
+ deco_type = "schematic",
+ place_on = {"default:dirt_with_dry_grass"},
+ sidelen = 16,
+ noise_params = {
+ offset = -0.004,
+ scale = 0.01,
+ spread = {x = 100, y = 100, z = 100},
+ seed = 90155,
+ octaves = 3,
+ persist = 0.7,
+ },
+ biomes = {"savanna"},
+ y_min = 1,
+ y_max = 31000,
+ schematic = minetest.get_modpath("default") .. "/schematics/acacia_bush.mts",
+ flags = "place_center_x, place_center_z",
})
-- Grasses
minetest.register_decoration({
deco_type = "simple",
- place_on = {"default:desert_sand", "default:dirt_with_snow"},
+ place_on = {"default:desert_sand",
+ "default:sand", "default:silver_sand"},
sidelen = 16,
noise_params = {
offset = 0,
octaves = 3,
persist = 0.6
},
- biomes = {"desert", "tundra"},
+ biomes = {"desert", "sandstone_desert", "cold_desert"},
y_min = 2,
y_max = 31000,
decoration = "default:dry_shrub",
})
+
+ -- Coral reef
+
+ minetest.register_decoration({
+ deco_type = "schematic",
+ place_on = {"default:sand"},
+ noise_params = {
+ offset = -0.1,
+ scale = 0.1,
+ spread = {x = 200, y = 200, z = 200},
+ seed = 7013,
+ octaves = 3,
+ persist = 1,
+ },
+ biomes = {
+ "desert_ocean",
+ "savanna_ocean",
+ "rainforest_ocean",
+ },
+ y_min = -8,
+ y_max = -2,
+ schematic = minetest.get_modpath("default") .. "/schematics/corals.mts",
+ flags = "place_center_x, place_center_z",
+ rotation = "random",
+ })
end