Fix broken marsh/swamp beaches
[Pixture/pixture_revival.git] / mods / rp_default / mapgen.lua
blob8c3ed95b046a239a254adf116b9fa017118e8cbb
2 --
3 -- Mapgen
4 --
6 -- Uncomment this to cut a big portion of ground out for visualizing ore spawning
8 --[[
9 local function on_generated(minp, maxp, blockseed)
10 for x = minp.x, maxp.x do
11 if x > 0 then
12 return
13 end
15 for z = minp.z, maxp.z do
16 if z > -16 and z < 16 then
17 for y = minp.y, maxp.y do
18 minetest.remove_node({x = x, y = y, z = z})
19 end
20 end
21 end
22 end
23 end
25 minetest.register_on_generated(on_generated)
26 --]]
28 -- Aliases for map generator outputs
30 minetest.register_alias("mapgen_stone", "rp_default:stone")
31 minetest.register_alias("mapgen_desert_stone", "rp_default:sandstone")
32 minetest.register_alias("mapgen_desert_sand", "rp_default:sand")
33 minetest.register_alias("mapgen_sandstone", "rp_default:sandstone")
34 minetest.register_alias("mapgen_sandstonebrick", "rp_default:compressed_sandstone")
35 minetest.register_alias("mapgen_cobble", "rp_default:cobble")
36 minetest.register_alias("mapgen_gravel", "rp_default:gravel")
37 minetest.register_alias("mapgen_mossycobble", "rp_default:cobble")
38 minetest.register_alias("mapgen_dirt", "rp_default:dirt")
39 minetest.register_alias("mapgen_dirt_with_grass", "rp_default:dirt_with_grass")
40 minetest.register_alias("mapgen_sand", "rp_default:sand")
41 minetest.register_alias("mapgen_snow", "air")
42 minetest.register_alias("mapgen_snowblock", "rp_default:dirt_with_grass")
43 minetest.register_alias("mapgen_dirt_with_snow", "rp_default:dirt_with_grass")
44 minetest.register_alias("mapgen_ice", "rp_default:water_source")
45 minetest.register_alias("mapgen_tree", "rp_default:tree")
46 minetest.register_alias("mapgen_leaves", "rp_default:leaves")
47 minetest.register_alias("mapgen_apple", "rp_default:apple")
48 minetest.register_alias("mapgen_jungletree", "rp_default:tree_birch")
49 minetest.register_alias("mapgen_jungleleaves", "rp_default:leaves_birch")
50 minetest.register_alias("mapgen_junglegrass", "rp_default:tall_grass")
51 minetest.register_alias("mapgen_pine_tree", "rp_default:tree_oak")
52 minetest.register_alias("mapgen_pine_needles", "rp_default:leaves_oak")
54 minetest.register_alias("mapgen_water_source", "rp_default:water_source")
55 minetest.register_alias("mapgen_river_water_source", "rp_default:river_water_source")
57 minetest.register_alias("mapgen_lava_source", "rp_default:water_source")
59 --[[ BIOMES ]]
61 minetest.clear_registered_biomes()
63 local mg_name = minetest.get_mapgen_setting("mg_name")
65 local UNDERGROUND_Y_MAX = -200
66 local ORCHARD_Y_MIN = 20
67 local SWAMP_Y_MAX = 7
69 local register_ocean_and_beach = function(biomename, node_ocean, beach_depth, node_beach)
70 local orig_biome = minetest.registered_biomes[biomename]
71 if not orig_biome then
72 return
73 end
74 local newdef = table.copy(orig_biome)
75 newdef.name = biomename .. " Ocean"
76 newdef.node_top = node_ocean or "rp_default:sand"
77 newdef.node_filler = newdef.node_top
78 newdef.y_min = UNDERGROUND_Y_MAX + 1
80 if beach_depth and beach_depth > 0 then
81 newdef.y_max = orig_biome.y_min - beach_depth - 1
82 else
83 newdef.y_max = orig_biome.y_min - 1
84 end
85 minetest.register_biome(newdef)
87 if beach_depth and beach_depth > 0 then
89 local newdef2 = table.copy(orig_biome)
90 newdef2.name = biomename .. " Beach"
91 newdef2.node_top = node_beach or "rp_default:sand"
92 newdef2.node_filler = newdef2.node_top
93 newdef2.y_min = orig_biome.y_min - beach_depth
94 newdef2.y_max = orig_biome.y_min - 1
95 minetest.register_biome(newdef2)
96 end
97 end
99 if mg_name ~= "v6" then
101 minetest.register_biome(
103 name = "Marsh",
105 node_top = "rp_default:dirt_with_grass",
106 node_filler = "rp_default:dirt",
107 node_cave_liquid = "rp_default:swamp_water_source",
108 node_riverbed = "rp_default:dirt",
110 depth_filler = 0,
111 depth_top = 1,
112 depth_riverbed = 1,
114 y_min = 2,
115 y_max = SWAMP_Y_MAX,
117 heat_point = 91,
118 humidity_point = 96,
120 register_ocean_and_beach("Marsh", "rp_default:dirt", 2, "rp_default:sand")
121 default.set_biome_info("Marsh", "grassy")
123 minetest.register_biome(
125 name = "Deep Forest",
127 node_top = "rp_default:dirt_with_grass",
128 node_filler = "rp_default:dirt",
129 node_riverbed = "rp_default:sand",
131 depth_filler = 6,
132 depth_top = 1,
133 depth_riverbed = 3,
135 y_min = 30,
136 y_max = 40,
138 heat_point = 24,
139 humidity_point = 24,
141 default.set_biome_info("Deep Forest", "grassy")
143 -- TODO: Replace with an actual biome
144 minetest.register_biome(
146 name = "Deep Forest Lowland",
148 node_top = "rp_default:dirt_with_grass",
149 node_filler = "rp_default:dirt",
150 node_riverbed = "rp_default:sand",
152 depth_filler = 6,
153 depth_top = 1,
154 depth_riverbed = 3,
156 y_min = 1,
157 y_max = 29,
159 heat_point = 24,
160 humidity_point = 24,
162 register_ocean_and_beach("Deep Forest Lowland", "rp_default:dirt")
163 default.set_biome_info("Deep Forest Lowland", "grassy")
165 minetest.register_biome(
167 name = "Forest",
169 node_top = "rp_default:dirt_with_grass",
170 node_filler = "rp_default:dirt",
171 node_riverbed = "rp_default:sand",
173 depth_filler = 6,
174 depth_top = 1,
175 depth_riverbed = 2,
177 y_min = 2,
178 y_max = 200,
180 heat_point = 48,
181 humidity_point = 34,
183 register_ocean_and_beach("Forest", "rp_default:sand")
184 default.set_biome_info("Forest", "grassy")
186 minetest.register_biome(
188 name = "Grove",
190 node_top = "rp_default:dirt_with_grass",
191 node_filler = "rp_default:dirt",
192 node_riverbed = "rp_default:sand",
194 depth_filler = 4,
195 depth_top = 1,
196 depth_riverbed = 4,
198 y_min = 3,
199 y_max = 32000,
201 heat_point = 45,
202 humidity_point = 19,
204 register_ocean_and_beach("Grove", "rp_default:sand")
205 default.set_biome_info("Grove", "grassy")
207 minetest.register_biome(
209 name = "Wilderness",
211 node_top = "rp_default:dirt_with_grass",
212 node_filler = "rp_default:dirt",
213 node_riverbed = "rp_default:sand",
215 depth_filler = 6,
216 depth_top = 1,
217 depth_riverbed = 2,
219 y_min = 3,
220 y_max = 32000,
222 heat_point = 76,
223 humidity_point = 30,
225 register_ocean_and_beach("Wilderness", "rp_default:sand")
226 default.set_biome_info("Wilderness", "grassy")
228 -- Note: Grassland is below Orchard
229 minetest.register_biome(
231 name = "Grassland",
233 node_top = "rp_default:dirt_with_grass",
234 node_filler = "rp_default:dirt",
235 node_riverbed = "rp_default:sand",
237 depth_filler = 4,
238 depth_top = 1,
239 depth_riverbed = 2,
241 y_min = 3,
242 y_max = ORCHARD_Y_MIN - 1,
244 heat_point = 71,
245 humidity_point = 52,
247 register_ocean_and_beach("Grassland", "rp_default:sand")
248 default.set_biome_info("Grassland", "grassy")
250 -- Note: Orchard is the 'highland' version of Grassland
251 minetest.register_biome(
253 name = "Orchard",
255 node_top = "rp_default:dirt_with_grass",
256 node_filler = "rp_default:dirt",
257 node_riverbed = "rp_default:sand",
259 depth_filler = 4,
260 depth_top = 1,
261 depth_riverbed = 2,
263 y_min = ORCHARD_Y_MIN,
264 y_max = 32000,
266 heat_point = 71,
267 humidity_point = 52,
269 default.set_biome_info("Orchard", "grassy")
271 -- Note: Shrubbery is below Chaparral
272 minetest.register_biome(
274 name = "Shrubbery",
276 node_top = "rp_default:dirt_with_grass",
277 node_filler = "rp_default:dirt",
278 node_riverbed = "rp_default:sand",
280 depth_filler = 3,
281 depth_top = 1,
282 depth_riverbed = 2,
284 y_min = 2,
285 y_max = 55,
287 heat_point = 107,
288 humidity_point = 45,
290 register_ocean_and_beach("Shrubbery", "rp_default:sand")
291 default.set_biome_info("Shrubbery", "grassy")
293 -- Note: High biome. This is the highland version of Shrubbery
294 minetest.register_biome(
296 name = "Chaparral",
298 node_top = "rp_default:dirt_with_dry_grass",
299 node_filler = "rp_default:dry_dirt",
300 node_riverbed = "rp_default:sand",
302 depth_filler = 0,
303 depth_top = 1,
304 depth_riverbed = 4,
306 y_min = 56,
307 y_max = 32000,
309 heat_point = 107,
310 humidity_point = 45,
312 default.set_biome_info("Chaparral", "savannic")
314 minetest.register_biome(
316 name = "Savanna",
318 node_top = "rp_default:dirt_with_dry_grass",
319 node_filler = "rp_default:dry_dirt",
320 node_riverbed = "rp_default:gravel",
322 depth_filler = 2,
323 depth_top = 1,
324 depth_riverbed = 3,
326 y_min = 2,
327 y_max = 55,
329 heat_point = 101,
330 humidity_point = 25,
332 register_ocean_and_beach("Savanna", "rp_default:sand")
333 default.set_biome_info("Savanna", "savannic")
335 minetest.register_biome(
337 name = "Desert",
339 node_top = "rp_default:sand",
340 node_filler = "rp_default:sandstone",
341 node_riverbed = "rp_default:sand",
342 node_dungeon = "rp_default:sandstone",
344 depth_filler = 8,
345 depth_top = 3,
346 depth_riverbed = 6,
348 y_min = 1,
349 y_max = 32000,
351 heat_point = 112,
352 humidity_point = 32,
354 register_ocean_and_beach("Desert", "rp_default:sand")
355 default.set_biome_info("Desert", "desertic")
357 minetest.register_biome(
359 name = "Wasteland",
361 node_top = "rp_default:dry_dirt",
362 node_filler = "rp_default:sandstone",
363 node_riverbed = "rp_default:sandstone",
365 depth_filler = 3,
366 depth_top = 1,
367 depth_riverbed = 2,
369 y_min = 2,
370 y_max = 32000,
372 heat_point = 95,
373 humidity_point = 20,
375 register_ocean_and_beach("Wasteland", "rp_default:dry_dirt", 5, "rp_default:gravel")
376 default.set_biome_info("Wasteland", "drylandic")
378 minetest.register_biome(
380 name = "Rocky Dryland",
382 node_top = "rp_default:dry_dirt",
383 node_filler = "rp_default:dry_dirt",
384 node_riverbed = "rp_default:gravel",
386 depth_filler = 0,
387 depth_top = 1,
388 depth_riverbed = 4,
390 y_min = 3,
391 y_max = 32000,
393 heat_point = 79,
394 humidity_point = 1,
396 register_ocean_and_beach("Rocky Dryland", "rp_default:gravel")
397 default.set_biome_info("Rocky Dryland", "drylandic")
399 minetest.register_biome(
401 name = "Wooded Dryland",
403 node_top = "rp_default:dry_dirt",
404 node_filler = "rp_default:dry_dirt",
405 node_riverbed = "rp_default:gravel",
407 depth_filler = 4,
408 depth_top = 1,
409 depth_riverbed = 2,
411 y_min = 1,
412 y_max = 32000,
414 heat_point = 78,
415 humidity_point = 9,
417 register_ocean_and_beach("Wooded Dryland", "rp_default:dry_dirt")
418 default.set_biome_info("Wooded Dryland", "drylandic")
420 minetest.register_biome(
422 name = "Savannic Wasteland",
424 node_top = "rp_default:dry_dirt",
425 node_filler = "rp_default:sandstone",
426 node_riverbed = "rp_default:gravel",
428 depth_filler = 2,
429 depth_top = 1,
430 depth_riverbed = 2,
432 y_min = 2,
433 y_max = 32000,
435 heat_point = 94,
436 humidity_point = 14,
438 register_ocean_and_beach("Savannic Wasteland", "rp_default:sand")
439 default.set_biome_info("Savannic Wasteland", "savannic")
441 minetest.register_biome(
443 name = "Thorny Shrubs",
445 node_top = "rp_default:dirt_with_grass",
446 node_filler = "rp_default:dirt",
447 node_riverbed = "rp_default:gravel",
449 depth_filler = 4,
450 depth_top = 1,
451 depth_riverbed = 2,
453 y_min = 2,
454 y_max = 200,
456 heat_point = 76,
457 humidity_point = 15,
459 register_ocean_and_beach("Thorny Shrubs", "rp_default:sand")
460 default.set_biome_info("Thorny Shrubs", "grassy")
462 minetest.register_biome(
464 name = "Mystery Forest",
466 node_top = "rp_default:dirt_with_grass",
467 node_filler = "rp_default:dirt",
468 node_riverbed = "rp_default:gravel",
470 depth_filler = 4,
471 depth_top = 1,
472 depth_riverbed = 2,
474 y_min = 1,
475 y_max = 200,
477 heat_point = 18,
478 humidity_point = 2,
480 register_ocean_and_beach("Mystery Forest", "rp_default:dirt")
481 default.set_biome_info("Mystery Forest", "grassy")
483 minetest.register_biome(
485 name = "Poplar Plains",
487 node_top = "rp_default:dirt_with_grass",
488 node_filler = "rp_default:dirt",
489 node_riverbed = "rp_default:sand",
491 depth_filler = 4,
492 depth_top = 1,
493 depth_riverbed = 2,
495 y_min = 1,
496 y_max = 32000,
498 heat_point = 47,
499 humidity_point = 0,
501 register_ocean_and_beach("Poplar Plains", "rp_default:dirt")
502 default.set_biome_info("Poplar Plains", "grassy")
504 minetest.register_biome(
506 name = "Baby Poplar Plains",
508 node_top = "rp_default:dirt_with_grass",
509 node_filler = "rp_default:dirt",
510 node_riverbed = "rp_default:sand",
512 depth_filler = 4,
513 depth_top = 1,
514 depth_riverbed = 2,
516 y_min = 2,
517 y_max = 32000,
519 heat_point = 58,
520 humidity_point = 9,
522 register_ocean_and_beach("Baby Poplar Plains", "rp_default:sand")
523 default.set_biome_info("Baby Poplar Plains", "grassy")
525 minetest.register_biome(
527 name = "Tall Birch Forest",
529 node_top = "rp_default:dirt_with_grass",
530 node_filler = "rp_default:dirt",
531 node_riverbed = "rp_default:sand",
533 depth_filler = 3,
534 depth_top = 1,
535 depth_riverbed = 2,
537 y_min = 2,
538 y_max = 32000,
540 heat_point = 6,
541 humidity_point = 14,
543 register_ocean_and_beach("Tall Birch Forest", "rp_default:sand")
544 default.set_biome_info("Tall Birch Forest", "grassy")
546 minetest.register_biome(
548 name = "Birch Forest",
550 node_top = "rp_default:dirt_with_grass",
551 node_filler = "rp_default:dirt",
552 node_riverbed = "rp_default:sand",
554 depth_filler = 3,
555 depth_top = 1,
556 depth_riverbed = 2,
558 y_min = 1,
559 y_max = 32000,
561 heat_point = 18,
562 humidity_point = 15,
564 register_ocean_and_beach("Birch Forest", "rp_default:sand")
565 default.set_biome_info("Birch Forest", "grassy")
567 minetest.register_biome(
569 name = "Oak Shrubbery",
571 node_top = "rp_default:dirt_with_grass",
572 node_filler = "rp_default:dirt",
573 node_riverbed = "rp_default:gravel",
575 depth_filler = 3,
576 depth_top = 1,
577 depth_riverbed = 1,
579 y_min = 1,
580 y_max = 32000,
582 heat_point = 22,
583 humidity_point = 44,
585 register_ocean_and_beach("Oak Shrubbery", "rp_default:dirt")
586 default.set_biome_info("Oak Shrubbery", "grassy")
588 minetest.register_biome(
590 name = "Oak Forest",
592 node_top = "rp_default:dirt_with_grass",
593 node_filler = "rp_default:dirt",
594 node_riverbed = "rp_default:gravel",
596 depth_filler = 5,
597 depth_top = 1,
598 depth_riverbed = 1,
600 y_min = 1,
601 y_max = 32000,
603 heat_point = 22,
604 humidity_point = 44,
606 register_ocean_and_beach("Oak Forest", "rp_default:sand")
607 default.set_biome_info("Oak Forest", "grassy")
609 minetest.register_biome(
611 name = "Tall Oak Forest",
613 node_top = "rp_default:dirt_with_grass",
614 node_filler = "rp_default:dirt",
615 node_riverbed = "rp_default:gravel",
617 depth_filler = 6,
618 depth_top = 1,
619 depth_riverbed = 2,
621 y_min = 1,
622 y_max = 32000,
624 heat_point = 10,
625 humidity_point = 43,
627 register_ocean_and_beach("Tall Oak Forest", "rp_default:sand")
628 default.set_biome_info("Tall Oak Forest", "grassy")
630 minetest.register_biome(
632 name = "Dense Oak Forest",
634 node_top = "rp_default:dirt_with_grass",
635 node_filler = "rp_default:dirt",
636 node_riverbed = "rp_default:gravel",
638 depth_filler = 7,
639 depth_top = 1,
640 depth_riverbed = 3,
642 y_min = 1,
643 y_max = 32000,
645 heat_point = 0,
646 humidity_point = 43,
648 register_ocean_and_beach("Dense Oak Forest", "rp_default:sand")
649 default.set_biome_info("Dense Oak Forest", "grassy")
651 -- Equivalent to Pixture's original 'Swamp' biome
652 minetest.register_biome(
654 name = "Swamp Meadow",
656 node_top = "rp_default:dirt_with_swamp_grass",
657 node_filler = "rp_default:swamp_dirt",
658 node_cave_liquid = "rp_default:swamp_water_source",
659 node_riverbed = "rp_default:swamp_dirt",
661 depth_filler = 7,
662 depth_top = 1,
663 depth_riverbed = 4,
665 y_min = 1,
666 y_max = SWAMP_Y_MAX,
668 heat_point = 62,
669 humidity_point = 93,
671 register_ocean_and_beach("Swamp Meadow", "rp_default:dirt", 5, "rp_default:swamp_dirt")
672 default.set_biome_info("Swamp Meadow", "swampy")
674 minetest.register_biome(
676 name = "Mixed Swamp",
678 node_top = "rp_default:dirt_with_swamp_grass",
679 node_filler = "rp_default:swamp_dirt",
680 node_cave_liquid = "rp_default:swamp_water_source",
681 node_riverbed = "rp_default:swamp_dirt",
683 depth_filler = 7,
684 depth_top = 1,
685 depth_riverbed = 3,
687 y_min = 1,
688 y_max = SWAMP_Y_MAX,
690 heat_point = 36,
691 humidity_point = 86,
693 register_ocean_and_beach("Mixed Swamp", "rp_default:dirt", 5, "rp_default:swamp_dirt")
694 default.set_biome_info("Mixed Swamp", "swamp")
696 minetest.register_biome(
698 name = "Swamp Forest",
700 node_top = "rp_default:dirt_with_swamp_grass",
701 node_filler = "rp_default:swamp_dirt",
702 node_cave_liquid = "rp_default:swamp_water_source",
703 node_riverbed = "rp_default:swamp_dirt",
705 depth_filler = 5,
706 depth_top = 1,
707 depth_riverbed = 4,
709 y_min = 1,
710 y_max = SWAMP_Y_MAX,
712 heat_point = 12,
713 humidity_point = 83,
715 register_ocean_and_beach("Swamp Forest", "rp_default:dirt", 5, "rp_default:swamp_dirt")
716 default.set_biome_info("Swamp Forest", "swampy")
718 minetest.register_biome(
720 name = "Dry Swamp",
722 node_top = "rp_default:dirt_with_swamp_grass",
723 node_filler = "rp_default:swamp_dirt",
724 node_riverbed = "rp_default:swamp_dirt",
726 depth_filler = 6,
727 depth_top = 1,
728 depth_riverbed = 2,
730 y_min = 1,
731 y_max = SWAMP_Y_MAX,
733 heat_point = 0,
734 humidity_point = 67,
736 register_ocean_and_beach("Dry Swamp", "rp_default:dirt", 5, "rp_default:dirt") -- force creation of beach sub-biome
737 default.set_biome_info("Dry Swamp", "swampy")
739 minetest.register_biome(
741 name = "Papyrus Swamp",
743 node_top = "rp_default:dirt_with_swamp_grass",
744 node_filler = "rp_default:swamp_dirt",
745 node_cave_liquid = "rp_default:swamp_water_source",
746 node_riverbed = "rp_default:swamp_dirt",
748 depth_filler = 4,
749 depth_top = 1,
750 depth_riverbed = 3,
752 y_min = 2,
753 y_max = SWAMP_Y_MAX,
755 heat_point = 49,
756 humidity_point = 89,
758 register_ocean_and_beach("Papyrus Swamp", "rp_default:swamp_dirt", 2, "rp_default:sand")
759 default.set_biome_info("Papyrus Swamp", "swampy")
761 -- Special Underground biome
762 minetest.register_biome(
764 name = "Underground",
766 y_min = -31000,
767 y_max = UNDERGROUND_Y_MAX,
769 heat_point = 50,
770 humidity_point = 50,
772 default.set_biome_info("Underground", "undergroundy")
776 local function spring_ore_np(seed)
777 return {
778 offset = 0,
779 scale = 1,
780 spread = {x=250, y=250, z=250},
781 seed = seed or 12345,
782 octaves = 3,
783 persist = 0.6,
784 lacunarity = 2,
785 flags = "defaults",
789 -- Water
791 minetest.register_ore( -- Springs
793 ore_type = "blob",
794 ore = "rp_default:water_source",
795 wherein = "rp_default:dirt_with_grass",
796 biomes = {"Grassland"},
797 clust_scarcity = 26*26*26,
798 clust_num_ores = 1,
799 clust_size = 1,
800 y_min = 20,
801 y_max = 31000,
802 noise_params = spring_ore_np(),
805 minetest.register_ore( -- Pools
807 ore_type = "blob",
808 ore = "rp_default:water_source",
809 wherein = "rp_default:dirt_with_grass",
810 biomes = {"Wilderness"},
811 clust_scarcity = 32*32*32,
812 clust_num_ores = 20,
813 clust_size = 6,
814 y_min = 10,
815 y_max = 30,
816 noise_params = spring_ore_np(),
818 if mg_name ~= "v6" then
819 minetest.register_ore( -- Swamp (big springs)
821 ore_type = "blob",
822 ore = "rp_default:swamp_water_source",
823 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
824 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
825 clust_scarcity = 7*7*7,
826 clust_num_ores = 10,
827 clust_size = 4,
828 y_min = -31000,
829 y_max = 31000,
830 noise_params = spring_ore_np(13943),
832 minetest.register_ore( -- Swamp (medium springs)
834 ore_type = "blob",
835 ore = "rp_default:swamp_water_source",
836 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
837 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
838 clust_scarcity = 5*5*5,
839 clust_num_ores = 8,
840 clust_size = 2,
841 y_min = -31000,
842 y_max = 31000,
843 noise_params = spring_ore_np(49494),
846 minetest.register_ore( -- Swamp (small springs)
848 ore_type = "blob",
849 ore = "rp_default:swamp_water_source",
850 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
851 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
852 clust_scarcity = 6*6*6,
853 clust_num_ores = 1,
854 clust_size = 1,
855 y_min = -31000,
856 y_max = 31000,
857 noise_params = spring_ore_np(59330),
860 minetest.register_ore( -- Marsh
862 ore_type = "blob",
863 ore = "rp_default:swamp_water_source",
864 wherein = {"rp_default:dirt_with_grass", "rp_default:dirt"},
865 biomes = {"Marsh"},
866 clust_scarcity = 8*8*8,
867 clust_num_ores = 10,
868 clust_size = 6,
869 y_min = -31000,
870 y_max = 31000,
871 noise_params = spring_ore_np(),
874 minetest.register_ore(
876 ore_type = "blob",
877 ore = "rp_default:gravel",
878 wherein = "rp_default:dry_dirt",
879 biomes = {"Rocky Dryland"},
880 clust_scarcity = 8*8*8,
881 clust_size = 8,
882 y_min = -31000,
883 y_max = 31000,
884 noise_params = {
885 octaves = 1,
886 scale = 1,
887 offset = 0,
888 spread = { x = 100, y = 100, z = 100 },
889 lacunarity = 2.0,
890 persistence = 0.5,
891 seed = 43400,
894 minetest.register_ore(
896 ore_type = "blob",
897 ore = "rp_default:stone",
898 wherein = "rp_default:dry_dirt",
899 biomes = {"Rocky Dryland"},
900 clust_scarcity = 8*8*8,
901 clust_size = 7,
902 y_min = -31000,
903 y_max = 31000,
904 noise_params = {
905 octaves = 1,
906 scale = 1,
907 offset = 0,
908 spread = { x = 100, y = 100, z = 100 },
909 lacunarity = 2.0,
910 persistence = 0.5,
911 seed = 13940,
915 minetest.register_ore( -- Dry Swamp (dirt)
917 ore_type = "blob",
918 ore = "rp_default:dirt_with_grass",
919 wherein = {"rp_default:dirt_with_swamp_grass"},
920 biomes = {"Dry Swamp"},
921 clust_scarcity = 3*3*3,
922 clust_num_ores = 10,
923 clust_size = 4,
924 y_min = -31000,
925 y_max = 31000,
926 noise_params = spring_ore_np(13943),
928 minetest.register_ore( -- Dry Swamp (dirt)
930 ore_type = "blob",
931 ore = "rp_default:dirt",
932 wherein = {"rp_default:swamp_dirt"},
933 biomes = {"Dry Swamp"},
934 clust_scarcity = 3*3*3,
935 clust_num_ores = 10,
936 clust_size = 4,
937 y_min = -31000,
938 y_max = 31000,
939 noise_params = spring_ore_np(13943),
941 minetest.register_ore(
943 ore_type = "scatter",
944 ore = "rp_default:dirt_with_dry_grass",
945 wherein = "rp_default:dry_dirt",
946 biomes = {"Savannic Wasteland"},
947 clust_scarcity = 6*6*6,
948 clust_size = 6,
949 clust_num_ores = 40,
950 y_min = 2,
951 y_max = 31000,
952 noise_params = {
953 octaves = 1,
954 scale = 1,
955 offset = 0.1,
956 spread = { x = 100, y = 100, z = 100 },
957 lacunarity = 2.0,
958 persistence = 0.5,
959 seed = 12449,
963 minetest.register_ore(
965 ore_type = "blob",
966 ore = "rp_default:dirt_with_dry_grass",
967 wherein = "rp_default:dry_dirt",
968 biomes = {"Savannic Wasteland"},
969 clust_scarcity = 7*7*7,
970 clust_size = 4,
971 y_min = 2,
972 y_max = 31000,
973 noise_params = {
974 octaves = 2,
975 scale = 1,
976 offset = 0.2,
977 spread = { x = 100, y = 100, z = 100 },
978 lacunarity = 2.0,
979 persistence = 0.5,
980 seed = 12450,
984 minetest.register_ore(
986 ore_type = "scatter",
987 ore = "rp_default:stone_with_sulfur",
988 wherein = "rp_default:stone",
989 biomes = { "Rocky Dryland", "Wooded Dryland"},
990 clust_scarcity = 9*9*9,
991 clust_num_ores = 1,
992 clust_size = 1,
993 y_min = -8,
994 y_max = 32,
1001 --[[ DECORATIONS ]]
1002 -- The decorations are roughly ordered by size;
1003 -- largest decorations first.
1005 -- Tree decorations
1007 if mg_name ~= "v6" then
1008 minetest.register_decoration(
1010 deco_type = "schematic",
1011 place_on = {"rp_default:dirt_with_grass"},
1012 sidelen = 16,
1013 fill_ratio = 0.004,
1014 biomes = {"Forest"},
1015 flags = "place_center_x, place_center_z",
1016 replacements = {
1017 ["default:leaves"] = "rp_default:leaves_birch",
1018 ["default:tree"] = "rp_default:tree_birch",
1019 ["default:apple"] = "air"
1021 schematic = minetest.get_modpath("rp_default")
1022 .. "/schematics/default_squaretree.mts",
1023 y_min = -32000,
1024 y_max = 32000,
1027 minetest.register_decoration(
1029 deco_type = "schematic",
1030 place_on = {"rp_default:dirt_with_grass"},
1031 sidelen = 16,
1032 fill_ratio = 0.015,
1033 biomes = {"Birch Forest"},
1034 flags = "place_center_x, place_center_z",
1035 replacements = {
1036 ["default:leaves"] = "rp_default:leaves_birch",
1037 ["default:tree"] = "rp_default:tree_birch",
1038 ["default:apple"] = "air"
1040 schematic = minetest.get_modpath("rp_default")
1041 .. "/schematics/default_squaretree.mts",
1042 y_min = -32000,
1043 y_max = 32000,
1046 minetest.register_decoration(
1048 deco_type = "schematic",
1049 place_on = {"rp_default:dirt_with_grass"},
1050 sidelen = 16,
1051 fill_ratio = 0.004,
1052 biomes = {"Dry Swamp"},
1053 flags = "place_center_x, place_center_z",
1054 replacements = {
1055 ["default:leaves"] = "rp_default:leaves_birch",
1056 ["default:tree"] = "rp_default:tree_birch",
1057 ["default:apple"] = "air"
1059 schematic = minetest.get_modpath("rp_default")
1060 .. "/schematics/default_squaretree.mts",
1061 y_min = -32000,
1062 y_max = 32000,
1066 minetest.register_decoration(
1068 deco_type = "schematic",
1069 place_on = {"rp_default:dirt_with_grass"},
1070 sidelen = 16,
1071 fill_ratio = 0.0001,
1072 biomes = {"Thorny Shrubs"},
1073 flags = "place_center_x, place_center_z",
1074 schematic = minetest.get_modpath("rp_default")
1075 .. "/schematics/default_appletree.mts",
1076 y_min = -32000,
1077 y_max = 32000,
1082 minetest.register_decoration(
1084 deco_type = "schematic",
1085 place_on = {"rp_default:dirt_with_grass"},
1086 sidelen = 16,
1087 fill_ratio = 0.007,
1088 biomes = {"Orchard"},
1089 flags = "place_center_x, place_center_z",
1090 schematic = minetest.get_modpath("rp_default")
1091 .. "/schematics/default_appletree.mts",
1092 y_min = 10,
1093 y_max = 32000,
1096 minetest.register_decoration(
1098 deco_type = "schematic",
1099 place_on = {"rp_default:dirt_with_grass"},
1100 sidelen = 16,
1101 fill_ratio = 0.009,
1102 biomes = {"Forest", "Deep Forest"},
1103 flags = "place_center_x, place_center_z",
1104 schematic = minetest.get_modpath("rp_default")
1105 .. "/schematics/default_appletree.mts",
1106 y_min = -32000,
1107 y_max = 32000,
1110 minetest.register_decoration(
1112 deco_type = "schematic",
1113 place_on = {"rp_default:dirt_with_grass"},
1114 sidelen = 16,
1115 fill_ratio = 0.008,
1116 biomes = {"Forest"},
1117 flags = "place_center_x, place_center_z",
1118 schematic = minetest.get_modpath("rp_default")
1119 .. "/schematics/default_megatree.mts",
1120 y_min = -32000,
1121 y_max = 32000,
1124 minetest.register_decoration(
1126 name = "rp_default:gigatree",
1127 deco_type = "schematic",
1128 place_on = {"rp_default:dirt_with_grass"},
1129 sidelen = 16,
1130 fill_ratio = 0.023,
1131 biomes = {"Deep Forest"},
1132 flags = "place_center_x, place_center_z",
1133 schematic = minetest.get_modpath("rp_default")
1134 .. "/schematics/default_gigatree.mts",
1135 y_min = -32000,
1136 y_max = 32000,
1139 minetest.register_decoration(
1141 deco_type = "schematic",
1142 place_on = {"rp_default:dirt_with_grass"},
1143 sidelen = 16,
1144 fill_ratio = 0.0009,
1145 biomes = {"Oak Forest"},
1146 flags = "place_center_x, place_center_z",
1147 schematic = minetest.get_modpath("rp_default")
1148 .. "/schematics/rp_default_oak_tree_big_1.mts",
1149 y_min = 1,
1150 y_max = 32000,
1153 minetest.register_decoration(
1155 deco_type = "schematic",
1156 place_on = {"rp_default:dirt_with_grass"},
1157 sidelen = 16,
1158 fill_ratio = 0.0045,
1159 biomes = {"Tall Oak Forest"},
1160 flags = "place_center_x, place_center_z",
1161 schematic = minetest.get_modpath("rp_default")
1162 .. "/schematics/rp_default_oak_tree_big_1.mts",
1163 y_min = 1,
1164 y_max = 32000,
1166 minetest.register_decoration(
1168 deco_type = "schematic",
1169 place_on = {"rp_default:dirt_with_grass"},
1170 sidelen = 16,
1171 fill_ratio = 0.0045,
1172 biomes = {"Tall Oak Forest"},
1173 flags = "place_center_x, place_center_z",
1174 schematic = minetest.get_modpath("rp_default")
1175 .. "/schematics/rp_default_oak_tree_big_2.mts",
1176 y_min = 1,
1177 y_max = 32000,
1181 minetest.register_decoration(
1183 deco_type = "schematic",
1184 place_on = {"rp_default:dirt_with_grass"},
1185 sidelen = 16,
1186 fill_ratio = 0.035,
1187 biomes = {"Dense Oak Forest"},
1188 flags = "place_center_x, place_center_z",
1189 schematic = minetest.get_modpath("rp_default")
1190 .. "/schematics/rp_default_oak_tree_big_1.mts",
1191 y_min = 1,
1192 y_max = 32000,
1194 minetest.register_decoration(
1196 deco_type = "schematic",
1197 place_on = {"rp_default:dirt_with_grass"},
1198 sidelen = 16,
1199 fill_ratio = 0.035,
1200 biomes = {"Dense Oak Forest"},
1201 flags = "place_center_x, place_center_z",
1202 schematic = minetest.get_modpath("rp_default")
1203 .. "/schematics/rp_default_oak_tree_big_2.mts",
1204 y_min = 1,
1205 y_max = 32000,
1210 minetest.register_decoration(
1212 deco_type = "schematic",
1213 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1214 sidelen = 16,
1215 fill_ratio = 0.0008,
1216 biomes = {"Mixed Swamp", "Mixed Swamp Beach"},
1217 flags = "place_center_x, place_center_z",
1218 schematic = minetest.get_modpath("rp_default")
1219 .. "/schematics/rp_default_swamp_oak.mts",
1220 y_min = 0,
1221 y_max = 32000,
1224 minetest.register_decoration(
1226 deco_type = "schematic",
1227 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1228 sidelen = 16,
1229 fill_ratio = 0.006,
1230 biomes = {"Swamp Forest", "Swamp Forest Beach"},
1231 flags = "place_center_x, place_center_z",
1232 schematic = minetest.get_modpath("rp_default")
1233 .. "/schematics/rp_default_swamp_oak.mts",
1234 y_min = 0,
1235 y_max = 32000,
1238 minetest.register_decoration(
1240 deco_type = "schematic",
1241 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1242 sidelen = 16,
1243 fill_ratio = 0.0001,
1244 biomes = {"Swamp Forest", "Swamp Forest Beach"},
1245 flags = "place_center_x, place_center_z",
1246 schematic = minetest.get_modpath("rp_default")
1247 .. "/schematics/rp_default_swamp_birch.mts",
1248 y_min = 0,
1249 y_max = 32000,
1251 minetest.register_decoration(
1253 deco_type = "schematic",
1254 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1255 sidelen = 16,
1256 fill_ratio = 0.003,
1257 biomes = {"Dry Swamp", "Dry Swamp Beach"},
1258 flags = "place_center_x, place_center_z",
1259 schematic = minetest.get_modpath("rp_default")
1260 .. "/schematics/rp_default_swamp_birch.mts",
1261 y_min = 0,
1262 y_max = 32000,
1267 local MYSTERY_FOREST_SPREAD = { x=500, y=500, z=500 }
1268 local MYSTERY_FOREST_OFFSET = 0.001
1269 local MYSTERY_FOREST_OFFSET_STAIRCASE = -0.001
1270 local MYSTERY_FOREST_OFFSET_APPLES = -0.0005
1271 local MYSTERY_FOREST_SCALE = 0.008
1273 minetest.register_decoration(
1275 deco_type = "schematic",
1276 place_on = {"rp_default:dirt_with_grass"},
1277 sidelen = 16,
1278 biomes = {"Mystery Forest"},
1279 flags = "place_center_x, place_center_z",
1280 schematic = minetest.get_modpath("rp_default")
1281 .. "/schematics/rp_default_staircase_tree.mts",
1282 y_min = 1,
1283 y_max = 32000,
1284 noise_params = {
1285 octaves = 2,
1286 scale = -MYSTERY_FOREST_SCALE,
1287 offset = MYSTERY_FOREST_OFFSET_STAIRCASE,
1288 spread = MYSTERY_FOREST_SPREAD,
1289 lacunarity = 2.0,
1290 persistence = 0.5,
1291 seed = 49204,
1295 minetest.register_decoration(
1297 deco_type = "schematic",
1298 place_on = {"rp_default:dirt_with_grass"},
1299 sidelen = 16,
1300 biomes = {"Mystery Forest"},
1301 flags = "place_center_x, place_center_z",
1302 schematic = minetest.get_modpath("rp_default")
1303 .. "/schematics/rp_default_layer_birch.mts",
1304 y_min = 1,
1305 y_max = 32000,
1306 noise_params = {
1307 octaves = 2,
1308 scale = MYSTERY_FOREST_SCALE,
1309 offset = MYSTERY_FOREST_OFFSET,
1310 spread = MYSTERY_FOREST_SPREAD,
1311 lacunarity = 2.0,
1312 persistence = 0.5,
1313 seed = 49204,
1317 minetest.register_decoration(
1319 deco_type = "schematic",
1320 place_on = {"rp_default:dirt_with_grass"},
1321 sidelen = 16,
1322 biomes = {"Mystery Forest"},
1323 flags = "place_center_x, place_center_z",
1324 schematic = minetest.get_modpath("rp_default")
1325 .. "/schematics/rp_default_telephone_tree.mts",
1326 y_min = 1,
1327 y_max = 32000,
1328 noise_params = {
1329 octaves = 2,
1330 scale = -MYSTERY_FOREST_SCALE,
1331 offset = MYSTERY_FOREST_OFFSET,
1332 spread = MYSTERY_FOREST_SPREAD,
1333 lacunarity = 2.0,
1334 persistence = 0.5,
1335 seed = 49204,
1339 minetest.register_decoration(
1341 deco_type = "schematic",
1342 place_on = {"rp_default:dirt_with_grass"},
1343 sidelen = 16,
1344 biomes = {"Mystery Forest"},
1345 flags = "place_center_x, place_center_z",
1346 schematic = minetest.get_modpath("rp_default")
1347 .. "/schematics/rp_default_telephone_tree_apples.mts",
1348 y_min = 1,
1349 y_max = 32000,
1350 noise_params = {
1351 octaves = 2,
1352 scale = -MYSTERY_FOREST_SCALE,
1353 offset = MYSTERY_FOREST_OFFSET_APPLES,
1354 spread = MYSTERY_FOREST_SPREAD,
1355 lacunarity = 2.0,
1356 persistence = 0.5,
1357 seed = 49204,
1364 minetest.register_decoration(
1366 deco_type = "schematic",
1367 place_on = {"rp_default:dirt_with_grass"},
1368 sidelen = 16,
1369 biomes = {"Mystery Forest"},
1370 flags = "place_center_x, place_center_z",
1371 schematic = minetest.get_modpath("rp_default")
1372 .. "/schematics/rp_default_cross_birch.mts",
1373 y_min = 1,
1374 y_max = 32000,
1375 noise_params = {
1376 octaves = 2,
1377 scale = MYSTERY_FOREST_SCALE,
1378 offset = MYSTERY_FOREST_OFFSET,
1379 spread = MYSTERY_FOREST_SPREAD,
1380 lacunarity = 2.0,
1381 persistence = 0.5,
1382 seed = 49204,
1386 minetest.register_decoration(
1388 deco_type = "schematic",
1389 place_on = {"rp_default:dirt_with_grass"},
1390 sidelen = 16,
1391 biomes = {"Poplar Plains"},
1392 flags = "place_center_x, place_center_z",
1393 schematic = minetest.get_modpath("rp_default")
1394 .. "/schematics/rp_default_poplar_large.mts",
1395 y_min = 1,
1396 y_max = 32000,
1397 noise_params = {
1398 octaves = 2,
1399 scale = 0.01,
1400 offset = -0.004,
1401 spread = {x=50,y=50,z=50},
1402 lacunarity = 2.0,
1403 persistence = 0.5,
1404 seed = 94325,
1407 minetest.register_decoration(
1409 deco_type = "schematic",
1410 place_on = {"rp_default:dirt_with_grass"},
1411 sidelen = 16,
1412 biomes = {"Poplar Plains"},
1413 flags = "place_center_x, place_center_z",
1414 schematic = minetest.get_modpath("rp_default")
1415 .. "/schematics/rp_default_poplar_small.mts",
1416 y_min = 1,
1417 y_max = 32000,
1418 noise_params = {
1419 octaves = 2,
1420 scale = 0.01,
1421 offset = -0.001,
1422 spread = {x=50,y=50,z=50},
1423 lacunarity = 2.0,
1424 persistence = 0.5,
1425 seed = 94325,
1428 minetest.register_decoration(
1430 deco_type = "schematic",
1431 place_on = {"rp_default:dirt_with_grass"},
1432 fill_ratio = 0.0002,
1433 sidelen = 16,
1434 biomes = {"Poplar Plains"},
1435 flags = "place_center_x, place_center_z",
1436 schematic = minetest.get_modpath("rp_default")
1437 .. "/schematics/rp_default_poplar_small.mts",
1438 y_min = 1,
1439 y_max = 32000,
1442 -- Small poplar tree blobs
1443 minetest.register_decoration(
1445 deco_type = "schematic",
1446 place_on = {"rp_default:dirt_with_grass"},
1447 sidelen = 8,
1448 biomes = {"Baby Poplar Plains"},
1449 flags = "place_center_x, place_center_z",
1450 schematic = minetest.get_modpath("rp_default")
1451 .. "/schematics/rp_default_poplar_small.mts",
1452 y_min = 1,
1453 y_max = 32000,
1454 noise_params = {
1455 octaves = 2,
1456 scale = 0.05,
1457 offset = -0.032,
1458 spread = {x=24,y=24,z=24},
1459 lacunarity = 2.0,
1460 persistence = 0.5,
1461 seed = 94325,
1465 -- Occasional lonely poplars
1466 minetest.register_decoration(
1468 deco_type = "schematic",
1469 place_on = {"rp_default:dirt_with_grass"},
1470 sidelen = 16,
1471 fill_ratio = 0.0002,
1472 biomes = {"Baby Poplar Plains"},
1473 flags = "place_center_x, place_center_z",
1474 schematic = minetest.get_modpath("rp_default")
1475 .. "/schematics/rp_default_poplar_small.mts",
1476 y_min = 1,
1477 y_max = 32000,
1480 minetest.register_decoration(
1482 deco_type = "schematic",
1483 place_on = {"rp_default:dirt_with_grass"},
1484 sidelen = 16,
1485 biomes = {"Baby Poplar Plains"},
1486 flags = "place_center_x, place_center_z",
1487 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1488 y_min = 1,
1489 y_max = 32000,
1490 rotation = "0",
1491 noise_params = {
1492 octaves = 1,
1493 scale = 0.001,
1494 offset = -0.0000001,
1495 spread = { x = 50, y = 50, z = 50 },
1496 lacunarity = 2.0,
1497 persistence = 0.5,
1498 seed = 98421,
1502 minetest.register_decoration(
1504 deco_type = "schematic",
1505 place_on = {"rp_default:dirt_with_grass"},
1506 sidelen = 16,
1507 biomes = {"Thorny Shrubs"},
1508 flags = "place_center_x, place_center_z",
1509 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1510 y_min = 3,
1511 y_max = 32000,
1512 rotation = "0",
1513 noise_params = {
1514 octaves = 1,
1515 scale = -0.004,
1516 offset = 0.002,
1517 spread = { x = 82, y = 82, z = 82 },
1518 lacunarity = 2.0,
1519 persistence = 0.5,
1520 seed = 43905,
1524 minetest.register_decoration(
1526 deco_type = "schematic",
1527 place_on = {"rp_default:dirt_with_grass"},
1528 sidelen = 16,
1529 fill_ratio = 0.006,
1530 biomes = {"Shrubbery"},
1531 flags = "place_center_x, place_center_z",
1532 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1533 y_min = 1,
1534 y_max = 32000,
1535 rotation = "0",
1539 minetest.register_decoration(
1541 deco_type = "schematic",
1542 place_on = {"rp_default:dirt_with_grass"},
1543 sidelen = 16,
1544 fill_ratio = 0.004,
1545 biomes = {"Grove"},
1546 flags = "place_center_x, place_center_z",
1547 schematic = minetest.get_modpath("rp_default")
1548 .. "/schematics/default_talltree.mts",
1549 y_min = 0,
1550 y_max = 32000,
1553 minetest.register_decoration(
1555 deco_type = "schematic",
1556 place_on = {"rp_default:dirt_with_grass"},
1557 sidelen = 16,
1558 fill_ratio = 0.015,
1559 biomes = {"Tall Birch Forest"},
1560 flags = "place_center_x, place_center_z",
1561 schematic = minetest.get_modpath("rp_default")
1562 .. "/schematics/rp_default_birch_tall.mts",
1563 y_min = -32000,
1564 y_max = 32000,
1567 minetest.register_decoration(
1569 deco_type = "schematic",
1570 place_on = {"rp_default:dirt_with_grass"},
1571 sidelen = 16,
1572 fill_ratio = 0.004,
1573 biomes = {"Wilderness"},
1574 flags = "place_center_x, place_center_z",
1575 replacements = {
1576 ["default:apple"] = "air",
1578 schematic = minetest.get_modpath("rp_default")
1579 .. "/schematics/default_appletree.mts",
1580 y_min = -32000,
1581 y_max = 32000,
1584 minetest.register_decoration(
1586 deco_type = "schematic",
1587 place_on = {"rp_default:dirt_with_grass", "rp_default:dirt"},
1588 sidelen = 16,
1589 fill_ratio = 0.0001,
1590 biomes = {"Dry Swamp"},
1591 flags = "place_center_x, place_center_z",
1592 schematic = minetest.get_modpath("rp_default")
1593 .. "/schematics/default_appletree.mts",
1594 y_min = -32000,
1595 y_max = 32000,
1598 minetest.register_decoration(
1600 deco_type = "schematic",
1601 place_on = {"rp_default:dirt_with_grass"},
1602 sidelen = 16,
1603 fill_ratio = 0.004,
1604 biomes = {"Wilderness"},
1605 flags = "place_center_x, place_center_z",
1606 schematic = minetest.get_modpath("rp_default")
1607 .. "/schematics/default_oaktree.mts",
1608 y_min = -32000,
1609 y_max = 32000,
1613 minetest.register_decoration(
1615 deco_type = "schematic",
1616 place_on = {"rp_default:dirt_with_grass"},
1617 sidelen = 16,
1618 fill_ratio = 0.001,
1619 biomes = {"Oak Shrubbery"},
1620 flags = "place_center_x, place_center_z",
1621 schematic = minetest.get_modpath("rp_default")
1622 .. "/schematics/default_oaktree.mts",
1623 y_min = 1,
1624 y_max = 32000,
1627 minetest.register_decoration(
1629 deco_type = "schematic",
1630 place_on = {"rp_default:dirt_with_grass"},
1631 sidelen = 16,
1632 fill_ratio = 0.02,
1633 biomes = {"Dense Oak Forest"},
1634 flags = "place_center_x, place_center_z",
1635 schematic = minetest.get_modpath("rp_default")
1636 .. "/schematics/default_oaktree.mts",
1637 y_min = 1,
1638 y_max = 32000,
1641 minetest.register_decoration(
1643 deco_type = "schematic",
1644 place_on = {"rp_default:dirt_with_grass"},
1645 sidelen = 16,
1646 fill_ratio = 0.0225,
1647 biomes = {"Oak Forest"},
1648 flags = "place_center_x, place_center_z",
1649 schematic = minetest.get_modpath("rp_default")
1650 .. "/schematics/default_oaktree.mts",
1651 y_min = 1,
1652 y_max = 32000,
1655 minetest.register_decoration(
1657 deco_type = "schematic",
1658 place_on = {"rp_default:dirt_with_grass"},
1659 sidelen = 16,
1660 fill_ratio = 0.0015,
1661 biomes = {"Tall Oak Forest"},
1662 flags = "place_center_x, place_center_z",
1663 schematic = minetest.get_modpath("rp_default")
1664 .. "/schematics/default_oaktree.mts",
1665 y_min = 1,
1666 y_max = 32000,
1673 -- Cactus decorations
1675 minetest.register_decoration(
1677 deco_type = "schematic",
1678 place_on = {"rp_default:sand"},
1679 sidelen = 16,
1680 fill_ratio = 0.004,
1681 biomes = {"Desert"},
1682 flags = "place_center_x, place_center_z",
1683 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_cactus.mts",
1684 y_min = 10,
1685 y_max = 500,
1686 rotation = "random",
1689 -- Rock decorations
1691 minetest.register_decoration(
1693 deco_type = "schematic",
1694 place_on = {"rp_default:dry_dirt"},
1695 sidelen = 16,
1696 fill_ratio = 0.006,
1697 biomes = {"Wasteland"},
1698 flags = "place_center_x, place_center_z",
1699 schematic = minetest.get_modpath("rp_default")
1700 .. "/schematics/default_small_rock.mts",
1701 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1702 y_min = 1,
1703 y_max = 32000,
1704 rotation = "random",
1707 minetest.register_decoration(
1709 deco_type = "schematic",
1710 place_on = {"rp_default:dry_dirt"},
1711 sidelen = 16,
1712 fill_ratio = 0.004,
1713 biomes = {"Wasteland"},
1714 flags = "place_center_x, place_center_z",
1715 schematic = minetest.get_modpath("rp_default")
1716 .. "/schematics/default_large_rock.mts",
1717 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1718 y_min = 1,
1719 y_max = 32000,
1720 rotation = "random",
1723 minetest.register_decoration(
1725 deco_type = "schematic",
1726 place_on = {"rp_default:stone", "rp_default:dry_dirt"},
1727 sidelen = 16,
1728 fill_ratio = 0.003,
1729 biomes = {"Rocky Dryland"},
1730 flags = "place_center_x, place_center_z",
1731 schematic = minetest.get_modpath("rp_default")
1732 .. "/schematics/default_small_rock.mts",
1733 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1734 y_min = 1,
1735 y_max = 32000,
1736 rotation = "random",
1739 minetest.register_decoration(
1741 deco_type = "schematic",
1742 place_on = {"rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
1743 sidelen = 16,
1744 fill_ratio = 0.001,
1745 biomes = {"Savannic Wasteland"},
1746 flags = "place_center_x, place_center_z",
1747 schematic = minetest.get_modpath("rp_default")
1748 .. "/schematics/default_small_rock.mts",
1749 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1750 y_min = 1,
1751 y_max = 32000,
1752 rotation = "random",
1756 -- Sulfur decorations
1758 minetest.register_decoration(
1760 deco_type = "simple",
1761 place_on = "rp_default:dry_dirt",
1762 sidelen = 16,
1763 fill_ratio = 0.005,
1764 biomes = {"Wasteland"},
1765 decoration = {"rp_default:stone_with_sulfur"},
1766 y_min = 2,
1767 y_max = 14,
1770 -- Tiny tree decorations
1772 minetest.register_decoration(
1774 deco_type = "schematic",
1775 place_on = {"rp_default:dry_dirt"},
1776 sidelen = 16,
1777 fill_ratio = 0.0001,
1778 biomes = {"Rocky Dryland"},
1779 flags = "place_center_x, place_center_z",
1780 schematic = minetest.get_modpath("rp_default")
1781 .. "/schematics/rp_default_tiny_birch.mts",
1782 y_min = 1,
1783 y_max = 32000,
1786 minetest.register_decoration(
1788 deco_type = "schematic",
1789 place_on = {"rp_default:dry_dirt"},
1790 sidelen = 16,
1791 fill_ratio = 0.00025,
1792 biomes = {"Rocky Dryland"},
1793 flags = "place_center_x, place_center_z",
1794 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1795 y_min = 3,
1796 y_max = 32000,
1798 minetest.register_decoration(
1800 deco_type = "schematic",
1801 place_on = {"rp_default:dry_dirt"},
1802 sidelen = 16,
1803 fill_ratio = 0.00025,
1804 biomes = {"Rocky Dryland"},
1805 flags = "place_center_x, place_center_z",
1806 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
1807 y_min = 3,
1808 y_max = 32000,
1810 minetest.register_decoration(
1812 deco_type = "schematic",
1813 place_on = {"rp_default:dry_dirt"},
1814 sidelen = 16,
1815 fill_ratio = 0.002,
1816 biomes = {"Rocky Dryland"},
1817 flags = "place_center_x, place_center_z",
1818 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1819 y_min = 3,
1820 y_max = 32000,
1822 minetest.register_decoration(
1824 deco_type = "schematic",
1825 place_on = {"rp_default:dry_dirt"},
1826 sidelen = 16,
1827 fill_ratio = 0.0001,
1828 biomes = {"Rocky Dryland"},
1829 flags = "place_center_x, place_center_z",
1830 schematic = minetest.get_modpath("rp_default")
1831 .. "/schematics/rp_default_tiny_birch.mts",
1832 y_min = 1,
1833 y_max = 32000,
1836 minetest.register_decoration(
1838 deco_type = "schematic",
1839 place_on = {"rp_default:dry_dirt"},
1840 sidelen = 16,
1841 fill_ratio = 0.00025,
1842 biomes = {"Rocky Dryland"},
1843 flags = "place_center_x, place_center_z",
1844 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1845 y_min = 3,
1846 y_max = 32000,
1848 minetest.register_decoration(
1850 deco_type = "schematic",
1851 place_on = {"rp_default:dry_dirt"},
1852 sidelen = 16,
1853 fill_ratio = 0.00025,
1854 biomes = {"Rocky Dryland"},
1855 flags = "place_center_x, place_center_z",
1856 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
1857 y_min = 3,
1858 y_max = 32000,
1860 minetest.register_decoration(
1862 deco_type = "schematic",
1863 place_on = {"rp_default:dry_dirt"},
1864 sidelen = 16,
1865 fill_ratio = 0.002,
1866 biomes = {"Rocky Dryland"},
1867 flags = "place_center_x, place_center_z",
1868 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1869 y_min = 3,
1870 y_max = 32000,
1873 minetest.register_decoration(
1875 deco_type = "schematic",
1876 place_on = {"rp_default:dry_dirt"},
1877 sidelen = 16,
1878 fill_ratio = 0.003,
1879 biomes = {"Wooded Dryland"},
1880 flags = "place_center_x, place_center_z",
1881 schematic = minetest.get_modpath("rp_default")
1882 .. "/schematics/rp_default_tiny_oak.mts",
1883 y_min = 1,
1884 y_max = 32000,
1887 minetest.register_decoration(
1889 deco_type = "schematic",
1890 place_on = {"rp_default:dry_dirt"},
1891 sidelen = 16,
1892 fill_ratio = 0.001,
1893 biomes = {"Wooded Dryland"},
1894 flags = "place_center_x, place_center_z",
1895 schematic = minetest.get_modpath("rp_default")
1896 .. "/schematics/rp_default_tiny_birch.mts",
1897 y_min = 1,
1898 y_max = 32000,
1902 minetest.register_decoration(
1904 deco_type = "schematic",
1905 place_on = {"rp_default:dry_dirt"},
1906 sidelen = 16,
1907 fill_ratio = 0.0002,
1908 biomes = {"Savannic Wasteland"},
1909 flags = "place_center_x, place_center_z",
1910 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1911 y_min = 3,
1912 y_max = 32000,
1917 -- Bush/shrub decorations
1919 minetest.register_decoration(
1921 deco_type = "schematic",
1922 place_on = {"rp_default:dirt_with_grass"},
1923 sidelen = 16,
1924 fill_ratio = 0.0075,
1925 biomes = {"Oak Shrubbery"},
1926 flags = "place_center_x, place_center_z",
1927 schematic = minetest.get_modpath("rp_default")
1928 .. "/schematics/rp_default_oak_bush_wide.mts",
1929 y_min = 1,
1930 y_max = 32000,
1933 minetest.register_decoration(
1935 deco_type = "schematic",
1936 place_on = {"rp_default:dirt_with_grass"},
1937 sidelen = 16,
1938 fill_ratio = 0.03,
1939 biomes = {"Dense Oak Forest"},
1940 flags = "place_center_x, place_center_z",
1941 schematic = minetest.get_modpath("rp_default")
1942 .. "/schematics/rp_default_oak_bush_wide.mts",
1943 y_min = 1,
1944 y_max = 32000,
1947 minetest.register_decoration(
1949 deco_type = "schematic",
1950 place_on = {"rp_default:dirt_with_grass"},
1951 sidelen = 16,
1952 fill_ratio = 0.001,
1953 biomes = {"Oak Forest"},
1954 flags = "place_center_x, place_center_z",
1955 schematic = minetest.get_modpath("rp_default")
1956 .. "/schematics/rp_default_oak_bush_wide.mts",
1957 y_min = 1,
1958 y_max = 32000,
1961 minetest.register_decoration(
1963 deco_type = "schematic",
1964 place_on = {"rp_default:dirt_with_dry_grass"},
1965 sidelen = 16,
1966 fill_ratio = 0.005,
1967 biomes = {"Savanna", "Chaparral"},
1968 flags = "place_center_x, place_center_z",
1969 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
1970 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
1971 y_min = 3,
1972 y_max = 32000,
1973 rotation = "0",
1976 minetest.register_decoration(
1978 deco_type = "schematic",
1979 place_on = {"rp_default:dirt_with_dry_grass"},
1980 sidelen = 16,
1981 fill_ratio = 0.0025,
1982 biomes = {"Savannic Wasteland"},
1983 flags = "place_center_x, place_center_z",
1984 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
1985 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
1986 y_min = 3,
1987 y_max = 32000,
1988 rotation = "0",
1991 minetest.register_decoration(
1993 deco_type = "schematic",
1994 place_on = {"rp_default:dry_dirt"},
1995 sidelen = 16,
1996 fill_ratio = 0.001,
1997 biomes = {"Rocky Dryland", "Wooded Dryland"},
1998 flags = "place_center_x, place_center_z",
1999 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
2000 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
2001 y_min = 3,
2002 y_max = 32000,
2005 minetest.register_decoration(
2007 deco_type = "schematic",
2008 place_on = {"rp_default:dirt_with_dry_grass"},
2009 sidelen = 16,
2010 fill_ratio = 0.06,
2011 biomes = {"Chaparral"},
2012 flags = "place_center_x, place_center_z",
2013 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
2014 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_dry_bush.mts",
2015 y_min = 0,
2016 y_max = 32000,
2017 rotation = "0",
2019 minetest.register_decoration(
2021 deco_type = "schematic",
2022 place_on = {"rp_default:dirt_with_grass"},
2023 sidelen = 16,
2024 biomes = {"Thorny Shrubs"},
2025 flags = "place_center_x, place_center_z",
2026 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
2027 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_dry_bush.mts",
2028 y_min = 5,
2029 y_max = 32000,
2030 rotation = "0",
2031 noise_params = {
2032 octaves = 1,
2033 scale = -0.004,
2034 offset = -0.001,
2035 spread = { x = 82, y = 82, z = 82 },
2036 lacunarity = 2.0,
2037 persistence = 0.5,
2038 seed = 493421,
2043 minetest.register_decoration(
2045 deco_type = "schematic",
2046 place_on = {"rp_default:dirt_with_grass"},
2047 sidelen = 16,
2048 fill_ratio = 0.0003,
2049 biomes = {"Oak Shrubbery"},
2050 flags = "place_center_x, place_center_z",
2051 schematic = minetest.get_modpath("rp_default")
2052 .. "/schematics/rp_default_normal_bush_small.mts",
2053 y_min = 1,
2054 y_max = 32000,
2057 minetest.register_decoration(
2059 deco_type = "schematic",
2060 place_on = {"rp_default:dirt_with_grass"},
2061 sidelen = 16,
2062 fill_ratio = 0.006,
2063 biomes = {"Shrubbery"},
2064 flags = "place_center_x, place_center_z",
2065 schematic = minetest.get_modpath("rp_default")
2066 .. "/schematics/rp_default_normal_bush_small.mts",
2067 y_min = 1,
2068 y_max = 32000,
2073 minetest.register_decoration(
2075 deco_type = "schematic",
2076 place_on = {"rp_default:dirt_with_grass"},
2077 sidelen = 16,
2078 fill_ratio = 0.004,
2079 biomes = {"Wilderness", "Grove"},
2080 flags = "place_center_x, place_center_z",
2081 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_bush.mts",
2082 y_min = 3,
2083 y_max = 32000,
2084 rotation = "0",
2087 -- Thistle decorations
2089 minetest.register_decoration(
2091 deco_type = "simple",
2092 place_on = "rp_default:dirt_with_grass",
2093 sidelen = 16,
2094 fill_ratio = 0.024,
2095 biomes = {"Wilderness"},
2096 decoration = {"rp_default:thistle"},
2097 height = 2,
2098 y_min = -32000,
2099 y_max = 32000,
2101 minetest.register_decoration(
2103 deco_type = "simple",
2104 place_on = {"rp_default:dirt_with_grass", "rp_default:dry_dirt"},
2105 sidelen = 4,
2106 biomes = {"Thorny Shrubs"},
2107 decoration = {"rp_default:thistle"},
2108 height = 2,
2109 y_min = -32000,
2110 y_max = 32000,
2111 noise_params = {
2112 octaves = 2,
2113 scale = 1,
2114 offset = -0.5,
2115 spread = { x = 12, y = 12, z = 12 },
2116 lacunarity = 2.0,
2117 persistence = 0.5,
2118 seed = 43905,
2121 -- Papyrus decorations
2123 -- Beach papyrus
2124 minetest.register_decoration(
2126 deco_type = "simple",
2127 place_on = {"rp_default:sand", "rp_default:dirt", "rp_default:dirt_with_grass"},
2128 spawn_by = {"rp_default:water_source", "rp_default:water_flowing"},
2129 num_spawn_by = 1,
2130 sidelen = 16,
2131 fill_ratio = 0.08,
2132 biomes = {"Grassland Ocean", "Grassland", "Forest Ocean", "Forest", "Wilderness Ocean", "Wilderness", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Marsh Beach"},
2133 decoration = {"rp_default:papyrus"},
2134 height = 2,
2135 y_max = 3,
2136 y_min = 0,
2139 -- Grassland papyrus
2140 minetest.register_decoration(
2142 deco_type = "simple",
2143 place_on = {"rp_default:dirt_with_grass"},
2144 spawn_by = {"group:water"},
2145 num_spawn_by = 1,
2146 sidelen = 16,
2147 fill_ratio = 0.08,
2148 biomes = {"Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"},
2149 decoration = {"rp_default:papyrus"},
2150 height = 2,
2151 height_max = 3,
2152 y_max = 30,
2153 y_min = 4,
2157 -- Swamp papyrus
2158 minetest.register_decoration(
2160 deco_type = "simple",
2161 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2162 spawn_by = {"group:water"},
2163 num_spawn_by = 1,
2164 sidelen = 16,
2165 fill_ratio = 0.30,
2166 biomes = {"Mixed Swamp"},
2167 decoration = {"rp_default:papyrus"},
2168 height = 3,
2169 height_max = 4,
2170 y_max = 31000,
2171 y_min = -100,
2174 minetest.register_decoration(
2176 deco_type = "simple",
2177 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2178 spawn_by = {"group:water"},
2179 num_spawn_by = 1,
2180 sidelen = 16,
2181 fill_ratio = 0.60,
2182 biomes = {"Papyrus Swamp"},
2183 decoration = {"rp_default:papyrus"},
2184 height = 4,
2185 height_max = 4,
2186 y_max = 31000,
2187 y_min = -100,
2190 -- Flower decorations
2192 minetest.register_decoration(
2194 deco_type = "simple",
2195 place_on = "rp_default:dirt_with_grass",
2196 sidelen = 16,
2197 fill_ratio = 0.04,
2198 biomes = {"Grassland", "Wilderness", "Orchard", "Baby Poplar Plains"},
2199 decoration = {"rp_default:flower"},
2200 y_min = -32000,
2201 y_max = 32000,
2204 -- Grass decorations
2206 if mg_name ~= "v6" then
2207 minetest.register_decoration(
2209 deco_type = "simple",
2210 place_on = "rp_default:dirt_with_grass",
2211 sidelen = 16,
2212 fill_ratio = 0.18,
2213 biomes = {"Grassland", "Orchard", "Swamp Meadow", "Baby Poplar Plains", "Poplar Plains", "Shrubbery", "Oak Shrubbery", "Thorny Shrubs", "Dry Swamp"},
2214 decoration = {"rp_default:grass"},
2215 y_min = 10,
2216 y_max = 32000,
2220 minetest.register_decoration(
2222 deco_type = "simple",
2223 place_on = "rp_default:dirt_with_swamp_grass",
2224 sidelen = 16,
2225 fill_ratio = 0.04,
2226 biomes = {"Mixed Swamp", "Dry Swamp", "Swamp Meadow", "Swamp Papyrus", "Swamp Forest"},
2227 decoration = {"rp_default:swamp_grass"},
2228 y_min = 2,
2229 y_max = 40,
2232 minetest.register_decoration(
2234 deco_type = "simple",
2235 place_on = "rp_default:dirt_with_dry_grass",
2236 sidelen = 16,
2237 fill_ratio = 0.07,
2238 biomes = {"Desert", "Savanna", "Chaparral", "Savannic Wasteland"},
2239 decoration = {"rp_default:dry_grass"},
2240 y_min = 10,
2241 y_max = 500,
2244 if mg_name ~= "v6" then
2245 minetest.register_decoration(
2247 deco_type = "simple",
2248 place_on = "rp_default:dirt_with_grass",
2249 sidelen = 16,
2250 fill_ratio = 0.08,
2251 biomes = {"Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Tall Oak Forest", "Mystery Forest"},
2252 decoration = {"rp_default:grass"},
2253 y_min = 0,
2254 y_max = 32000,
2257 minetest.register_decoration(
2259 deco_type = "simple",
2260 place_on = "rp_default:dirt_with_grass",
2261 sidelen = 16,
2262 fill_ratio = 0.08,
2263 biomes = {"Forest", "Marsh", "Grove", "Shrubbery", "Oak Shrubbery"},
2264 decoration = {"rp_default:tall_grass"},
2265 y_min = 0,
2266 y_max = 32000,
2269 minetest.register_decoration(
2271 deco_type = "simple",
2272 place_on = "rp_default:dirt_with_grass",
2273 sidelen = 16,
2274 fill_ratio = 0.15,
2275 biomes = {"Deep Forest", "Dense Oak Forest"},
2276 decoration = {"rp_default:tall_grass"},
2277 y_min = 0,
2278 y_max = 32000,
2281 minetest.register_decoration(
2283 deco_type = "simple",
2284 place_on = "rp_default:dirt_with_grass",
2285 sidelen = 16,
2286 fill_ratio = 0.05,
2287 biomes = {"Thorny Shrubs"},
2288 decoration = {"rp_default:tall_grass"},
2289 y_min = 0,
2290 y_max = 32000,
2292 minetest.register_decoration(
2294 deco_type = "simple",
2295 place_on = "rp_default:dirt_with_grass",
2296 sidelen = 16,
2297 fill_ratio = 0.1,
2298 biomes = {"Thorny Shrubs"},
2299 decoration = {"rp_default:grass"},
2300 y_min = 0,
2301 y_max = 32000,
2306 minetest.register_decoration(
2308 deco_type = "simple",
2309 place_on = "rp_default:dirt_with_grass",
2310 sidelen = 16,
2311 fill_ratio = 0.16,
2312 biomes = {"Wilderness", "Thorny Shrubs"},
2313 decoration = {"rp_default:grass"},
2314 y_min = -32000,
2315 y_max = 32000,
2318 minetest.register_decoration(
2320 deco_type = "simple",
2321 place_on = "rp_default:dirt_with_grass",
2322 sidelen = 16,
2323 fill_ratio = 0.12,
2324 biomes = {"Wilderness", "Thorny Shrubs"},
2325 decoration = {"rp_default:tall_grass"},
2326 y_min = -32000,
2327 y_max = 32000,
2330 -- Fern decorations
2332 minetest.register_decoration(
2334 deco_type = "simple",
2335 place_on = "rp_default:dirt_with_grass",
2336 sidelen = 16,
2337 fill_ratio = 0.02,
2338 biomes = {"Wilderness", "Grove", "Tall Oak Forest", "Mystery Forest"},
2339 decoration = {"rp_default:fern"},
2340 y_min = -32000,
2341 y_max = 32000,
2344 -- Clam decorations
2346 minetest.register_decoration(
2348 deco_type = "simple",
2349 place_on = {"rp_default:sand", "rp_default:gravel"},
2350 sidelen = 16,
2351 fill_ratio = 0.02,
2352 biomes = {"Grassland Ocean", "Wasteland Beach", "Forest Ocean", "Wilderness Ocean", "Grove Ocean", "Thorny Shrubs Ocean", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Savanna Ocean", "Rocky Dryland Ocean", "Savannic Wasteland Ocean", "Desert Ocean", "Baby Poplar Plains"},
2353 decoration = {"rp_default:clam"},
2354 y_min = 0,
2355 y_max = 1,
2359 --[[ ORES ]]
2361 -- Graphite ore
2363 minetest.register_ore( -- Common above sea level mainly
2365 ore_type = "scatter",
2366 ore = "rp_default:stone_with_graphite",
2367 wherein = "rp_default:stone",
2368 clust_scarcity = 9*9*9,
2369 clust_num_ores = 8,
2370 clust_size = 8,
2371 y_min = -8,
2372 y_max = 32,
2375 minetest.register_ore( -- Slight scattering deeper down
2377 ore_type = "scatter",
2378 ore = "rp_default:stone_with_graphite",
2379 wherein = "rp_default:stone",
2380 clust_scarcity = 13*13*13,
2381 clust_num_ores = 6,
2382 clust_size = 8,
2383 y_min = -31000,
2384 y_max = -32,
2387 -- Coal ore
2389 minetest.register_ore( -- Even distribution
2391 ore_type = "scatter",
2392 ore = "rp_default:stone_with_coal",
2393 wherein = "rp_default:stone",
2394 clust_scarcity = 10*10*10,
2395 clust_num_ores = 8,
2396 clust_size = 4,
2397 y_min = -31000,
2398 y_max = 32,
2401 minetest.register_ore( -- Dense sheet
2403 ore_type = "scatter",
2404 ore = "rp_default:stone_with_coal",
2405 wherein = "rp_default:stone",
2406 clust_scarcity = 7*7*7,
2407 clust_num_ores = 10,
2408 clust_size = 8,
2409 y_min = -40,
2410 y_max = -32,
2413 minetest.register_ore( -- Deep ore sheet
2415 ore_type = "scatter",
2416 ore = "rp_default:stone_with_coal",
2417 wherein = "rp_default:stone",
2418 clust_scarcity = 6*6*6,
2419 clust_num_ores = 26,
2420 clust_size = 12,
2421 y_min = -130,
2422 y_max = -120,
2425 -- Iron ore
2427 minetest.register_ore( -- Even distribution
2429 ore_type = "scatter",
2430 ore = "rp_default:stone_with_iron",
2431 wherein = "rp_default:stone",
2432 clust_scarcity = 12*12*12,
2433 clust_num_ores = 4,
2434 clust_size = 3,
2435 y_min = -31000,
2436 y_max = -8,
2439 minetest.register_ore( -- Dense sheet
2441 ore_type = "scatter",
2442 ore = "rp_default:stone_with_iron",
2443 wherein = "rp_default:stone",
2444 clust_scarcity = 8*8*8,
2445 clust_num_ores = 20,
2446 clust_size = 12,
2447 y_min = -32,
2448 y_max = -24,
2451 minetest.register_ore( -- Dense sheet
2453 ore_type = "scatter",
2454 ore = "rp_default:stone_with_iron",
2455 wherein = "rp_default:stone",
2456 clust_scarcity = 7*7*7,
2457 clust_num_ores = 17,
2458 clust_size = 6,
2459 y_min = -80,
2460 y_max = -60,
2463 -- Tin ore
2465 minetest.register_ore( -- Even distribution
2467 ore_type = "scatter",
2468 ore = "rp_default:stone_with_tin",
2469 wherein = "rp_default:stone",
2470 clust_scarcity = 14*14*14,
2471 clust_num_ores = 8,
2472 clust_size = 4,
2473 y_min = -31000,
2474 y_max = -100,
2477 minetest.register_ore( -- Dense sheet
2479 ore_type = "scatter",
2480 ore = "rp_default:stone_with_tin",
2481 wherein = "rp_default:stone",
2482 clust_scarcity = 7*7*7,
2483 clust_num_ores = 10,
2484 clust_size = 6,
2485 y_min = -150,
2486 y_max = -140,
2489 -- Copper ore
2491 minetest.register_ore( -- Begin sheet
2493 ore_type = "scatter",
2494 ore = "rp_default:stone_with_copper",
2495 wherein = "rp_default:stone",
2496 clust_scarcity = 6*6*6,
2497 clust_num_ores = 12,
2498 clust_size = 5,
2499 y_min = -90,
2500 y_max = -80,
2503 minetest.register_ore( -- Rare even distribution
2505 ore_type = "scatter",
2506 ore = "rp_default:stone_with_copper",
2507 wherein = "rp_default:stone",
2508 clust_scarcity = 13*13*13,
2509 clust_num_ores = 10,
2510 clust_size = 5,
2511 y_min = -31000,
2512 y_max = -90,
2515 minetest.register_ore( -- Large clusters
2517 ore_type = "scatter",
2518 ore = "rp_default:stone_with_copper",
2519 wherein = "rp_default:stone",
2520 clust_scarcity = 8*8*8,
2521 clust_num_ores = 22,
2522 clust_size = 10,
2523 y_min = -230,
2524 y_max = -180,
2527 -- Small gravel blobs
2528 minetest.register_ore({
2529 ore_type = "blob",
2530 ore = "rp_default:gravel",
2531 wherein = "rp_default:stone",
2532 clust_scarcity = 10*10*10,
2533 clust_num_ores = 33,
2534 clust_size = 4,
2535 y_min = -31000,
2536 y_max = 31000,
2537 noise_params = {
2538 offset = 0,
2539 scale = 1,
2540 spread = {x=150, y=150, z=150},
2541 seed = 58943,
2542 octaves = 3,
2543 persist = 0.5,
2544 lacunarity = 2,
2545 flags = "defaults",
2549 -- Small sand blobs
2550 minetest.register_ore({
2551 ore_type = "blob",
2552 ore = "rp_default:sand",
2553 wherein = "rp_default:stone",
2554 clust_scarcity = 10*10*10,
2555 clust_num_ores = 40,
2556 clust_size = 4,
2557 y_min = -31000,
2558 y_max = 31000,
2559 noise_params = {
2560 offset = 0,
2561 scale = 1,
2562 spread = {x=150, y=150, z=150},
2563 seed = 38943,
2564 octaves = 3,
2565 persist = 0.5,
2566 lacunarity = 2,
2567 flags = "defaults",
2572 -- Dirt, Dry Dirt and Swamp Dirt blobs.
2573 -- These get generated depending on the biome.
2574 -- The following code is to generate the list
2575 -- of biomes that include either dirt, dry dirt or swamp dirt.
2577 -- Returns a list of biomes that use the specified nodename
2578 -- as its dirt blob, by using the data from
2579 -- default.get_biome_info.
2580 -- * nodename: A name of the node (a dirt node)
2581 local get_dirt_biomes = function(nodename)
2582 local biomes = default.get_core_biomes()
2583 local out_biomes = {}
2584 for b=1, #biomes do
2585 local biome_info = default.get_biome_info(biomes[b])
2586 -- Add biome to list iff it uses the specified node as dirt blob
2587 if biome_info.dirt_blob ~= nil and biome_info.dirt_blob == nodename then
2588 table.insert(out_biomes, biomes[b])
2591 return out_biomes
2594 local dirt_biomes = get_dirt_biomes("rp_default:dirt")
2595 local dry_dirt_biomes = get_dirt_biomes("rp_default:dry_dirt")
2596 local swamp_dirt_biomes = get_dirt_biomes("rp_default:swamp_dirt")
2598 minetest.log("verbose", "[rp_default] List of builtin biomes with Dirt blobs: "..dump(dirt_biomes))
2599 minetest.log("verbose", "[rp_default] List of builtin biomes with Dry Dirt blobs: "..dump(dry_dirt_biomes))
2600 minetest.log("verbose", "[rp_default] List of builtin biomes with Swamp Dirt blobs: "..dump(swamp_dirt_biomes))
2602 local np_dirtlike = {
2603 offset = 0,
2604 scale = 1,
2605 spread = {x=150, y=150, z=150},
2606 seed = 98943,
2607 octaves = 3,
2608 persist = 0.5,
2609 lacunarity = 2,
2610 flags = "defaults",
2613 minetest.register_ore({
2614 ore_type = "blob",
2615 ore = "rp_default:dirt",
2616 wherein = "rp_default:stone",
2617 clust_scarcity = 10*10*10,
2618 clust_num_ores = 33,
2619 clust_size = 4,
2620 y_min = -31000,
2621 y_max = 31000,
2622 biomes = dirt_biomes,
2623 noise_params = np_dirtlike,
2626 minetest.register_ore({
2627 ore_type = "blob",
2628 ore = "rp_default:dry_dirt",
2629 wherein = "rp_default:stone",
2630 clust_scarcity = 10*10*10,
2631 clust_num_ores = 33,
2632 clust_size = 4,
2633 y_min = -31000,
2634 y_max = 31000,
2635 biomes = dry_dirt_biomes,
2636 noise_params = np_dirtlike,
2639 minetest.register_ore({
2640 ore_type = "blob",
2641 ore = "rp_default:swamp_dirt",
2642 wherein = "rp_default:stone",
2643 clust_scarcity = 10*10*10,
2644 clust_num_ores = 33,
2645 clust_size = 4,
2646 y_min = -31000,
2647 y_max = 31000,
2648 biomes = swamp_dirt_biomes,
2649 noise_params = np_dirtlike,