Rename mod: walls → hades_walls
[minetest_hades/hades_revisited.git] / mods / hades_mapgen / init.lua
blob4d3204464136eb10754c5ca2b48147be7bf600fe
1 -- mods/default/mapgen.lua
3 --
4 -- Aliases for map generator outputs
5 --
6 minetest.register_alias("mapgen_air", "air")
7 minetest.register_alias("mapgen_stone", "hades_core:stone")
8 minetest.register_alias("mapgen_dirt", "hades_core:ash")
9 minetest.register_alias("mapgen_dirt_with_grass", "hades_core:ash")
10 minetest.register_alias("mapgen_sand", "hades_core:ash")
11 minetest.register_alias("mapgen_water_source", "hades_core:lava_source")
12 minetest.register_alias("mapgen_river_water_source", "hades_core:lava_source")
13 minetest.register_alias("mapgen_lava_source", "hades_core:lava_source")
14 minetest.register_alias("mapgen_gravel", "hades_core:lava_source")
15 minetest.register_alias("mapgen_desert_stone", "hades_core:stone")
16 minetest.register_alias("mapgen_desert_sand", "hades_core:ash")
17 minetest.register_alias("mapgen_dirt_with_snow", "hades_core:ash")
18 minetest.register_alias("mapgen_snowblock", "hades_core:ash")
19 minetest.register_alias("mapgen_snow", "hades_core:ash")
20 minetest.register_alias("mapgen_ice", "hades_core:stone")
21 minetest.register_alias("mapgen_sandstone", "hades_core:tuff")
23 -- Flora
25 minetest.register_alias("mapgen_tree", "air")
26 minetest.register_alias("mapgen_leaves", "air")
27 minetest.register_alias("mapgen_apple", "air")
28 minetest.register_alias("mapgen_jungletree", "air")
29 minetest.register_alias("mapgen_jungleleaves", "air")
30 minetest.register_alias("mapgen_junglegrass", "air")
31 minetest.register_alias("mapgen_pine_tree", "air")
32 minetest.register_alias("mapgen_pine_needles", "air")
34 -- Dungeons
36 minetest.register_alias("mapgen_cobble", "hades_core:cobble")
37 minetest.register_alias("mapgen_stair_cobble", "hades_stairs:stair_cobble")
38 minetest.register_alias("mapgen_mossycobble", "hades_core:stone")
39 minetest.register_alias("mapgen_sandstonebrick", "hades_core:stone")
40 minetest.register_alias("mapgen_stair_sandstonebrick", "hades_stairs:stair_stone")
41 minetest.register_alias("mapgen_stair_sandstone_block", "hades_stairs:stair_stone")
42 minetest.register_alias("mapgen_stair_desert_stone", "hades_stairs:stair_stone")
44 if minetest.get_mapgen_setting("mg_name") ~= "singlenode" then
45 -- Warning: override_meta set to `true`. Tread carefully when changing the parameter values.
46 minetest.set_mapgen_setting("mg_name", "v6", true)
47 minetest.set_mapgen_setting("mg_flags", "nodungeons,notrees,caves,decorations,nobiomes", true)
48 minetest.set_mapgen_setting("mgv6_spflags", "nomudflow,nosnowbiomes,notrees,nojungles", true)
49 minetest.set_mapgen_setting("water_level", "-5", true)
50 end
53 -- Ore generation
56 minetest.register_ore({
57 ore_type = "scatter",
58 ore = "hades_core:stone_with_emerald",
59 wherein = "hades_core:stone",
60 clust_scarcity = 24*24*24,
61 clust_num_ores = 1,
62 clust_size = 2,
63 y_min = -31000,
64 y_max = 20,
67 minetest.register_ore({
68 ore_type = "scatter",
69 ore = "hades_core:stone_with_emerald",
70 wherein = "hades_core:stone",
71 clust_scarcity =16*16*16,
72 clust_num_ores = 2,
73 clust_size = 3,
74 y_min = -31000,
75 y_max = -50,
76 flags = "absheight",
79 minetest.register_ore({
80 ore_type = "scatter",
81 ore = "hades_core:stone_with_sapphire",
82 wherein = "hades_core:stone",
83 clust_scarcity = 24*24*24,
84 clust_num_ores = 1,
85 clust_size = 2,
86 y_min = -31000,
87 y_max = -300,
90 minetest.register_ore({
91 ore_type = "scatter",
92 ore = "hades_core:stone_with_sapphire",
93 wherein = "hades_core:stone",
94 clust_scarcity =16*16*16,
95 clust_num_ores = 2,
96 clust_size = 3,
97 y_min = -31000,
98 y_max = -550,
99 flags = "absheight",
102 minetest.register_ore({
103 ore_type = "scatter",
104 ore = "hades_core:stone_with_diamond",
105 wherein = "hades_core:stone",
106 clust_scarcity = 24*24*24,
107 clust_num_ores = 1,
108 clust_size = 2,
109 y_min = -31000,
110 y_max = -1200,
113 minetest.register_ore({
114 ore_type = "scatter",
115 ore = "hades_core:stone_with_diamond",
116 wherein = "hades_core:stone",
117 clust_scarcity =16*16*16,
118 clust_num_ores = 2,
119 clust_size = 3,
120 y_min = -31000,
121 y_max = -5000,
122 flags = "absheight",
125 minetest.register_ore({
126 ore_type = "scatter",
127 ore = "hades_core:stone_with_ruby",
128 wherein = "hades_core:stone",
129 clust_scarcity = 24*24*24,
130 clust_num_ores = 1,
131 clust_size = 2,
132 y_min = -31000,
133 y_max = -900,
136 minetest.register_ore({
137 ore_type = "scatter",
138 ore = "hades_core:stone_with_ruby",
139 wherein = "hades_core:stone",
140 clust_scarcity =16*16*16,
141 clust_num_ores = 2,
142 clust_size = 3,
143 y_min = -31000,
144 y_max = -3000,
145 flags = "absheight",
148 minetest.register_ore({
149 ore_type = "scatter",
150 ore = "hades_core:stone_with_coal",
151 wherein = "hades_core:stone",
152 clust_scarcity = 8*8*8,
153 clust_num_ores = 8,
154 clust_size = 3,
155 y_min = -31000,
156 y_max = 64,
157 flags = "absheight",
161 minetest.register_ore({
162 ore_type = "scatter",
163 ore = "hades_core:stone_with_coal",
164 wherein = "hades_core:stone",
165 clust_scarcity = 12*12*12,
166 clust_num_ores = 16,
167 clust_size = 6,
168 y_min = -31000,
169 y_max = 0,
170 flags = "absheight",
173 minetest.register_ore({
174 ore_type = "scatter",
175 ore = "hades_core:stone_with_coal",
176 wherein = "hades_core:stone",
177 clust_scarcity = 24*24*24,
178 clust_num_ores = 27,
179 clust_size = 6,
180 y_min = -31000,
181 y_max = -3000,
182 flags = "absheight",
186 minetest.register_ore({
187 ore_type = "scatter",
188 ore = "hades_core:stone_with_iron",
189 wherein = "hades_core:stone",
190 clust_scarcity = 12*12*12,
191 clust_num_ores = 3,
192 clust_size = 2,
193 y_min = -25,
194 y_max = -2,
198 minetest.register_ore({
199 ore_type = "scatter",
200 ore = "hades_core:stone_with_iron",
201 wherein = "hades_core:stone",
202 clust_scarcity = 9*9*9,
203 clust_num_ores = 3,
204 clust_size = 3,
205 y_min = -63,
206 y_max = -26,
210 minetest.register_ore({
211 ore_type = "scatter",
212 ore = "hades_core:stone_with_iron",
213 wherein = "hades_core:stone",
214 clust_scarcity = 7*7*7,
215 clust_num_ores = 5,
216 clust_size = 3,
217 y_min = -31000,
218 y_max = -64,
219 flags = "absheight",
223 minetest.register_ore({
224 ore_type = "scatter",
225 ore = "hades_core:stone_with_iron",
226 wherein = "hades_core:stone",
227 clust_scarcity = 24*24*24,
228 clust_num_ores = 27,
229 clust_size = 6,
230 y_min = -31000,
231 y_max = -800,
232 flags = "absheight",
236 minetest.register_ore({
237 ore_type = "scatter",
238 ore = "hades_core:stone_with_mese",
239 wherein = "hades_core:stone",
240 clust_scarcity = 18*18*18,
241 clust_num_ores = 2,
242 clust_size = 2,
243 y_min = -355,
244 y_max = -204,
245 flags = "absheight",
249 minetest.register_ore({
250 ore_type = "scatter",
251 ore = "hades_core:stone_with_mese",
252 wherein = "hades_core:stone",
253 clust_scarcity = 14*14*14,
254 clust_num_ores = 3,
255 clust_size = 2,
256 y_min = -31000,
257 y_max = -356,
258 flags = "absheight",
262 minetest.register_ore({
263 ore_type = "scatter",
264 ore = "hades_core:mese",
265 wherein = "hades_core:stone",
266 clust_scarcity = 36*36*36,
267 clust_num_ores = 5,
268 clust_size = 2,
269 y_min = -31000,
270 y_max = -5000,
271 flags = "absheight",
275 minetest.register_ore({
276 ore_type = "scatter",
277 ore = "hades_core:stone_with_gold",
278 wherein = "hades_core:stone",
279 clust_scarcity = 15*15*15,
280 clust_num_ores = 1,
281 clust_size = 2,
282 y_min = -666,
283 y_max = -333,
287 minetest.register_ore({
288 ore_type = "scatter",
289 ore = "hades_core:stone_with_gold",
290 wherein = "hades_core:stone",
291 clust_scarcity = 13*13*13,
292 clust_num_ores = 5,
293 clust_size = 3,
294 y_min = -31000,
295 y_max = -666,
296 flags = "absheight",
299 minetest.register_ore({
300 ore_type = "scatter",
301 ore = "hades_core:stone_with_diamond",
302 wherein = "hades_core:stone",
303 clust_scarcity = 15*15*15,
304 clust_num_ores = 4,
305 clust_size = 3,
306 y_min = -31000,
307 y_max = -10000,
308 flags = "absheight",
311 minetest.register_ore({
312 ore_type = "scatter",
313 ore = "hades_core:stone_with_emerald",
314 wherein = "hades_core:stone",
315 clust_scarcity = 15*15*15,
316 clust_num_ores = 4,
317 clust_size = 3,
318 y_min = -31000,
319 y_max = -10000,
320 flags = "absheight",
323 minetest.register_ore({
324 ore_type = "scatter",
325 ore = "hades_core:stone_with_sapphire",
326 wherein = "hades_core:stone",
327 clust_scarcity = 15*15*15,
328 clust_num_ores = 4,
329 clust_size = 3,
330 y_min = -31000,
331 y_max = -10000,
332 flags = "absheight",
335 minetest.register_ore({
336 ore_type = "scatter",
337 ore = "hades_core:stone_with_ruby",
338 wherein = "hades_core:stone",
339 clust_scarcity = 15*15*15,
340 clust_num_ores = 4,
341 clust_size = 3,
342 y_min = -31000,
343 y_max = -10000,
344 flags = "absheight",
347 minetest.register_ore({
348 ore_type = "scatter",
349 ore = "hades_core:stone_with_copper",
350 wherein = "hades_core:stone",
351 clust_scarcity = 12*12*12,
352 clust_num_ores = 4,
353 clust_size = 3,
354 y_min = -163,
355 y_max = -116,
359 minetest.register_ore({
360 ore_type = "scatter",
361 ore = "hades_core:stone_with_copper",
362 wherein = "hades_core:stone",
363 clust_scarcity = 9*9*9,
364 clust_num_ores = 5,
365 clust_size = 3,
366 y_min = -31000,
367 y_max = -164,
368 flags = "absheight",
371 minetest.register_ore({
372 ore_type = "scatter",
373 ore = "hades_core:stone_with_copper",
374 wherein = "hades_core:stone",
375 clust_scarcity = 9*9*9,
376 clust_num_ores = 5,
377 clust_size = 3,
378 y_min = -31000,
379 y_max = -1900,
380 flags = "absheight",
383 minetest.register_ore({
384 ore_type = "scatter",
385 ore = "hades_core:stone_with_tin",
386 wherein = "hades_core:stone",
387 clust_scarcity = 12*12*12,
388 clust_num_ores = 4,
389 clust_size = 3,
390 y_min = -163,
391 y_max = -116,
395 minetest.register_ore({
396 ore_type = "scatter",
397 ore = "hades_core:stone_with_tin",
398 wherein = "hades_core:stone",
399 clust_scarcity = 9*9*9,
400 clust_num_ores = 5,
401 clust_size = 3,
402 y_min = -31000,
403 y_max = -164,
404 flags = "absheight",
407 minetest.register_ore({
408 ore_type = "scatter",
409 ore = "hades_core:stone_with_tin",
410 wherein = "hades_core:stone",
411 clust_scarcity = 9*9*9,
412 clust_num_ores = 5,
413 clust_size = 3,
414 y_min = -31000,
415 y_max = -1900,
416 flags = "absheight",
419 -- if minetest.settings:get("mg_name") == "indev" then
420 -- Floatlands and high mountains springs
422 minetest.register_ore({
423 ore_type = "blob",
424 ore = "hades_core:lava_source",
425 wherein = {"hades_core:stone"},
426 clust_scarcity = 25* 25 * 25,
427 clust_size = 5,
428 y_min = -10,
429 y_max = 31000,
430 noise_threshold = 0.0,
431 noise_params = {
432 offset = 0.5,
433 scale = 0.2,
434 spread = {x = 5, y = 5, z = 5},
435 seed = 666,
436 octaves = 1,
437 persist = 0.0
442 minetest.register_ore({
443 ore_type = "scatter",
444 ore = "hades_core:ash",
445 wherein = "hades_core:stone",
446 clust_scarcity = 20*20*20,
447 clust_num_ores = 5*5*3,
448 clust_size = 5,
449 y_min = -120,
450 y_max = 31000,
454 minetest.register_ore({
455 ore_type = "scatter",
456 ore = "hades_core:tuff",
457 ore_param2 = 128,
458 wherein = "hades_core:stone",
459 clust_scarcity = 25*25*25,
460 clust_num_ores = 10000,
461 clust_size = 12,
462 y_min = -100,
463 y_max = 31000,
466 minetest.register_ore({
467 ore_type = "scatter",
468 ore = "hades_core:chondrite",
469 ore_param2 = 128,
470 wherein = "hades_core:stone",
471 clust_scarcity = 10*10*10,
472 clust_num_ores = 50,
473 clust_size = 10,
474 y_min = -149,
475 y_max = 10,
476 flags = "absheight",
479 minetest.register_ore({
480 ore_type = "scatter",
481 ore = "hades_core:chondrite",
482 ore_param2 = 128,
483 wherein = "hades_core:stone",
484 clust_scarcity = 20*20*20,
485 clust_num_ores = 550,
486 clust_size = 10,
487 y_min = -31000,
488 y_max = -150,
489 flags = "absheight",
492 minetest.register_ore({
493 ore_type = "scatter",
494 ore = "hades_core:chondrite",
495 ore_param2 = 128,
496 wherein = "hades_core:stone",
497 clust_scarcity = 20*20*20,
498 clust_num_ores = 650,
499 clust_size = 10,
500 y_min = -31000,
501 y_max = -10000,
502 flags = "absheight",
505 minetest.register_ore({
506 ore_type = "scatter",
507 ore = "hades_core:essexite",
508 ore_param2 = 128,
509 wherein = "hades_core:stone",
510 clust_scarcity = 10*10*10,
511 clust_num_ores = 50,
512 clust_size = 5,
513 y_min = -350,
514 y_max = -300,
517 minetest.register_ore({
518 ore_type = "scatter",
519 ore = "hades_core:essexite",
520 ore_param2 = 128,
521 wherein = "hades_core:stone",
522 clust_scarcity = 10*10*10,
523 clust_num_ores = 500,
524 clust_size = 10,
525 y_min = -31000,
526 y_max = -600,
527 flags = "absheight",
530 minetest.register_ore({
531 ore_type = "scatter",
532 ore = "hades_core:essexite",
533 ore_param2 = 128,
534 wherein = "hades_core:stone",
535 clust_scarcity = 20*10*20,
536 clust_num_ores = 950,
537 clust_size = 10,
538 y_min = -31000,
539 y_max = -10000,
540 flags = "absheight",
543 minetest.register_ore({
544 ore_type = "scatter",
545 ore = "hades_glowcrystals:glowcrystal_ore",
546 wherein = "hades_core:essexite",
547 clust_scarcity = 9*9*9,
548 clust_num_ores = 4,
549 clust_size = 3,
550 y_min = -31000,
551 y_max = -5000,
553 minetest.register_ore({
554 ore_type = "scatter",
555 ore = "hades_glowcrystals:glowcrystal_ore",
556 wherein = "hades_core:essexite",
557 clust_scarcity = 24*24*24,
558 clust_num_ores = 27,
559 clust_size = 6,
560 y_min = -31000,
561 y_max = -10000,
562 flags = "absheight",
566 minetest.register_ore({
567 ore_type = "scatter",
568 ore = "hades_core:basalt",
569 wherein = "hades_core:stone",
570 clust_scarcity = 9*9*9,
571 clust_num_ores = 50,
572 clust_size = 4,
573 y_min = -200,
574 y_max = -300,
576 minetest.register_ore({
577 ore_type = "scatter",
578 ore = "hades_core:basalt",
579 wherein = "hades_core:stone",
580 clust_scarcity = 9*9*9,
581 clust_num_ores = 500,
582 clust_size = 10,
583 y_min = -300,
584 y_max = -31000,
586 minetest.register_ore({
587 ore_type = "scatter",
588 ore = "hades_core:basalt",
589 wherein = "hades_core:stone",
590 clust_scarcity = 18*10*18,
591 clust_num_ores = 950,
592 clust_size = 10,
593 y_min = -31000,
594 y_max = -500,
595 flags = "absheight",
598 -- Color stones
599 local colorstones = {
600 "cinnaber", "orangite", "apolline", "olivine", "turquosite", "azurite", "lillite"
602 local cy = -500
603 for c=1, #colorstones do
604 minetest.register_ore({
605 ore_type = "scatter",
606 ore = "hades_core:"..colorstones[c],
607 wherein = {"hades_core:stone", "hades_core:essexite", "hades_core:basalt"},
608 clust_scarcity = 9*9*9,
609 clust_num_ores = 50,
610 clust_size = 4,
611 y_min = cy - (c-1)*50 - 50,
612 y_max = cy - (c-1)*50,
617 minetest.register_ore({
618 ore_type = "scatter",
619 ore = "hades_core:gravel",
620 ore_param2 = 128,
621 wherein = "hades_core:stone",
622 clust_scarcity = 20*5*20,
623 clust_num_ores = 150,
624 clust_size = 10,
625 y_min = -10,
626 y_max = 0,
629 minetest.register_ore({
630 ore_type = "scatter",
631 ore = "hades_core:gravel",
632 ore_param2 = 128,
633 wherein = "hades_core:stone",
634 clust_scarcity = 20*5*20,
635 clust_num_ores = 350,
636 clust_size = 10,
637 y_min = -70,
638 y_max = -50,
641 minetest.register_ore({
642 ore_type = "scatter",
643 ore = "hades_core:gravel",
644 ore_param2 = 128,
645 wherein = "hades_core:stone",
646 clust_scarcity = 20*10*20,
647 clust_num_ores = 500,
648 clust_size = 10,
649 y_min = -140,
650 y_max = -120,
653 -- Underground springs
654 minetest.register_ore({
655 ore_type = "scatter",
656 ore = "hades_core:water_source",
657 ore_param2 = 128,
658 wherein = "hades_core:stone",
659 clust_scarcity = 25*25*25,
660 clust_num_ores = 8,
661 clust_size = 3,
662 y_min = -10000,
663 y_max = -10,
666 minetest.register_ore({
667 ore_type = "blob",
668 ore = "hades_core:lava_source",
669 wherein = {"hades_core:stone"},
670 clust_scarcity = 25* 25 * 25,
671 clust_size = 10,
672 y_min = -30000,
673 y_max = -10,
674 noise_threshold = 0.2,
675 noise_params = {
676 offset = 0.5,
677 scale = 0.2,
678 spread = {x = 500, y = 500, z = 500},
679 seed = 666,
680 octaves = 1,
681 persist = 0.0
685 --DECO
687 minetest.register_decoration({
688 deco_type = "simple",
689 place_on = {"hades_core:stone"},
690 sidelen = 16,
691 noise_params = {
692 offset = 0.5,
693 scale = 0.2,
694 spread = {x = 5, y = 5, z = 5},
695 seed = 333,
696 octaves = 1,
697 persist = 0.0
699 y_min = 1,
700 y_max = 100,
701 decoration = "hades_core:basalt",
702 height = 3,
703 height_max = 4,
706 minetest.register_decoration({
707 deco_type = "simple",
708 place_on = {"hades_core:stone"},
709 sidelen = 16,
710 noise_params = {
711 offset = 0.5,
712 scale = 0.2,
713 spread = {x = 5, y = 5, z = 5},
714 seed = 555,
715 octaves = 1,
716 persist = 0.0
718 y_min = 1,
719 y_max = 100,
720 decoration = "hades_core:ash",