mapgen.lua: Add dirt/sand/gravel blob ores for mgv5/mgv7

Create register ores function. Select and order functions per mapgen
Use blob ore for clay. Update ore height_min/max to y_min/max
Tune flower amount
This commit is contained in:
paramat 2015-01-21 15:27:29 +00:00
parent 03c00a831d
commit 3b526a7276
1 changed files with 299 additions and 222 deletions

View File

@ -31,6 +31,7 @@ minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble")
-- Ore generation
--
function default.register_ores()
minetest.register_ore({
ore_type = "scatter",
ore = "default:stone_with_coal",
@ -38,8 +39,8 @@ minetest.register_ore({
clust_scarcity = 8*8*8,
clust_num_ores = 8,
clust_size = 3,
height_min = -31000,
height_max = 64,
y_min = -31000,
y_max = 64,
})
minetest.register_ore({
@ -49,8 +50,8 @@ minetest.register_ore({
clust_scarcity = 24*24*24,
clust_num_ores = 27,
clust_size = 6,
height_min = -31000,
height_max = 0,
y_min = -31000,
y_max = 0,
flags = "absheight",
})
@ -61,8 +62,8 @@ minetest.register_ore({
clust_scarcity = 12*12*12,
clust_num_ores = 3,
clust_size = 2,
height_min = -15,
height_max = 2,
y_min = -15,
y_max = 2,
})
minetest.register_ore({
@ -72,8 +73,8 @@ minetest.register_ore({
clust_scarcity = 9*9*9,
clust_num_ores = 5,
clust_size = 3,
height_min = -63,
height_max = -16,
y_min = -63,
y_max = -16,
})
minetest.register_ore({
@ -83,8 +84,8 @@ minetest.register_ore({
clust_scarcity = 7*7*7,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,
height_max = -64,
y_min = -31000,
y_max = -64,
flags = "absheight",
})
@ -95,8 +96,8 @@ minetest.register_ore({
clust_scarcity = 24*24*24,
clust_num_ores = 27,
clust_size = 6,
height_min = -31000,
height_max = -64,
y_min = -31000,
y_max = -64,
flags = "absheight",
})
@ -107,8 +108,8 @@ minetest.register_ore({
clust_scarcity = 18*18*18,
clust_num_ores = 3,
clust_size = 2,
height_min = -255,
height_max = -64,
y_min = -255,
y_max = -64,
flags = "absheight",
})
@ -119,8 +120,8 @@ minetest.register_ore({
clust_scarcity = 14*14*14,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,
height_max = -256,
y_min = -31000,
y_max = -256,
flags = "absheight",
})
@ -131,8 +132,8 @@ minetest.register_ore({
clust_scarcity = 36*36*36,
clust_num_ores = 3,
clust_size = 2,
height_min = -31000,
height_max = -1024,
y_min = -31000,
y_max = -1024,
flags = "absheight",
})
@ -143,8 +144,8 @@ minetest.register_ore({
clust_scarcity = 15*15*15,
clust_num_ores = 3,
clust_size = 2,
height_min = -255,
height_max = -64,
y_min = -255,
y_max = -64,
flags = "absheight",
})
@ -155,8 +156,8 @@ minetest.register_ore({
clust_scarcity = 13*13*13,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,
height_max = -256,
y_min = -31000,
y_max = -256,
flags = "absheight",
})
@ -167,8 +168,8 @@ minetest.register_ore({
clust_scarcity = 17*17*17,
clust_num_ores = 4,
clust_size = 3,
height_min = -255,
height_max = -128,
y_min = -255,
y_max = -128,
flags = "absheight",
})
@ -179,8 +180,8 @@ minetest.register_ore({
clust_scarcity = 15*15*15,
clust_num_ores = 4,
clust_size = 3,
height_min = -31000,
height_max = -256,
y_min = -31000,
y_max = -256,
flags = "absheight",
})
@ -191,8 +192,8 @@ minetest.register_ore({
clust_scarcity = 12*12*12,
clust_num_ores = 4,
clust_size = 3,
height_min = -63,
height_max = -16,
y_min = -63,
y_max = -16,
})
minetest.register_ore({
@ -202,21 +203,31 @@ minetest.register_ore({
clust_scarcity = 9*9*9,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,
height_max = -64,
y_min = -31000,
y_max = -64,
flags = "absheight",
})
minetest.register_ore({
ore_type = "scatter",
ore_type = "blob",
ore = "default:clay",
wherein = "default:sand",
clust_scarcity = 15*15*15,
clust_num_ores = 64,
clust_size = 5,
height_max = 0,
height_min = -10,
wherein = {"default:sand"},
clust_scarcity = 24*24*24,
clust_size = 7,
y_min = -10,
y_max = 0,
noise_threshhold = 0,
noise_params = {
offset=0.35,
scale=0.2,
spread={x=5, y=5, z=5},
seed=-316,
octaves=1,
persist=0.5
},
})
end
function default.generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, chunk_size, ore_per_chunk, height_min, height_max)
minetest.log('action', "WARNING: default.generate_ore is deprecated")
@ -433,6 +444,7 @@ function default.make_nyancat(pos, facedir, length)
end
end
function default.generate_nyancats(minp, maxp, seed)
local height_min = -31000
local height_max = -32
@ -455,6 +467,7 @@ function default.generate_nyancats(minp, maxp, seed)
end
end
minetest.register_on_generated(default.generate_nyancats)
--
@ -462,11 +475,8 @@ minetest.register_on_generated(default.generate_nyancats)
--
function default.register_biomes()
minetest.clear_registered_biomes()
-- Temperate biomes
minetest.register_biome({
name = "grassland",
node_top = "default:dirt_with_grass",
@ -482,8 +492,8 @@ function default.register_biomes()
--depth_water_top = ,
--node_water = "",
--node_dust = "",
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
heat_point = 50,
humidity_point = 50,
})
@ -492,8 +502,6 @@ function default.register_biomes()
-- Register decorations
--
-- Grassland
-- Flowers
minetest.register_decoration({
@ -501,7 +509,7 @@ function default.register_biomes()
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.015,
offset = -0.02,
scale = 0.03,
spread = {x=100, y=100, z=100},
seed = 436,
@ -509,8 +517,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "flowers:rose",
})
@ -519,7 +527,7 @@ function default.register_biomes()
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.015,
offset = -0.02,
scale = 0.03,
spread = {x=100, y=100, z=100},
seed = 19822,
@ -527,8 +535,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "flowers:tulip",
})
@ -537,7 +545,7 @@ function default.register_biomes()
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.015,
offset = -0.02,
scale = 0.03,
spread = {x=100, y=100, z=100},
seed = 1220999,
@ -545,8 +553,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "flowers:dandelion_yellow",
})
@ -555,7 +563,7 @@ function default.register_biomes()
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.015,
offset = -0.02,
scale = 0.03,
spread = {x=100, y=100, z=100},
seed = 36662,
@ -563,8 +571,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "flowers:geranium",
})
@ -573,7 +581,7 @@ function default.register_biomes()
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.015,
offset = -0.02,
scale = 0.03,
spread = {x=100, y=100, z=100},
seed = 1133,
@ -581,8 +589,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "flowers:viola",
})
@ -591,7 +599,7 @@ function default.register_biomes()
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.015,
offset = -0.02,
scale = 0.03,
spread = {x=100, y=100, z=100},
seed = 73133,
@ -599,8 +607,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "flowers:dandelion_white",
})
@ -619,8 +627,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "default:grass_1",
})
@ -637,8 +645,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "default:grass_2",
})
@ -655,8 +663,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "default:grass_3",
})
@ -673,8 +681,8 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "default:grass_4",
})
@ -691,11 +699,73 @@ function default.register_biomes()
persist = 0.6
},
biomes = {"grassland"},
y_min = -32000,
y_max = 32000,
y_min = -31000,
y_max = 31000,
decoration = "default:grass_5",
})
end
--
-- Register blob ore
--
function default.register_blobs()
minetest.register_ore({
ore_type = "blob",
ore = "default:sand",
wherein = {"default:stone"},
clust_scarcity = 24*24*24,
clust_size = 7,
y_min = -63,
y_max = 4,
noise_threshhold = 0,
noise_params = {
offset=0.35,
scale=0.2,
spread={x=5, y=5, z=5},
seed=2316,
octaves=1,
persist=0.5
},
})
minetest.register_ore({
ore_type = "blob",
ore = "default:dirt",
wherein = {"default:stone"},
clust_scarcity = 24*24*24,
clust_size = 7,
y_min = -63,
y_max = 31000,
noise_threshhold = 0,
noise_params = {
offset=0.35,
scale=0.2,
spread={x=5, y=5, z=5},
seed=17676,
octaves=1,
persist=0.5
},
})
minetest.register_ore({
ore_type = "blob",
ore = "default:gravel",
wherein = {"default:stone"},
clust_scarcity = 24*24*24,
clust_size = 7,
y_min = -31000,
y_max = 31000,
noise_threshhold = 0,
noise_params = {
offset=0.35,
scale=0.2,
spread={x=5, y=5, z=5},
seed=766,
octaves=1,
persist=0.5
},
})
end
--
@ -703,9 +773,16 @@ end
--
local mg_params = minetest.get_mapgen_params()
if mg_params.mgname == "v6" then
minetest.register_on_generated(default.mgv6_ongen)
else
if mg_params.mgname == "v5" then
default.register_biomes()
default.register_blobs()
default.register_ores()
elseif mg_params.mgname == "v6" then
minetest.register_on_generated(default.mgv6_ongen)
default.register_ores()
elseif mg_params.mgname == "v7" then
default.register_biomes()
default.register_blobs()
default.register_ores()
end