Ores: Add silver sand blob ore, relocate other blob ores
[oweals/minetest_game.git] / mods / default / mapgen.lua
1 --
2 -- Aliases for map generator outputs
3 --
4
5 minetest.register_alias("mapgen_stone", "default:stone")
6 minetest.register_alias("mapgen_dirt", "default:dirt")
7 minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass")
8 minetest.register_alias("mapgen_sand", "default:sand")
9 minetest.register_alias("mapgen_water_source", "default:water_source")
10 minetest.register_alias("mapgen_river_water_source", "default:river_water_source")
11 minetest.register_alias("mapgen_lava_source", "default:lava_source")
12 minetest.register_alias("mapgen_gravel", "default:gravel")
13 minetest.register_alias("mapgen_desert_stone", "default:desert_stone")
14 minetest.register_alias("mapgen_desert_sand", "default:desert_sand")
15 minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow")
16 minetest.register_alias("mapgen_snowblock", "default:snowblock")
17 minetest.register_alias("mapgen_snow", "default:snow")
18 minetest.register_alias("mapgen_ice", "default:ice")
19 minetest.register_alias("mapgen_sandstone", "default:sandstone")
20
21 -- Flora
22
23 minetest.register_alias("mapgen_tree", "default:tree")
24 minetest.register_alias("mapgen_leaves", "default:leaves")
25 minetest.register_alias("mapgen_apple", "default:apple")
26 minetest.register_alias("mapgen_jungletree", "default:jungletree")
27 minetest.register_alias("mapgen_jungleleaves", "default:jungleleaves")
28 minetest.register_alias("mapgen_junglegrass", "default:junglegrass")
29 minetest.register_alias("mapgen_pine_tree", "default:pine_tree")
30 minetest.register_alias("mapgen_pine_needles", "default:pine_needles")
31
32 -- Dungeons
33
34 minetest.register_alias("mapgen_cobble", "default:cobble")
35 minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble")
36 minetest.register_alias("mapgen_mossycobble", "default:mossycobble")
37 minetest.register_alias("mapgen_stair_desert_stone", "stairs:stair_desert_stone")
38 minetest.register_alias("mapgen_sandstonebrick", "default:sandstonebrick")
39 minetest.register_alias("mapgen_stair_sandstonebrick", "stairs:stair_sandstonebrick")
40
41
42 --
43 -- Register ores
44 --
45
46 function default.register_ores()
47         minetest.clear_registered_ores()
48
49         -- Blob ores
50         -- These first to avoid other ores in blobs
51
52         -- Clay
53
54         minetest.register_ore({
55                 ore_type        = "blob",
56                 ore             = "default:clay",
57                 wherein         = {"default:sand"},
58                 clust_scarcity  = 16 * 16 * 16,
59                 clust_size      = 5,
60                 y_min           = -15,
61                 y_max           = 0,
62                 noise_threshold = 0.0,
63                 noise_params    = {
64                         offset = 0.5,
65                         scale = 0.2,
66                         spread = {x = 5, y = 5, z = 5},
67                         seed = -316,
68                         octaves = 1,
69                         persist = 0.0
70                 },
71         })
72
73         -- Silver sand
74
75         minetest.register_ore({
76                 ore_type        = "blob",
77                 ore             = "default:silver_sand",
78                 wherein         = {"default:stone"},
79                 clust_scarcity  = 16 * 16 * 16,
80                 clust_size      = 5,
81                 y_min           = -31000,
82                 y_max           = 31000,
83                 noise_threshold = 0.0,
84                 noise_params    = {
85                         offset = 0.5,
86                         scale = 0.2,
87                         spread = {x = 5, y = 5, z = 5},
88                         seed = 2316,
89                         octaves = 1,
90                         persist = 0.0
91                 },
92                 biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean",
93                         "taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean",
94                         "grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest",
95                         "coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest",
96                         "deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert",
97                         "cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean",
98                         "rainforest", "rainforest_swamp", "rainforest_ocean", "underground"}
99         })
100
101         -- Dirt
102
103         minetest.register_ore({
104                 ore_type        = "blob",
105                 ore             = "default:dirt",
106                 wherein         = {"default:stone"},
107                 clust_scarcity  = 16 * 16 * 16,
108                 clust_size      = 5,
109                 y_min           = -31,
110                 y_max           = 31000,
111                 noise_threshold = 0.0,
112                 noise_params    = {
113                         offset = 0.5,
114                         scale = 0.2,
115                         spread = {x = 5, y = 5, z = 5},
116                         seed = 17676,
117                         octaves = 1,
118                         persist = 0.0
119                 },
120                 biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest",
121                         "deciduous_forest", "deciduous_forest_shore", "savanna", "savanna_shore",
122                         "rainforest", "rainforest_swamp"}
123         })
124
125         -- Gravel
126
127         minetest.register_ore({
128                 ore_type        = "blob",
129                 ore             = "default:gravel",
130                 wherein         = {"default:stone"},
131                 clust_scarcity  = 16 * 16 * 16,
132                 clust_size      = 5,
133                 y_min           = -31000,
134                 y_max           = 31000,
135                 noise_threshold = 0.0,
136                 noise_params    = {
137                         offset = 0.5,
138                         scale = 0.2,
139                         spread = {x = 5, y = 5, z = 5},
140                         seed = 766,
141                         octaves = 1,
142                         persist = 0.0
143                 },
144                 biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean",
145                         "taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean",
146                         "grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest",
147                         "coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest",
148                         "deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert",
149                         "cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean",
150                         "rainforest", "rainforest_swamp", "rainforest_ocean", "underground"}
151         })
152
153         -- Scatter ores
154
155         -- Coal
156
157         minetest.register_ore({
158                 ore_type       = "scatter",
159                 ore            = "default:stone_with_coal",
160                 wherein        = "default:stone",
161                 clust_scarcity = 8 * 8 * 8,
162                 clust_num_ores = 9,
163                 clust_size     = 3,
164                 y_min          = 1025,
165                 y_max          = 31000,
166         })
167
168         minetest.register_ore({
169                 ore_type       = "scatter",
170                 ore            = "default:stone_with_coal",
171                 wherein        = "default:stone",
172                 clust_scarcity = 8 * 8 * 8,
173                 clust_num_ores = 8,
174                 clust_size     = 3,
175                 y_min          = -31000,
176                 y_max          = 64,
177         })
178
179         minetest.register_ore({
180                 ore_type       = "scatter",
181                 ore            = "default:stone_with_coal",
182                 wherein        = "default:stone",
183                 clust_scarcity = 24 * 24 * 24,
184                 clust_num_ores = 27,
185                 clust_size     = 6,
186                 y_min          = -31000,
187                 y_max          = 0,
188         })
189
190         -- Iron
191
192         minetest.register_ore({
193                 ore_type       = "scatter",
194                 ore            = "default:stone_with_iron",
195                 wherein        = "default:stone",
196                 clust_scarcity = 9 * 9 * 9,
197                 clust_num_ores = 12,
198                 clust_size     = 3,
199                 y_min          = 1025,
200                 y_max          = 31000,
201         })
202
203         minetest.register_ore({
204                 ore_type       = "scatter",
205                 ore            = "default:stone_with_iron",
206                 wherein        = "default:stone",
207                 clust_scarcity = 7 * 7 * 7,
208                 clust_num_ores = 5,
209                 clust_size     = 3,
210                 y_min          = -31000,
211                 y_max          = 0,
212         })
213
214         minetest.register_ore({
215                 ore_type       = "scatter",
216                 ore            = "default:stone_with_iron",
217                 wherein        = "default:stone",
218                 clust_scarcity = 24 * 24 * 24,
219                 clust_num_ores = 27,
220                 clust_size     = 6,
221                 y_min          = -31000,
222                 y_max          = -64,
223         })
224
225         -- Copper
226
227         minetest.register_ore({
228                 ore_type       = "scatter",
229                 ore            = "default:stone_with_copper",
230                 wherein        = "default:stone",
231                 clust_scarcity = 9 * 9 * 9,
232                 clust_num_ores = 5,
233                 clust_size     = 3,
234                 y_min          = 1025,
235                 y_max          = 31000,
236         })
237
238         minetest.register_ore({
239                 ore_type       = "scatter",
240                 ore            = "default:stone_with_copper",
241                 wherein        = "default:stone",
242                 clust_scarcity = 12 * 12 * 12,
243                 clust_num_ores = 4,
244                 clust_size     = 3,
245                 y_min          = -63,
246                 y_max          = -16,
247         })
248
249         minetest.register_ore({
250                 ore_type       = "scatter",
251                 ore            = "default:stone_with_copper",
252                 wherein        = "default:stone",
253                 clust_scarcity = 9 * 9 * 9,
254                 clust_num_ores = 5,
255                 clust_size     = 3,
256                 y_min          = -31000,
257                 y_max          = -64,
258         })
259
260         -- Gold
261
262         minetest.register_ore({
263                 ore_type       = "scatter",
264                 ore            = "default:stone_with_gold",
265                 wherein        = "default:stone",
266                 clust_scarcity = 13 * 13 * 13,
267                 clust_num_ores = 5,
268                 clust_size     = 3,
269                 y_min          = 1025,
270                 y_max          = 31000,
271         })
272
273         minetest.register_ore({
274                 ore_type       = "scatter",
275                 ore            = "default:stone_with_gold",
276                 wherein        = "default:stone",
277                 clust_scarcity = 15 * 15 * 15,
278                 clust_num_ores = 3,
279                 clust_size     = 2,
280                 y_min          = -255,
281                 y_max          = -64,
282         })
283
284         minetest.register_ore({
285                 ore_type       = "scatter",
286                 ore            = "default:stone_with_gold",
287                 wherein        = "default:stone",
288                 clust_scarcity = 13 * 13 * 13,
289                 clust_num_ores = 5,
290                 clust_size     = 3,
291                 y_min          = -31000,
292                 y_max          = -256,
293         })
294
295         -- Mese crystal
296
297         minetest.register_ore({
298                 ore_type       = "scatter",
299                 ore            = "default:stone_with_mese",
300                 wherein        = "default:stone",
301                 clust_scarcity = 14 * 14 * 14,
302                 clust_num_ores = 5,
303                 clust_size     = 3,
304                 y_min          = 1025,
305                 y_max          = 31000,
306         })
307
308         minetest.register_ore({
309                 ore_type       = "scatter",
310                 ore            = "default:stone_with_mese",
311                 wherein        = "default:stone",
312                 clust_scarcity = 18 * 18 * 18,
313                 clust_num_ores = 3,
314                 clust_size     = 2,
315                 y_min          = -255,
316                 y_max          = -64,
317         })
318
319         minetest.register_ore({
320                 ore_type       = "scatter",
321                 ore            = "default:stone_with_mese",
322                 wherein        = "default:stone",
323                 clust_scarcity = 14 * 14 * 14,
324                 clust_num_ores = 5,
325                 clust_size     = 3,
326                 y_min          = -31000,
327                 y_max          = -256,
328         })
329
330         -- Diamond
331
332         minetest.register_ore({
333                 ore_type       = "scatter",
334                 ore            = "default:stone_with_diamond",
335                 wherein        = "default:stone",
336                 clust_scarcity = 15 * 15 * 15,
337                 clust_num_ores = 4,
338                 clust_size     = 3,
339                 y_min          = 1025,
340                 y_max          = 31000,
341         })
342
343         minetest.register_ore({
344                 ore_type       = "scatter",
345                 ore            = "default:stone_with_diamond",
346                 wherein        = "default:stone",
347                 clust_scarcity = 17 * 17 * 17,
348                 clust_num_ores = 4,
349                 clust_size     = 3,
350                 y_min          = -255,
351                 y_max          = -128,
352         })
353
354         minetest.register_ore({
355                 ore_type       = "scatter",
356                 ore            = "default:stone_with_diamond",
357                 wherein        = "default:stone",
358                 clust_scarcity = 15 * 15 * 15,
359                 clust_num_ores = 4,
360                 clust_size     = 3,
361                 y_min          = -31000,
362                 y_max          = -256,
363         })
364
365         -- Mese block
366
367         minetest.register_ore({
368                 ore_type       = "scatter",
369                 ore            = "default:mese",
370                 wherein        = "default:stone",
371                 clust_scarcity = 36 * 36 * 36,
372                 clust_num_ores = 3,
373                 clust_size     = 2,
374                 y_min          = 1025,
375                 y_max          = 31000,
376         })
377
378         minetest.register_ore({
379                 ore_type       = "scatter",
380                 ore            = "default:mese",
381                 wherein        = "default:stone",
382                 clust_scarcity = 36 * 36 * 36,
383                 clust_num_ores = 3,
384                 clust_size     = 2,
385                 y_min          = -31000,
386                 y_max          = -1024,
387         })
388 end
389
390
391 --
392 -- Register biomes
393 --
394
395 -- All mapgens except mgv6 and singlenode
396
397 function default.register_biomes()
398         minetest.clear_registered_biomes()
399
400         -- Icesheet
401
402         minetest.register_biome({
403                 name = "icesheet",
404                 node_dust = "default:snowblock",
405                 node_top = "default:snowblock",
406                 depth_top = 1,
407                 node_filler = "default:snowblock",
408                 depth_filler = 3,
409                 node_stone = "default:ice",
410                 node_water_top = "default:ice",
411                 depth_water_top = 10,
412                 --node_water = "",
413                 node_river_water = "default:ice",
414                 node_riverbed = "default:gravel",
415                 depth_riverbed = 2,
416                 y_min = -8,
417                 y_max = 31000,
418                 heat_point = 0,
419                 humidity_point = 73,
420         })
421
422         minetest.register_biome({
423                 name = "icesheet_ocean",
424                 node_dust = "default:snowblock",
425                 node_top = "default:sand",
426                 depth_top = 1,
427                 node_filler = "default:sand",
428                 depth_filler = 3,
429                 --node_stone = "",
430                 node_water_top = "default:ice",
431                 depth_water_top = 10,
432                 --node_water = "",
433                 --node_river_water = "",
434                 y_min = -112,
435                 y_max = -9,
436                 heat_point = 0,
437                 humidity_point = 73,
438         })
439
440         -- Tundra
441
442         minetest.register_biome({
443                 name = "tundra",
444                 node_dust = "default:snowblock",
445                 --node_top = ,
446                 --depth_top = ,
447                 --node_filler = ,
448                 --depth_filler = ,
449                 --node_stone = "",
450                 --node_water_top = "",
451                 --depth_water_top = ,
452                 --node_water = "",
453                 --node_river_water = "",
454                 node_riverbed = "default:gravel",
455                 depth_riverbed = 2,
456                 y_min = 2,
457                 y_max = 31000,
458                 heat_point = 0,
459                 humidity_point = 40,
460         })
461
462         minetest.register_biome({
463                 name = "tundra_beach",
464                 --node_dust = "",
465                 node_top = "default:gravel",
466                 depth_top = 1,
467                 node_filler = "default:gravel",
468                 depth_filler = 2,
469                 --node_stone = "",
470                 --node_water_top = "",
471                 --depth_water_top = ,
472                 --node_water = "",
473                 --node_river_water = "",
474                 node_riverbed = "default:gravel",
475                 depth_riverbed = 2,
476                 y_min = -3,
477                 y_max = 1,
478                 heat_point = 0,
479                 humidity_point = 40,
480         })
481
482         minetest.register_biome({
483                 name = "tundra_ocean",
484                 --node_dust = "",
485                 node_top = "default:sand",
486                 depth_top = 1,
487                 node_filler = "default:sand",
488                 depth_filler = 3,
489                 --node_stone = "",
490                 --node_water_top = "",
491                 --depth_water_top = ,
492                 --node_water = "",
493                 --node_river_water = "",
494                 node_riverbed = "default:gravel",
495                 depth_riverbed = 2,
496                 y_min = -112,
497                 y_max = -4,
498                 heat_point = 0,
499                 humidity_point = 40,
500         })
501
502         -- Taiga
503
504         minetest.register_biome({
505                 name = "taiga",
506                 node_dust = "default:snow",
507                 node_top = "default:dirt_with_snow",
508                 depth_top = 1,
509                 node_filler = "default:dirt",
510                 depth_filler = 3,
511                 --node_stone = "",
512                 --node_water_top = "",
513                 --depth_water_top = ,
514                 --node_water = "",
515                 --node_river_water = "",
516                 node_riverbed = "default:sand",
517                 depth_riverbed = 2,
518                 y_min = 2,
519                 y_max = 31000,
520                 heat_point = 25,
521                 humidity_point = 70,
522         })
523
524         minetest.register_biome({
525                 name = "taiga_ocean",
526                 --node_dust = "",
527                 node_top = "default:sand",
528                 depth_top = 1,
529                 node_filler = "default:sand",
530                 depth_filler = 3,
531                 --node_stone = "",
532                 --node_water_top = "",
533                 --depth_water_top = ,
534                 --node_water = "",
535                 --node_river_water = "",
536                 node_riverbed = "default:sand",
537                 depth_riverbed = 2,
538                 y_min = -112,
539                 y_max = 1,
540                 heat_point = 25,
541                 humidity_point = 70,
542         })
543
544         -- Snowy grassland
545
546         minetest.register_biome({
547                 name = "snowy_grassland",
548                 node_dust = "default:snow",
549                 node_top = "default:dirt_with_snow",
550                 depth_top = 1,
551                 node_filler = "default:dirt",
552                 depth_filler = 1,
553                 --node_stone = "",
554                 --node_water_top = "",
555                 --depth_water_top = ,
556                 --node_water = "",
557                 --node_river_water = "",
558                 node_riverbed = "default:sand",
559                 depth_riverbed = 2,
560                 y_min = 5,
561                 y_max = 31000,
562                 heat_point = 20,
563                 humidity_point = 35,
564         })
565
566         minetest.register_biome({
567                 name = "snowy_grassland_ocean",
568                 --node_dust = "",
569                 node_top = "default:sand",
570                 depth_top = 1,
571                 node_filler = "default:sand",
572                 depth_filler = 3,
573                 --node_stone = "",
574                 --node_water_top = "",
575                 --depth_water_top = ,
576                 --node_water = "",
577                 --node_river_water = "",
578                 node_riverbed = "default:sand",
579                 depth_riverbed = 2,
580                 y_min = -112,
581                 y_max = 4,
582                 heat_point = 20,
583                 humidity_point = 35,
584         })
585
586         -- Grassland
587
588         minetest.register_biome({
589                 name = "grassland",
590                 --node_dust = "",
591                 node_top = "default:dirt_with_grass",
592                 depth_top = 1,
593                 node_filler = "default:dirt",
594                 depth_filler = 1,
595                 --node_stone = "",
596                 --node_water_top = "",
597                 --depth_water_top = ,
598                 --node_water = "",
599                 --node_river_water = "",
600                 node_riverbed = "default:sand",
601                 depth_riverbed = 2,
602                 y_min = 6,
603                 y_max = 31000,
604                 heat_point = 50,
605                 humidity_point = 35,
606         })
607
608         minetest.register_biome({
609                 name = "grassland_dunes",
610                 --node_dust = "",
611                 node_top = "default:sand",
612                 depth_top = 1,
613                 node_filler = "default:sand",
614                 depth_filler = 2,
615                 --node_stone = "",
616                 --node_water_top = "",
617                 --depth_water_top = ,
618                 --node_water = "",
619                 --node_river_water = "",
620                 node_riverbed = "default:sand",
621                 depth_riverbed = 2,
622                 y_min = 5,
623                 y_max = 5,
624                 heat_point = 50,
625                 humidity_point = 35,
626         })
627
628         minetest.register_biome({
629                 name = "grassland_ocean",
630                 --node_dust = "",
631                 node_top = "default:sand",
632                 depth_top = 1,
633                 node_filler = "default:sand",
634                 depth_filler = 3,
635                 --node_stone = "",
636                 --node_water_top = "",
637                 --depth_water_top = ,
638                 --node_water = "",
639                 --node_river_water = "",
640                 node_riverbed = "default:sand",
641                 depth_riverbed = 2,
642                 y_min = -112,
643                 y_max = 4,
644                 heat_point = 50,
645                 humidity_point = 35,
646         })
647
648         -- Coniferous forest
649
650         minetest.register_biome({
651                 name = "coniferous_forest",
652                 --node_dust = "",
653                 node_top = "default:dirt_with_grass",
654                 depth_top = 1,
655                 node_filler = "default:dirt",
656                 depth_filler = 3,
657                 --node_stone = "",
658                 --node_water_top = "",
659                 --depth_water_top = ,
660                 --node_water = "",
661                 --node_river_water = "",
662                 node_riverbed = "default:sand",
663                 depth_riverbed = 2,
664                 y_min = 6,
665                 y_max = 31000,
666                 heat_point = 45,
667                 humidity_point = 70,
668         })
669
670         minetest.register_biome({
671                 name = "coniferous_forest_dunes",
672                 --node_dust = "",
673                 node_top = "default:sand",
674                 depth_top = 1,
675                 node_filler = "default:sand",
676                 depth_filler = 3,
677                 --node_stone = "",
678                 --node_water_top = "",
679                 --depth_water_top = ,
680                 --node_water = "",
681                 --node_river_water = "",
682                 node_riverbed = "default:sand",
683                 depth_riverbed = 2,
684                 y_min = 5,
685                 y_max = 5,
686                 heat_point = 45,
687                 humidity_point = 70,
688         })
689
690         minetest.register_biome({
691                 name = "coniferous_forest_ocean",
692                 --node_dust = "",
693                 node_top = "default:sand",
694                 depth_top = 1,
695                 node_filler = "default:sand",
696                 depth_filler = 3,
697                 --node_stone = "",
698                 --node_water_top = "",
699                 --depth_water_top = ,
700                 --node_water = "",
701                 --node_river_water = "",
702                 node_riverbed = "default:sand",
703                 depth_riverbed = 2,
704                 y_min = -112,
705                 y_max = 4,
706                 heat_point = 45,
707                 humidity_point = 70,
708         })
709
710         -- Deciduous forest
711
712         minetest.register_biome({
713                 name = "deciduous_forest",
714                 --node_dust = "",
715                 node_top = "default:dirt_with_grass",
716                 depth_top = 1,
717                 node_filler = "default:dirt",
718                 depth_filler = 3,
719                 --node_stone = "",
720                 --node_water_top = "",
721                 --depth_water_top = ,
722                 --node_water = "",
723                 --node_river_water = "",
724                 node_riverbed = "default:sand",
725                 depth_riverbed = 2,
726                 y_min = 1,
727                 y_max = 31000,
728                 heat_point = 60,
729                 humidity_point = 68,
730         })
731
732         minetest.register_biome({
733                 name = "deciduous_forest_shore",
734                 --node_dust = "",
735                 node_top = "default:dirt",
736                 depth_top = 1,
737                 node_filler = "default:dirt",
738                 depth_filler = 3,
739                 --node_stone = "",
740                 --node_water_top = "",
741                 --depth_water_top = ,
742                 --node_water = "",
743                 --node_river_water = "",
744                 node_riverbed = "default:sand",
745                 depth_riverbed = 2,
746                 y_min = -1,
747                 y_max = 0,
748                 heat_point = 60,
749                 humidity_point = 68,
750         })
751
752         minetest.register_biome({
753                 name = "deciduous_forest_ocean",
754                 --node_dust = "",
755                 node_top = "default:sand",
756                 depth_top = 1,
757                 node_filler = "default:sand",
758                 depth_filler = 3,
759                 --node_stone = "",
760                 --node_water_top = "",
761                 --depth_water_top = ,
762                 --node_water = "",
763                 --node_river_water = "",
764                 node_riverbed = "default:sand",
765                 depth_riverbed = 2,
766                 y_min = -112,
767                 y_max = -2,
768                 heat_point = 60,
769                 humidity_point = 68,
770         })
771
772         -- Desert
773
774         minetest.register_biome({
775                 name = "desert",
776                 --node_dust = "",
777                 node_top = "default:desert_sand",
778                 depth_top = 1,
779                 node_filler = "default:desert_sand",
780                 depth_filler = 1,
781                 node_stone = "default:desert_stone",
782                 --node_water_top = "",
783                 --depth_water_top = ,
784                 --node_water = "",
785                 --node_river_water = "",
786                 node_riverbed = "default:sand",
787                 depth_riverbed = 2,
788                 y_min = 5,
789                 y_max = 31000,
790                 heat_point = 92,
791                 humidity_point = 16,
792         })
793
794         minetest.register_biome({
795                 name = "desert_ocean",
796                 --node_dust = "",
797                 node_top = "default:sand",
798                 depth_top = 1,
799                 node_filler = "default:sand",
800                 depth_filler = 3,
801                 node_stone = "default:desert_stone",
802                 --node_water_top = "",
803                 --depth_water_top = ,
804                 --node_water = "",
805                 --node_river_water = "",
806                 node_riverbed = "default:sand",
807                 depth_riverbed = 2,
808                 y_min = -112,
809                 y_max = 4,
810                 heat_point = 92,
811                 humidity_point = 16,
812         })
813
814         -- Sandstone desert
815
816         minetest.register_biome({
817                 name = "sandstone_desert",
818                 --node_dust = "",
819                 node_top = "default:sand",
820                 depth_top = 1,
821                 node_filler = "default:sand",
822                 depth_filler = 0,
823                 node_stone = "default:sandstone",
824                 --node_water_top = "",
825                 --depth_water_top = ,
826                 --node_water = "",
827                 --node_river_water = "",
828                 node_riverbed = "default:sand",
829                 depth_riverbed = 2,
830                 y_min = 5,
831                 y_max = 31000,
832                 heat_point = 60,
833                 humidity_point = 0,
834         })
835
836         minetest.register_biome({
837                 name = "sandstone_desert_ocean",
838                 --node_dust = "",
839                 node_top = "default:sand",
840                 depth_top = 1,
841                 node_filler = "default:sand",
842                 depth_filler = 3,
843                 node_stone = "default:sandstone",
844                 --node_water_top = "",
845                 --depth_water_top = ,
846                 --node_water = "",
847                 --node_river_water = "",
848                 node_riverbed = "default:sand",
849                 depth_riverbed = 2,
850                 y_min = -112,
851                 y_max = 4,
852                 heat_point = 60,
853                 humidity_point = 0,
854         })
855
856         -- Cold desert
857
858         minetest.register_biome({
859                 name = "cold_desert",
860                 --node_dust = "",
861                 node_top = "default:silver_sand",
862                 depth_top = 1,
863                 node_filler = "default:silver_sand",
864                 depth_filler = 1,
865                 --node_stone = "",
866                 --node_water_top = "",
867                 --depth_water_top = ,
868                 --node_water = "",
869                 --node_river_water = "",
870                 node_riverbed = "default:sand",
871                 depth_riverbed = 2,
872                 y_min = 5,
873                 y_max = 31000,
874                 heat_point = 40,
875                 humidity_point = 0,
876         })
877
878         minetest.register_biome({
879                 name = "cold_desert_ocean",
880                 --node_dust = "",
881                 node_top = "default:sand",
882                 depth_top = 1,
883                 node_filler = "default:sand",
884                 depth_filler = 3,
885                 --node_stone = "",
886                 --node_water_top = "",
887                 --depth_water_top = ,
888                 --node_water = "",
889                 --node_river_water = "",
890                 node_riverbed = "default:sand",
891                 depth_riverbed = 2,
892                 y_min = -112,
893                 y_max = 4,
894                 heat_point = 40,
895                 humidity_point = 0,
896         })
897
898         -- Savanna
899
900         minetest.register_biome({
901                 name = "savanna",
902                 --node_dust = "",
903                 node_top = "default:dirt_with_dry_grass",
904                 depth_top = 1,
905                 node_filler = "default:dirt",
906                 depth_filler = 1,
907                 --node_stone = "",
908                 --node_water_top = "",
909                 --depth_water_top = ,
910                 --node_water = "",
911                 --node_river_water = "",
912                 node_riverbed = "default:sand",
913                 depth_riverbed = 2,
914                 y_min = 1,
915                 y_max = 31000,
916                 heat_point = 89,
917                 humidity_point = 42,
918         })
919
920         minetest.register_biome({
921                 name = "savanna_shore",
922                 --node_dust = "",
923                 node_top = "default:dirt",
924                 depth_top = 1,
925                 node_filler = "default:dirt",
926                 depth_filler = 3,
927                 --node_stone = "",
928                 --node_water_top = "",
929                 --depth_water_top = ,
930                 --node_water = "",
931                 --node_river_water = "",
932                 node_riverbed = "default:sand",
933                 depth_riverbed = 2,
934                 y_min = -1,
935                 y_max = 0,
936                 heat_point = 89,
937                 humidity_point = 42,
938         })
939
940         minetest.register_biome({
941                 name = "savanna_ocean",
942                 --node_dust = "",
943                 node_top = "default:sand",
944                 depth_top = 1,
945                 node_filler = "default:sand",
946                 depth_filler = 3,
947                 --node_stone = "",
948                 --node_water_top = "",
949                 --depth_water_top = ,
950                 --node_water = "",
951                 --node_river_water = "",
952                 node_riverbed = "default:sand",
953                 depth_riverbed = 2,
954                 y_min = -112,
955                 y_max = -2,
956                 heat_point = 89,
957                 humidity_point = 42,
958         })
959
960         -- Rainforest
961
962         minetest.register_biome({
963                 name = "rainforest",
964                 --node_dust = "",
965                 node_top = "default:dirt_with_grass",
966                 depth_top = 1,
967                 node_filler = "default:dirt",
968                 depth_filler = 3,
969                 --node_stone = "",
970                 --node_water_top = "",
971                 --depth_water_top = ,
972                 --node_water = "",
973                 --node_river_water = "",
974                 node_riverbed = "default:sand",
975                 depth_riverbed = 2,
976                 y_min = 1,
977                 y_max = 31000,
978                 heat_point = 86,
979                 humidity_point = 65,
980         })
981
982         minetest.register_biome({
983                 name = "rainforest_swamp",
984                 --node_dust = "",
985                 node_top = "default:dirt",
986                 depth_top = 1,
987                 node_filler = "default:dirt",
988                 depth_filler = 3,
989                 --node_stone = "",
990                 --node_water_top = "",
991                 --depth_water_top = ,
992                 --node_water = "",
993                 --node_river_water = "",
994                 node_riverbed = "default:sand",
995                 depth_riverbed = 2,
996                 y_min = -1,
997                 y_max = 0,
998                 heat_point = 86,
999                 humidity_point = 65,
1000         })
1001
1002         minetest.register_biome({
1003                 name = "rainforest_ocean",
1004                 --node_dust = "",
1005                 node_top = "default:sand",
1006                 depth_top = 1,
1007                 node_filler = "default:sand",
1008                 depth_filler = 3,
1009                 --node_stone = "",
1010                 --node_water_top = "",
1011                 --depth_water_top = ,
1012                 --node_water = "",
1013                 --node_river_water = "",
1014                 node_riverbed = "default:sand",
1015                 depth_riverbed = 2,
1016                 y_min = -112,
1017                 y_max = -2,
1018                 heat_point = 86,
1019                 humidity_point = 65,
1020         })
1021
1022         -- Underground
1023
1024         minetest.register_biome({
1025                 name = "underground",
1026                 --node_dust = "",
1027                 --node_top = "",
1028                 --depth_top = ,
1029                 --node_filler = "",
1030                 --depth_filler = ,
1031                 --node_stone = "",
1032                 --node_water_top = "",
1033                 --depth_water_top = ,
1034                 --node_water = "",
1035                 --node_river_water = "",
1036                 y_min = -31000,
1037                 y_max = -113,
1038                 heat_point = 50,
1039                 humidity_point = 50,
1040         })
1041 end
1042
1043
1044 --
1045 -- Register decorations
1046 --
1047
1048 -- Mgv6
1049
1050 function default.register_mgv6_decorations()
1051         minetest.clear_registered_decorations()
1052
1053         -- Papyrus
1054
1055         minetest.register_decoration({
1056                 deco_type = "simple",
1057                 place_on = {"default:dirt_with_grass"},
1058                 sidelen = 16,
1059                 noise_params = {
1060                         offset = -0.3,
1061                         scale = 0.7,
1062                         spread = {x = 100, y = 100, z = 100},
1063                         seed = 354,
1064                         octaves = 3,
1065                         persist = 0.7
1066                 },
1067                 y_min = 1,
1068                 y_max = 1,
1069                 decoration = "default:papyrus",
1070                 height = 2,
1071                 height_max = 4,
1072                 spawn_by = "default:water_source",
1073                 num_spawn_by = 1,
1074         })
1075
1076         -- Cacti
1077
1078         minetest.register_decoration({
1079                 deco_type = "simple",
1080                 place_on = {"default:desert_sand"},
1081                 sidelen = 16,
1082                 noise_params = {
1083                         offset = -0.012,
1084                         scale = 0.024,
1085                         spread = {x = 100, y = 100, z = 100},
1086                         seed = 230,
1087                         octaves = 3,
1088                         persist = 0.6
1089                 },
1090                 y_min = 1,
1091                 y_max = 30,
1092                 decoration = "default:cactus",
1093                 height = 3,
1094                 height_max = 4,
1095         })
1096
1097         -- Long grasses
1098
1099         for length = 1, 5 do
1100                 minetest.register_decoration({
1101                         deco_type = "simple",
1102                         place_on = {"default:dirt_with_grass"},
1103                         sidelen = 16,
1104                         noise_params = {
1105                                 offset = 0,
1106                                 scale = 0.007,
1107                                 spread = {x = 100, y = 100, z = 100},
1108                                 seed = 329,
1109                                 octaves = 3,
1110                                 persist = 0.6
1111                         },
1112                         y_min = 1,
1113                         y_max = 30,
1114                         decoration = "default:grass_"..length,
1115                 })
1116         end
1117
1118         -- Dry shrubs
1119
1120         minetest.register_decoration({
1121                 deco_type = "simple",
1122                 place_on = {"default:desert_sand", "default:dirt_with_snow"},
1123                 sidelen = 16,
1124                 noise_params = {
1125                         offset = 0,
1126                         scale = 0.035,
1127                         spread = {x = 100, y = 100, z = 100},
1128                         seed = 329,
1129                         octaves = 3,
1130                         persist = 0.6
1131                 },
1132                 y_min = 1,
1133                 y_max = 30,
1134                 decoration = "default:dry_shrub",
1135         })
1136 end
1137
1138
1139 -- All mapgens except mgv6
1140
1141 local function register_grass_decoration(offset, scale, length)
1142         minetest.register_decoration({
1143                 deco_type = "simple",
1144                 place_on = {"default:dirt_with_grass", "default:sand"},
1145                 sidelen = 16,
1146                 noise_params = {
1147                         offset = offset,
1148                         scale = scale,
1149                         spread = {x = 200, y = 200, z = 200},
1150                         seed = 329,
1151                         octaves = 3,
1152                         persist = 0.6
1153                 },
1154                 biomes = {"grassland", "grassland_dunes", "deciduous_forest",
1155                         "coniferous_forest", "coniferous_forest_dunes"},
1156                 y_min = 1,
1157                 y_max = 31000,
1158                 decoration = "default:grass_" .. length,
1159         })
1160 end
1161
1162 local function register_dry_grass_decoration(offset, scale, length)
1163         minetest.register_decoration({
1164                 deco_type = "simple",
1165                 place_on = {"default:dirt_with_dry_grass"},
1166                 sidelen = 16,
1167                 noise_params = {
1168                         offset = offset,
1169                         scale = scale,
1170                         spread = {x = 200, y = 200, z = 200},
1171                         seed = 329,
1172                         octaves = 3,
1173                         persist = 0.6
1174                 },
1175                 biomes = {"savanna"},
1176                 y_min = 1,
1177                 y_max = 31000,
1178                 decoration = "default:dry_grass_" .. length,
1179         })
1180 end
1181
1182
1183 function default.register_decorations()
1184         minetest.clear_registered_decorations()
1185
1186         -- Apple tree and log
1187
1188         minetest.register_decoration({
1189                 deco_type = "schematic",
1190                 place_on = {"default:dirt_with_grass"},
1191                 sidelen = 16,
1192                 noise_params = {
1193                         offset = 0.036,
1194                         scale = 0.022,
1195                         spread = {x = 250, y = 250, z = 250},
1196                         seed = 2,
1197                         octaves = 3,
1198                         persist = 0.66
1199                 },
1200                 biomes = {"deciduous_forest"},
1201                 y_min = 1,
1202                 y_max = 31000,
1203                 schematic = minetest.get_modpath("default") .. "/schematics/apple_tree.mts",
1204                 flags = "place_center_x, place_center_z",
1205         })
1206
1207         minetest.register_decoration({
1208                 deco_type = "schematic",
1209                 place_on = {"default:dirt_with_grass"},
1210                 sidelen = 16,
1211                 noise_params = {
1212                         offset = 0.0018,
1213                         scale = 0.0011,
1214                         spread = {x = 250, y = 250, z = 250},
1215                         seed = 2,
1216                         octaves = 3,
1217                         persist = 0.66
1218                 },
1219                 biomes = {"deciduous_forest"},
1220                 y_min = 1,
1221                 y_max = 31000,
1222                 schematic = minetest.get_modpath("default") .. "/schematics/apple_log.mts",
1223                 flags = "place_center_x",
1224                 rotation = "random",
1225         })
1226
1227         -- Jungle tree and log
1228
1229         minetest.register_decoration({
1230                 deco_type = "schematic",
1231                 place_on = {"default:dirt_with_grass", "default:dirt"},
1232                 sidelen = 80,
1233                 fill_ratio = 0.1,
1234                 biomes = {"rainforest", "rainforest_swamp"},
1235                 y_min = -1,
1236                 y_max = 31000,
1237                 schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts",
1238                 flags = "place_center_x, place_center_z",
1239                 rotation = "random",
1240         })
1241
1242         minetest.register_decoration({
1243                 deco_type = "schematic",
1244                 place_on = {"default:dirt_with_grass", "default:dirt"},
1245                 sidelen = 80,
1246                 fill_ratio = 0.005,
1247                 biomes = {"rainforest", "rainforest_swamp"},
1248                 y_min = 1,
1249                 y_max = 31000,
1250                 schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts",
1251                 flags = "place_center_x",
1252                 rotation = "random",
1253         })
1254
1255         -- Taiga and temperate coniferous forest pine tree and log
1256
1257         minetest.register_decoration({
1258                 deco_type = "schematic",
1259                 place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
1260                 sidelen = 16,
1261                 noise_params = {
1262                         offset = 0.036,
1263                         scale = 0.022,
1264                         spread = {x = 250, y = 250, z = 250},
1265                         seed = 2,
1266                         octaves = 3,
1267                         persist = 0.66
1268                 },
1269                 biomes = {"taiga", "coniferous_forest"},
1270                 y_min = 2,
1271                 y_max = 31000,
1272                 schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts",
1273                 flags = "place_center_x, place_center_z",
1274         })
1275
1276         minetest.register_decoration({
1277                 deco_type = "schematic",
1278                 place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
1279                 sidelen = 80,
1280                 noise_params = {
1281                         offset = 0.0018,
1282                         scale = 0.0011,
1283                         spread = {x = 250, y = 250, z = 250},
1284                         seed = 2,
1285                         octaves = 3,
1286                         persist = 0.66
1287                 },
1288                 biomes = {"taiga", "coniferous_forest"},
1289                 y_min = 1,
1290                 y_max = 31000,
1291                 schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts",
1292                 flags = "place_center_x",
1293                 rotation = "random",
1294         })
1295
1296         -- Acacia tree and log
1297
1298         minetest.register_decoration({
1299                 deco_type = "schematic",
1300                 place_on = {"default:dirt_with_dry_grass"},
1301                 sidelen = 16,
1302                 noise_params = {
1303                         offset = 0,
1304                         scale = 0.002,
1305                         spread = {x = 250, y = 250, z = 250},
1306                         seed = 2,
1307                         octaves = 3,
1308                         persist = 0.66
1309                 },
1310                 biomes = {"savanna"},
1311                 y_min = 1,
1312                 y_max = 31000,
1313                 schematic = minetest.get_modpath("default") .. "/schematics/acacia_tree.mts",
1314                 flags = "place_center_x, place_center_z",
1315                 rotation = "random",
1316         })
1317
1318         minetest.register_decoration({
1319                 deco_type = "schematic",
1320                 place_on = {"default:dirt_with_dry_grass"},
1321                 sidelen = 16,
1322                 noise_params = {
1323                         offset = 0,
1324                         scale = 0.001,
1325                         spread = {x = 250, y = 250, z = 250},
1326                         seed = 2,
1327                         octaves = 3,
1328                         persist = 0.66
1329                 },
1330                 biomes = {"savanna"},
1331                 y_min = 1,
1332                 y_max = 31000,
1333                 schematic = minetest.get_modpath("default") .. "/schematics/acacia_log.mts",
1334                 flags = "place_center_x",
1335                 rotation = "random",
1336         })
1337
1338         -- Aspen tree and log
1339
1340         minetest.register_decoration({
1341                 deco_type = "schematic",
1342                 place_on = {"default:dirt_with_grass"},
1343                 sidelen = 16,
1344                 noise_params = {
1345                         offset = 0.0,
1346                         scale = -0.015,
1347                         spread = {x = 250, y = 250, z = 250},
1348                         seed = 2,
1349                         octaves = 3,
1350                         persist = 0.66
1351                 },
1352                 biomes = {"deciduous_forest"},
1353                 y_min = 1,
1354                 y_max = 31000,
1355                 schematic = minetest.get_modpath("default") .. "/schematics/aspen_tree.mts",
1356                 flags = "place_center_x, place_center_z",
1357         })
1358
1359         minetest.register_decoration({
1360                 deco_type = "schematic",
1361                 place_on = {"default:dirt_with_grass"},
1362                 sidelen = 16,
1363                 noise_params = {
1364                         offset = 0.0,
1365                         scale = -0.0008,
1366                         spread = {x = 250, y = 250, z = 250},
1367                         seed = 2,
1368                         octaves = 3,
1369                         persist = 0.66
1370                 },
1371                 biomes = {"deciduous_forest"},
1372                 y_min = 1,
1373                 y_max = 31000,
1374                 schematic = minetest.get_modpath("default") .. "/schematics/aspen_log.mts",
1375                 flags = "place_center_x",
1376                 rotation = "random",
1377         })
1378
1379         -- Large cactus
1380
1381         minetest.register_decoration({
1382                 deco_type = "schematic",
1383                 place_on = {"default:desert_sand"},
1384                 sidelen = 16,
1385                 noise_params = {
1386                         offset = -0.0003,
1387                         scale = 0.0009,
1388                         spread = {x = 200, y = 200, z = 200},
1389                         seed = 230,
1390                         octaves = 3,
1391                         persist = 0.6
1392                 },
1393                 biomes = {"desert"},
1394                 y_min = 5,
1395                 y_max = 31000,
1396                 schematic = minetest.get_modpath("default") .. "/schematics/large_cactus.mts",
1397                 flags = "place_center_x",
1398                 rotation = "random",
1399         })
1400
1401         -- Cactus
1402
1403         minetest.register_decoration({
1404                 deco_type = "simple",
1405                 place_on = {"default:desert_sand"},
1406                 sidelen = 16,
1407                 noise_params = {
1408                         offset = -0.0003,
1409                         scale = 0.0009,
1410                         spread = {x = 200, y = 200, z = 200},
1411                         seed = 230,
1412                         octaves = 3,
1413                         persist = 0.6
1414                 },
1415                 biomes = {"desert"},
1416                 y_min = 5,
1417                 y_max = 31000,
1418                 decoration = "default:cactus",
1419                 height = 2,
1420                 height_max = 5,
1421         })
1422
1423         -- Papyrus
1424
1425         minetest.register_decoration({
1426                 deco_type = "schematic",
1427                 place_on = {"default:dirt"},
1428                 sidelen = 16,
1429                 noise_params = {
1430                         offset = -0.3,
1431                         scale = 0.7,
1432                         spread = {x = 200, y = 200, z = 200},
1433                         seed = 354,
1434                         octaves = 3,
1435                         persist = 0.7
1436                 },
1437                 biomes = {"savanna_shore"},
1438                 y_min = 0,
1439                 y_max = 0,
1440                 schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts",
1441         })
1442
1443         -- Bush
1444
1445         minetest.register_decoration({
1446                 deco_type = "schematic",
1447                 place_on = {"default:dirt_with_grass", "default:dirt_with_snow"},
1448                 sidelen = 16,
1449                 noise_params = {
1450                         offset = -0.004,
1451                         scale = 0.01,
1452                         spread = {x = 100, y = 100, z = 100},
1453                         seed = 137,
1454                         octaves = 3,
1455                         persist = 0.7,
1456                 },
1457                 biomes = {"snowy_grassland", "grassland", "deciduous_forest"},
1458                 y_min = 1,
1459                 y_max = 31000,
1460                 schematic = minetest.get_modpath("default") .. "/schematics/bush.mts",
1461                 flags = "place_center_x, place_center_z",
1462         })
1463
1464         -- Acacia bush
1465
1466         minetest.register_decoration({
1467                 deco_type = "schematic",
1468                 place_on = {"default:dirt_with_dry_grass"},
1469                 sidelen = 16,
1470                 noise_params = {
1471                         offset = -0.004,
1472                         scale = 0.01,
1473                         spread = {x = 100, y = 100, z = 100},
1474                         seed = 90155,
1475                         octaves = 3,
1476                         persist = 0.7,
1477                 },
1478                 biomes = {"savanna"},
1479                 y_min = 1,
1480                 y_max = 31000,
1481                 schematic = minetest.get_modpath("default") .. "/schematics/acacia_bush.mts",
1482                 flags = "place_center_x, place_center_z",
1483         })
1484
1485         -- Grasses
1486
1487         register_grass_decoration(-0.03,  0.09,  5)
1488         register_grass_decoration(-0.015, 0.075, 4)
1489         register_grass_decoration(0,      0.06,  3)
1490         register_grass_decoration(0.015,  0.045, 2)
1491         register_grass_decoration(0.03,   0.03,  1)
1492
1493         -- Dry grasses
1494
1495         register_dry_grass_decoration(0.01, 0.05,  5)
1496         register_dry_grass_decoration(0.03, 0.03,  4)
1497         register_dry_grass_decoration(0.05, 0.01,  3)
1498         register_dry_grass_decoration(0.07, -0.01, 2)
1499         register_dry_grass_decoration(0.09, -0.03, 1)
1500
1501         -- Junglegrass
1502
1503         minetest.register_decoration({
1504                 deco_type = "simple",
1505                 place_on = {"default:dirt_with_grass"},
1506                 sidelen = 80,
1507                 fill_ratio = 0.1,
1508                 biomes = {"rainforest"},
1509                 y_min = 1,
1510                 y_max = 31000,
1511                 decoration = "default:junglegrass",
1512         })
1513
1514         -- Dry shrub
1515
1516         minetest.register_decoration({
1517                 deco_type = "simple",
1518                 place_on = {"default:desert_sand",
1519                         "default:sand", "default:silver_sand"},
1520                 sidelen = 16,
1521                 noise_params = {
1522                         offset = 0,
1523                         scale = 0.02,
1524                         spread = {x = 200, y = 200, z = 200},
1525                         seed = 329,
1526                         octaves = 3,
1527                         persist = 0.6
1528                 },
1529                 biomes = {"desert", "sandstone_desert", "cold_desert"},
1530                 y_min = 2,
1531                 y_max = 31000,
1532                 decoration = "default:dry_shrub",
1533         })
1534
1535         -- Coral reef
1536
1537         minetest.register_decoration({
1538                 deco_type = "schematic",
1539                 place_on = {"default:sand"},
1540                 noise_params = {
1541                         offset = -0.1,
1542                         scale = 0.1,
1543                         spread = {x = 200, y = 200, z = 200},
1544                         seed = 7013,
1545                         octaves = 3,
1546                         persist = 1,
1547                 },
1548                 biomes = {
1549                         "desert_ocean",
1550                         "savanna_ocean",
1551                         "rainforest_ocean",
1552                 },
1553                 y_min = -8,
1554                 y_max = -2,
1555                 schematic = minetest.get_modpath("default") .. "/schematics/corals.mts",
1556                 flags = "place_center_x, place_center_z",
1557                 rotation = "random",
1558         })
1559 end
1560
1561
1562 --
1563 -- Detect mapgen to select functions
1564 --
1565
1566 local mg_name = minetest.get_mapgen_setting("mg_name")
1567 if mg_name == "v6" then
1568         default.register_ores()
1569         default.register_mgv6_decorations()
1570 else
1571         default.register_biomes()
1572         default.register_ores()
1573         default.register_decorations()
1574 end