X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=mods%2Fdefault%2Fmapgen.lua;h=0018d8414eef2678078508e6a969ec9397fec975;hb=e67e28d226046bd50416999d924ddf9e6cd6de7d;hp=4865341839625ef22893ebe1b9d438f2c32f0ac2;hpb=0914e595c7ab01a66188fca52561df26f852d7c4;p=oweals%2Fminetest_game.git diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 48653418..0018d841 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -2,7 +2,6 @@ -- Aliases for map generator outputs -- - minetest.register_alias("mapgen_stone", "default:stone") minetest.register_alias("mapgen_dirt", "default:dirt") minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") @@ -19,15 +18,19 @@ minetest.register_alias("mapgen_snow", "default:snow") minetest.register_alias("mapgen_ice", "default:ice") minetest.register_alias("mapgen_sandstone", "default:sandstone") +-- Flora + minetest.register_alias("mapgen_tree", "default:tree") minetest.register_alias("mapgen_leaves", "default:leaves") minetest.register_alias("mapgen_apple", "default:apple") minetest.register_alias("mapgen_jungletree", "default:jungletree") minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves") minetest.register_alias("mapgen_junglegrass", "default:junglegrass") -minetest.register_alias("mapgen_pinetree", "default:pinetree") +minetest.register_alias("mapgen_pine_tree", "default:pine_tree") minetest.register_alias("mapgen_pine_needles", "default:pine_needles") +-- Dungeons + minetest.register_alias("mapgen_cobble", "default:cobble") minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") minetest.register_alias("mapgen_mossycobble", "default:mossycobble") @@ -39,86 +42,97 @@ minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstonebr -- Register ores -- - +-- All mapgens except singlenode -- Blob ore first to avoid other ores inside blobs function default.register_ores() + + -- Clay + minetest.register_ore({ ore_type = "blob", ore = "default:clay", wherein = {"default:sand"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, y_min = -15, y_max = 0, - noise_threshhold = 0, + noise_threshhold = 0.0, noise_params = { - offset = 0.35, + offset = 0.5, scale = 0.2, spread = {x = 5, y = 5, z = 5}, seed = -316, octaves = 1, - persist = 0.5 + persist = 0.0 }, }) + -- Sand + minetest.register_ore({ ore_type = "blob", ore = "default:sand", wherein = {"default:stone"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, - y_min = -63, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_min = -31, y_max = 4, - noise_threshhold = 0, + noise_threshhold = 0.0, noise_params = { - offset = 0.35, + offset = 0.5, scale = 0.2, spread = {x = 5, y = 5, z = 5}, seed = 2316, octaves = 1, - persist = 0.5 + persist = 0.0 }, }) + -- Dirt + minetest.register_ore({ ore_type = "blob", ore = "default:dirt", wherein = {"default:stone"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, - y_min = -63, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, + y_min = -31, y_max = 31000, - noise_threshhold = 0, + noise_threshhold = 0.0, noise_params = { - offset = 0.35, + offset = 0.5, scale = 0.2, spread = {x = 5, y = 5, z = 5}, seed = 17676, octaves = 1, - persist = 0.5 + persist = 0.0 }, }) + -- Gravel + minetest.register_ore({ ore_type = "blob", ore = "default:gravel", wherein = {"default:stone"}, - clust_scarcity = 24 * 24 * 24, - clust_size = 7, + clust_scarcity = 16 * 16 * 16, + clust_size = 5, y_min = -31000, y_max = 31000, - noise_threshhold = 0, + noise_threshhold = 0.0, noise_params = { - offset = 0.35, + offset = 0.5, scale = 0.2, spread = {x = 5, y = 5, z = 5}, seed = 766, octaves = 1, - persist = 0.5 + persist = 0.0 }, }) + -- Coal + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_coal", @@ -141,6 +155,8 @@ function default.register_ores() y_max = 0, }) + -- Iron + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_iron", @@ -185,6 +201,8 @@ function default.register_ores() y_max = -64, }) + --Mese + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_mese", @@ -218,6 +236,8 @@ function default.register_ores() y_max = -1024, }) + -- Gold + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_gold", @@ -240,6 +260,8 @@ function default.register_ores() y_max = -256, }) + -- Diamond + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_diamond", @@ -262,6 +284,8 @@ function default.register_ores() y_max = -256, }) + -- Copper + minetest.register_ore({ ore_type = "scatter", ore = "default:stone_with_copper", @@ -290,12 +314,128 @@ end -- Register biomes -- +-- All mapgens except mgv6 and singlenode function default.register_biomes() minetest.clear_registered_biomes() + -- Permanent ice + + minetest.register_biome({ + name = "glacier", + node_dust = "default:snowblock", + node_top = "default:snowblock", + depth_top = 1, + node_filler = "default:snowblock", + depth_filler = 3, + node_stone = "default:ice", + node_water_top = "default:ice", + depth_water_top = 10, + --node_water = "", + node_river_water = "default:ice", + y_min = -8, + y_max = 31000, + heat_point = 0, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "glacier_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 = "", + --node_river_water = "", + y_min = -112, + y_max = -9, + heat_point = 0, + humidity_point = 50, + }) + + -- Cold + minetest.register_biome({ - name = "default:grassland", + name = "tundra", + --node_dust = "", + 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 = "", + y_min = 2, + y_max = 31000, + heat_point = 15, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "tundra_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 = "", + y_min = -112, + y_max = 1, + heat_point = 15, + humidity_point = 35, + }) + + + minetest.register_biome({ + name = "taiga", + node_dust = "default:snow", + node_top = "default:dirt_with_snow", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 2, + y_max = 31000, + heat_point = 15, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "taiga_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 = "", + y_min = -112, + y_max = 1, + heat_point = 15, + humidity_point = 65, + }) + + -- Temperate + + minetest.register_biome({ + name = "stone_grassland", --node_dust = "", node_top = "default:dirt_with_grass", depth_top = 1, @@ -305,25 +445,324 @@ function default.register_biomes() --node_water_top = "", --depth_water_top = , --node_water = "", + --node_river_water = "", y_min = 5, y_max = 31000, - heat_point = 50, + heat_point = 40, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "stone_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 = "", + y_min = -112, + y_max = 4, + heat_point = 40, + humidity_point = 35, + }) + + + minetest.register_biome({ + name = "coniferous_forest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 5, + y_max = 31000, + heat_point = 40, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "coniferous_forest_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 = "", + y_min = -112, + y_max = 4, + heat_point = 40, + humidity_point = 65, + }) + + + minetest.register_biome({ + name = "sandstone_grassland", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + node_stone = "default:sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 5, + y_max = 31000, + heat_point = 60, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "sandstone_grassland_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_stone = "default:sandstone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -112, + y_max = 4, + heat_point = 60, + humidity_point = 35, + }) + + + minetest.register_biome({ + name = "deciduous_forest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 1, + y_max = 31000, + heat_point = 60, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "deciduous_forest_swamp", + --node_dust = "", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -3, + y_max = 0, + heat_point = 60, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "deciduous_forest_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 = "", + y_min = -112, + y_max = -4, + heat_point = 60, + humidity_point = 65, + }) + + -- Hot + + minetest.register_biome({ + name = "desert", + --node_dust = "", + node_top = "default:desert_sand", + depth_top = 1, + node_filler = "default:desert_sand", + depth_filler = 1, + node_stone = "default:desert_stone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 5, + y_max = 31000, + heat_point = 85, + humidity_point = 20, + }) + + minetest.register_biome({ + name = "desert_ocean", + --node_dust = "", + node_top = "default:sand", + depth_top = 1, + node_filler = "default:sand", + depth_filler = 3, + node_stone = "default:desert_stone", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -112, + y_max = 4, + heat_point = 85, + humidity_point = 20, + }) + + + minetest.register_biome({ + name = "savanna", + --node_dust = "", + node_top = "default:dirt_with_dry_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 1, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 1, + y_max = 31000, + heat_point = 85, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "savanna_swamp", + --node_dust = "", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -3, + y_max = 0, + heat_point = 85, + humidity_point = 50, + }) + + minetest.register_biome({ + name = "savanna_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 = "", + y_min = -112, + y_max = -4, + heat_point = 85, humidity_point = 50, }) + minetest.register_biome({ - name = "default:grassland_ocean", + name = "rainforest", + --node_dust = "", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = 1, + y_max = 31000, + heat_point = 85, + humidity_point = 80, + }) + + minetest.register_biome({ + name = "rainforest_swamp", + --node_dust = "", + node_top = "default:dirt", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", + y_min = -3, + y_max = 0, + heat_point = 85, + humidity_point = 80, + }) + + minetest.register_biome({ + name = "rainforest_ocean", --node_dust = "", node_top = "default:sand", depth_top = 1, node_filler = "default:sand", - depth_filler = 2, + depth_filler = 3, --node_stone = "", --node_water_top = "", --depth_water_top = , --node_water = "", + --node_river_water = "", + y_min = -112, + y_max = -4, + heat_point = 85, + humidity_point = 80, + }) + + -- Underground + + minetest.register_biome({ + name = "underground", + --node_dust = "", + --node_top = "", + --depth_top = , + --node_filler = "", + --depth_filler = , + --node_stone = "", + --node_water_top = "", + --depth_water_top = , + --node_water = "", + --node_river_water = "", y_min = -31000, - y_max = 4, + y_max = -113, heat_point = 50, humidity_point = 50, }) @@ -331,11 +770,13 @@ end -- --- Register mgv6 decorations +-- Register decorations -- +-- Mgv6 function default.register_mgv6_decorations() + minetest.clear_registered_decorations() -- Papyrus @@ -355,7 +796,7 @@ function default.register_mgv6_decorations() y_max = 1, decoration = "default:papyrus", height = 2, - height_max = 4, + height_max = 4, spawn_by = "default:water_source", num_spawn_by = 1, }) @@ -381,7 +822,7 @@ function default.register_mgv6_decorations() height_max = 4, }) - -- Grasses + -- Long grasses for length = 1, 5 do minetest.register_decoration({ @@ -422,244 +863,252 @@ function default.register_mgv6_decorations() }) end +-- All mapgens except mgv6 and singlenode --- --- Register decorations --- - - -function default.register_decorations() - - -- Flowers - +local function register_grass_decoration(offset, scale, length) minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + place_on = {"default:dirt_with_grass", "default:sand"}, sidelen = 16, noise_params = { - offset = -0.02, - scale = 0.03, + offset = offset, + scale = scale, spread = {x = 200, y = 200, z = 200}, - seed = 436, + seed = 329, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"stone_grassland", "sandstone_grassland", + "deciduous_forest", "coniferous_forest"}, + y_min = 1, y_max = 31000, - decoration = "flowers:rose", + decoration = "default:grass_"..length, }) - +end + +local function register_dry_grass_decoration(offset, scale, length) minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + place_on = {"default:dirt_with_dry_grass"}, sidelen = 16, noise_params = { - offset = -0.02, - scale = 0.03, + offset = offset, + scale = scale, spread = {x = 200, y = 200, z = 200}, - seed = 19822, + seed = 329, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = 33, + biomes = {"savanna"}, + y_min = 1, y_max = 31000, - decoration = "flowers:tulip", + decoration = "default:dry_grass_"..length, }) - +end + +function default.register_decorations() + minetest.clear_registered_decorations() + + -- Apple tree + minetest.register_decoration({ - deco_type = "simple", + deco_type = "schematic", place_on = {"default:dirt_with_grass"}, sidelen = 16, noise_params = { - offset = -0.02, - scale = 0.03, - spread = {x = 200, y = 200, z = 200}, - seed = 1220999, + offset = 0.04, + scale = 0.02, + spread = {x = 250, y = 250, z = 250}, + seed = 2, octaves = 3, - persist = 0.6 + persist = 0.66 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"deciduous_forest"}, + y_min = 1, y_max = 31000, - decoration = "flowers:dandelion_yellow", + schematic = minetest.get_modpath("default").."/schematics/apple_tree.mts", + flags = "place_center_x, place_center_z", }) - + + -- Jungle tree + minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = -0.02, - scale = 0.03, - spread = {x = 200, y = 200, z = 200}, - seed = 36662, - octaves = 3, - persist = 0.6 - }, - biomes = {"default:grassland"}, - y_min = -31000, + deco_type = "schematic", + place_on = {"default:dirt_with_grass", "default:dirt"}, + sidelen = 80, + fill_ratio = 0.09, + biomes = {"rainforest", "rainforest_swamp"}, + y_min = 0, y_max = 31000, - decoration = "flowers:geranium", + schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", }) - + + -- Taiga and temperate coniferous forest pine tree + minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_grass"}, sidelen = 16, noise_params = { - offset = -0.02, - scale = 0.03, - spread = {x = 200, y = 200, z = 200}, - seed = 1133, + offset = 0.04, + scale = 0.02, + spread = {x = 250, y = 250, z = 250}, + seed = 2, octaves = 3, - persist = 0.6 + persist = 0.66 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"taiga", "coniferous_forest"}, + y_min = 2, y_max = 31000, - decoration = "flowers:viola", + schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts", + flags = "place_center_x, place_center_z", }) - + + -- Acacia tree + minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, + deco_type = "schematic", + place_on = {"default:dirt_with_dry_grass"}, + sidelen = 80, noise_params = { - offset = -0.02, - scale = 0.03, - spread = {x = 200, y = 200, z = 200}, - seed = 73133, + offset = 0, + scale = 0.003, + spread = {x = 250, y = 250, z = 250}, + seed = 2, octaves = 3, - persist = 0.6 + persist = 0.66 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"savanna"}, + y_min = 1, y_max = 31000, - decoration = "flowers:dandelion_white", + schematic = minetest.get_modpath("default").."/schematics/acacia_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", }) - -- Grasses + -- Large cactus minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, + deco_type = "schematic", + place_on = {"default:desert_sand"}, + sidelen = 80, noise_params = { - offset = 0.04, - scale = 0.04, + offset = -0.0005, + scale = 0.0015, spread = {x = 200, y = 200, z = 200}, - seed = 66440, + seed = 230, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"desert"}, + y_min = 5, y_max = 31000, - decoration = "default:grass_1", + schematic = minetest.get_modpath("default").."/schematics/large_cactus.mts", + flags = "place_center_x", + rotation = "random", }) - + + -- Cactus + minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, + place_on = {"default:desert_sand"}, + sidelen = 80, noise_params = { - offset = 0.02, - scale = 0.06, + offset = -0.0005, + scale = 0.0015, spread = {x = 200, y = 200, z = 200}, - seed = 66440, + seed = 230, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"desert"}, + y_min = 5, y_max = 31000, - decoration = "default:grass_2", + decoration = "default:cactus", + height = 2, + height_max = 5, }) - + + -- Papyrus + minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + deco_type = "schematic", + place_on = {"default:dirt"}, sidelen = 16, noise_params = { - offset = 0, - scale = 0.08, + offset = -0.3, + scale = 0.7, spread = {x = 200, y = 200, z = 200}, - seed = 66440, + seed = 354, octaves = 3, - persist = 0.6 + persist = 0.7 }, - biomes = {"default:grassland"}, - y_min = -31000, - y_max = 31000, - decoration = "default:grass_3", + biomes = {"savanna_swamp"}, + y_min = 0, + y_max = 0, + schematic = minetest.get_modpath("default").."/schematics/papyrus.mts", }) - + + -- Grasses + + register_grass_decoration(-0.03, 0.09, 5) + register_grass_decoration(-0.015, 0.075, 4) + register_grass_decoration(0, 0.06, 3) + register_grass_decoration(0.015, 0.045, 2) + register_grass_decoration(0.03, 0.03, 1) + + -- Dry grasses + + register_dry_grass_decoration(0.01, 0.05, 5) + register_dry_grass_decoration(0.03, 0.03, 4) + register_dry_grass_decoration(0.05, 0.01, 3) + register_dry_grass_decoration(0.07, -0.01, 2) + register_dry_grass_decoration(0.09, -0.03, 1) + + -- Junglegrass + minetest.register_decoration({ deco_type = "simple", place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = -0.02, - scale = 0.10, - spread = {x = 200, y = 200, z = 200}, - seed = 66440, - octaves = 3, - persist = 0.6 - }, - biomes = {"default:grassland"}, - y_min = -31000, + sidelen = 80, + fill_ratio = 0.1, + biomes = {"rainforest"}, + y_min = 1, y_max = 31000, - decoration = "default:grass_4", + decoration = "default:junglegrass", }) - + + -- Dry shrub + minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_grass"}, + place_on = {"default:desert_sand", "default:dirt_with_snow"}, sidelen = 16, noise_params = { - offset = -0.04, - scale = 0.12, + offset = 0, + scale = 0.02, spread = {x = 200, y = 200, z = 200}, - seed = 66440, + seed = 329, octaves = 3, persist = 0.6 }, - biomes = {"default:grassland"}, - y_min = -31000, + biomes = {"desert", "tundra"}, + y_min = 2, y_max = 31000, - decoration = "default:grass_5", + decoration = "default:dry_shrub", }) end -- --- Detect mapgen to select functions +-- Generate nyan cats -- +-- All mapgens except singlenode --- Mods using singlenode mapgen can call these functions to enable --- the use of minetest.generate_ores or minetest.generate_decorations - -local mg_params = minetest.get_mapgen_params() -if mg_params.mgname == "v6" then - default.register_ores() - default.register_mgv6_decorations() -elseif mg_params.mgname ~= "singlenode" then - default.register_ores() - default.register_biomes() - default.register_decorations() -end - - --- --- Generate nyan cats in all mapgens --- - - --- facedir: 0/1/2/3 (head node facedir value) --- length: length of rainbow tail function default.make_nyancat(pos, facedir, length) local tailvec = {x = 0, y = 0, z = 0} if facedir == 0 then @@ -671,7 +1120,6 @@ function default.make_nyancat(pos, facedir, length) elseif facedir == 3 then tailvec.x = -1 else - --print("default.make_nyancat(): Invalid facedir: "+dump(facedir)) facedir = 0 tailvec.z = 1 end @@ -684,7 +1132,6 @@ function default.make_nyancat(pos, facedir, length) end end - function default.generate_nyancats(minp, maxp, seed) local height_min = -31000 local height_max = -32 @@ -708,4 +1155,21 @@ function default.generate_nyancats(minp, maxp, seed) end -minetest.register_on_generated(default.generate_nyancats) +-- +-- Detect mapgen to select functions +-- + +-- Mods using singlenode mapgen can call these functions to enable +-- the use of minetest.generate_ores or minetest.generate_decorations + +local mg_params = minetest.get_mapgen_params() +if mg_params.mgname == "v6" then + default.register_ores() + default.register_mgv6_decorations() + minetest.register_on_generated(default.generate_nyancats) +elseif mg_params.mgname ~= "singlenode" then + default.register_ores() + default.register_biomes() + default.register_decorations() + minetest.register_on_generated(default.generate_nyancats) +end