Reduce filler height for swamp highland biomes
[Pixture/pixture_revival.git] / mods / rp_default / mapgen.lua
blob442ccd3b2123ef5883b3a3c8c73535bc5f5d7b82
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
68 local SWAMP_HIGH_Y_MAX = 24
70 local register_ocean_and_beach = function(biomename, node_ocean, beach_depth, node_beach)
71 local orig_biome = minetest.registered_biomes[biomename]
72 if not orig_biome then
73 return
74 end
75 local newdef = table.copy(orig_biome)
76 newdef.name = biomename .. " Ocean"
77 newdef.node_top = node_ocean or "rp_default:sand"
78 newdef.node_filler = newdef.node_top
79 newdef.y_min = UNDERGROUND_Y_MAX + 1
81 if beach_depth and beach_depth > 0 then
82 newdef.y_max = orig_biome.y_min - beach_depth - 1
83 else
84 newdef.y_max = orig_biome.y_min - 1
85 end
86 minetest.register_biome(newdef)
88 if beach_depth and beach_depth > 0 then
90 local newdef2 = table.copy(orig_biome)
91 newdef2.name = biomename .. " Beach"
92 newdef2.node_top = node_beach or "rp_default:sand"
93 newdef2.node_filler = newdef2.node_top
94 newdef2.y_min = orig_biome.y_min - beach_depth
95 newdef2.y_max = orig_biome.y_min - 1
96 minetest.register_biome(newdef2)
97 end
98 end
100 if mg_name ~= "v6" then
102 -- 'lowland' version of Dense Grassland biome
103 minetest.register_biome(
105 name = "Marsh",
107 node_top = "rp_default:dirt_with_grass",
108 node_filler = "rp_default:dirt",
109 node_cave_liquid = "rp_default:swamp_water_source",
110 node_riverbed = "rp_default:dirt",
112 depth_filler = 0,
113 depth_top = 1,
114 depth_riverbed = 1,
116 y_min = 2,
117 y_max = SWAMP_Y_MAX,
119 heat_point = 81,
120 humidity_point = 80,
122 register_ocean_and_beach("Marsh", "rp_default:dirt", 2, "rp_default:sand")
123 default.set_biome_info("Marsh", "grassy")
125 -- 'highland' version of Marsh biome
126 minetest.register_biome(
128 name = "Dense Grassland",
130 node_top = "rp_default:dirt_with_grass",
131 node_filler = "rp_default:dirt",
132 node_riverbed = "rp_default:dirt",
134 depth_filler = 3,
135 depth_top = 1,
136 depth_riverbed = 3,
138 y_min = SWAMP_Y_MAX + 1,
139 y_max = 31000,
141 heat_point = 81,
142 humidity_point = 80,
144 default.set_biome_info("Dense Grassland", "grassy")
147 -- This special biome has the giant birch trees and is
148 -- limited to a very specific height.
149 -- It has no equivalent biome above or below.
150 minetest.register_biome(
152 name = "Deep Forest",
154 node_top = "rp_default:dirt_with_grass",
155 node_filler = "rp_default:dirt",
156 node_riverbed = "rp_default:sand",
158 depth_filler = 6,
159 depth_top = 1,
160 depth_riverbed = 3,
162 y_min = 30,
163 y_max = 40,
165 heat_point = 29,
166 humidity_point = 34,
168 default.set_biome_info("Deep Forest", "grassy")
170 minetest.register_biome(
172 name = "Forest",
174 node_top = "rp_default:dirt_with_grass",
175 node_filler = "rp_default:dirt",
176 node_riverbed = "rp_default:sand",
178 depth_filler = 6,
179 depth_top = 1,
180 depth_riverbed = 2,
182 y_min = 2,
183 y_max = 200,
185 heat_point = 29,
186 humidity_point = 36,
188 register_ocean_and_beach("Forest", "rp_default:sand")
189 default.set_biome_info("Forest", "grassy")
191 minetest.register_biome(
193 name = "Grove",
195 node_top = "rp_default:dirt_with_grass",
196 node_filler = "rp_default:dirt",
197 node_riverbed = "rp_default:sand",
199 depth_filler = 4,
200 depth_top = 1,
201 depth_riverbed = 4,
203 y_min = 3,
204 y_max = 32000,
206 heat_point = 35,
207 humidity_point = 19,
209 register_ocean_and_beach("Grove", "rp_default:sand")
210 default.set_biome_info("Grove", "grassy")
212 minetest.register_biome(
214 name = "Wilderness",
216 node_top = "rp_default:dirt_with_grass",
217 node_filler = "rp_default:dirt",
218 node_riverbed = "rp_default:sand",
220 depth_filler = 6,
221 depth_top = 1,
222 depth_riverbed = 2,
224 y_min = 3,
225 y_max = 32000,
227 heat_point = 55,
228 humidity_point = 24,
230 register_ocean_and_beach("Wilderness", "rp_default:sand")
231 default.set_biome_info("Wilderness", "grassy")
233 -- Note: Grassland is below Orchard
234 minetest.register_biome(
236 name = "Grassland",
238 node_top = "rp_default:dirt_with_grass",
239 node_filler = "rp_default:dirt",
240 node_riverbed = "rp_default:sand",
242 depth_filler = 4,
243 depth_top = 1,
244 depth_riverbed = 2,
246 y_min = 3,
247 y_max = ORCHARD_Y_MIN - 1,
249 heat_point = 55,
250 humidity_point = 56,
252 register_ocean_and_beach("Grassland", "rp_default:sand")
253 default.set_biome_info("Grassland", "grassy")
255 -- Note: Orchard is the 'highland' version of Grassland
256 minetest.register_biome(
258 name = "Orchard",
260 node_top = "rp_default:dirt_with_grass",
261 node_filler = "rp_default:dirt",
262 node_riverbed = "rp_default:sand",
264 depth_filler = 4,
265 depth_top = 1,
266 depth_riverbed = 2,
268 y_min = ORCHARD_Y_MIN,
269 y_max = 32000,
271 heat_point = 55,
272 humidity_point = 56,
274 default.set_biome_info("Orchard", "grassy")
276 -- Note: Shrubbery is below Chaparral
277 minetest.register_biome(
279 name = "Shrubbery",
281 node_top = "rp_default:dirt_with_grass",
282 node_filler = "rp_default:dirt",
283 node_riverbed = "rp_default:sand",
285 depth_filler = 3,
286 depth_top = 1,
287 depth_riverbed = 2,
289 y_min = 2,
290 y_max = 55,
292 heat_point = 76,
293 humidity_point = 50,
295 register_ocean_and_beach("Shrubbery", "rp_default:sand")
296 default.set_biome_info("Shrubbery", "grassy")
298 -- Note: High biome. This is the highland version of Shrubbery
299 minetest.register_biome(
301 name = "Chaparral",
303 node_top = "rp_default:dirt_with_dry_grass",
304 node_filler = "rp_default:dry_dirt",
305 node_riverbed = "rp_default:sand",
307 depth_filler = 0,
308 depth_top = 1,
309 depth_riverbed = 4,
311 y_min = 56,
312 y_max = 32000,
314 heat_point = 76,
315 humidity_point = 50,
317 default.set_biome_info("Chaparral", "savannic")
319 minetest.register_biome(
321 name = "Savanna",
323 node_top = "rp_default:dirt_with_dry_grass",
324 node_filler = "rp_default:dry_dirt",
325 node_riverbed = "rp_default:gravel",
327 depth_filler = 2,
328 depth_top = 1,
329 depth_riverbed = 3,
331 y_min = 2,
332 y_max = 55,
334 heat_point = 77,
335 humidity_point = 12,
337 register_ocean_and_beach("Savanna", "rp_default:sand")
338 default.set_biome_info("Savanna", "savannic")
340 minetest.register_biome(
342 name = "Wasteland",
344 node_top = "rp_default:dry_dirt",
345 node_filler = "rp_default:sandstone",
346 node_riverbed = "rp_default:sandstone",
348 depth_filler = 3,
349 depth_top = 1,
350 depth_riverbed = 2,
352 y_min = 2,
353 y_max = 32000,
355 heat_point = 100,
356 humidity_point = 0,
358 register_ocean_and_beach("Wasteland", "rp_default:dry_dirt", 5, "rp_default:gravel")
359 default.set_biome_info("Wasteland", "drylandic")
361 minetest.register_biome(
363 name = "Rocky Dryland",
365 node_top = "rp_default:dry_dirt",
366 node_filler = "rp_default:dry_dirt",
367 node_riverbed = "rp_default:gravel",
369 depth_filler = 0,
370 depth_top = 1,
371 depth_riverbed = 4,
373 y_min = 3,
374 y_max = 32000,
376 heat_point = 86,
377 humidity_point = 7,
379 register_ocean_and_beach("Rocky Dryland", "rp_default:gravel")
380 default.set_biome_info("Rocky Dryland", "drylandic")
382 minetest.register_biome(
384 name = "Wooded Dryland",
386 node_top = "rp_default:dry_dirt",
387 node_filler = "rp_default:dry_dirt",
388 node_riverbed = "rp_default:gravel",
390 depth_filler = 4,
391 depth_top = 1,
392 depth_riverbed = 2,
394 y_min = 1,
395 y_max = 32000,
397 heat_point = 94,
398 humidity_point = 10,
400 register_ocean_and_beach("Wooded Dryland", "rp_default:dry_dirt")
401 default.set_biome_info("Wooded Dryland", "drylandic")
403 minetest.register_biome(
405 name = "Savannic Wasteland",
407 node_top = "rp_default:dry_dirt",
408 node_filler = "rp_default:sandstone",
409 node_riverbed = "rp_default:gravel",
411 depth_filler = 2,
412 depth_top = 1,
413 depth_riverbed = 2,
415 y_min = 2,
416 y_max = 32000,
418 heat_point = 80,
419 humidity_point = 10,
421 register_ocean_and_beach("Savannic Wasteland", "rp_default:sand")
422 default.set_biome_info("Savannic Wasteland", "savannic")
424 minetest.register_biome(
426 name = "Thorny Shrubs",
428 node_top = "rp_default:dirt_with_grass",
429 node_filler = "rp_default:dirt",
430 node_riverbed = "rp_default:gravel",
432 depth_filler = 4,
433 depth_top = 1,
434 depth_riverbed = 2,
436 y_min = 2,
437 y_max = 200,
439 heat_point = 54,
440 humidity_point = 0,
442 register_ocean_and_beach("Thorny Shrubs", "rp_default:sand")
443 default.set_biome_info("Thorny Shrubs", "grassy")
445 minetest.register_biome(
447 name = "Mystery Forest",
449 node_top = "rp_default:dirt_with_grass",
450 node_filler = "rp_default:dirt",
451 node_riverbed = "rp_default:gravel",
453 depth_filler = 4,
454 depth_top = 1,
455 depth_riverbed = 2,
457 y_min = 1,
458 y_max = 200,
460 heat_point = 15,
461 humidity_point = 0,
463 register_ocean_and_beach("Mystery Forest", "rp_default:dirt")
464 default.set_biome_info("Mystery Forest", "grassy")
466 minetest.register_biome(
468 name = "Poplar Plains",
470 node_top = "rp_default:dirt_with_grass",
471 node_filler = "rp_default:dirt",
472 node_riverbed = "rp_default:sand",
474 depth_filler = 4,
475 depth_top = 1,
476 depth_riverbed = 2,
478 y_min = 1,
479 y_max = 32000,
481 heat_point = 100,
482 humidity_point = 56,
484 register_ocean_and_beach("Poplar Plains", "rp_default:dirt")
485 default.set_biome_info("Poplar Plains", "grassy")
487 minetest.register_biome(
489 name = "Baby Poplar Plains",
491 node_top = "rp_default:dirt_with_grass",
492 node_filler = "rp_default:dirt",
493 node_riverbed = "rp_default:sand",
495 depth_filler = 4,
496 depth_top = 1,
497 depth_riverbed = 2,
499 y_min = 2,
500 y_max = 32000,
502 heat_point = 100,
503 humidity_point = 42,
505 register_ocean_and_beach("Baby Poplar Plains", "rp_default:sand")
506 default.set_biome_info("Baby Poplar Plains", "grassy")
508 minetest.register_biome(
510 name = "Tall Birch Forest",
512 node_top = "rp_default:dirt_with_grass",
513 node_filler = "rp_default:dirt",
514 node_riverbed = "rp_default:sand",
516 depth_filler = 3,
517 depth_top = 1,
518 depth_riverbed = 2,
520 y_min = 2,
521 y_max = 32000,
523 heat_point = 0,
524 humidity_point = 15,
526 register_ocean_and_beach("Tall Birch Forest", "rp_default:sand")
527 default.set_biome_info("Tall Birch Forest", "grassy")
529 minetest.register_biome(
531 name = "Birch Forest",
533 node_top = "rp_default:dirt_with_grass",
534 node_filler = "rp_default:dirt",
535 node_riverbed = "rp_default:sand",
537 depth_filler = 3,
538 depth_top = 1,
539 depth_riverbed = 2,
541 y_min = 2,
542 y_max = 32000,
544 heat_point = 14,
545 humidity_point = 16,
547 register_ocean_and_beach("Birch Forest", "rp_default:sand")
548 default.set_biome_info("Birch Forest", "grassy")
550 minetest.register_biome(
552 name = "Oak Shrubbery",
554 node_top = "rp_default:dirt_with_grass",
555 node_filler = "rp_default:dirt",
556 node_riverbed = "rp_default:gravel",
558 depth_filler = 3,
559 depth_top = 1,
560 depth_riverbed = 1,
562 y_min = 1,
563 y_max = 32000,
565 heat_point = 33,
566 humidity_point = 62,
568 register_ocean_and_beach("Oak Shrubbery", "rp_default:dirt")
569 default.set_biome_info("Oak Shrubbery", "grassy")
571 minetest.register_biome(
573 name = "Oak Forest",
575 node_top = "rp_default:dirt_with_grass",
576 node_filler = "rp_default:dirt",
577 node_riverbed = "rp_default:gravel",
579 depth_filler = 5,
580 depth_top = 1,
581 depth_riverbed = 1,
583 y_min = 1,
584 y_max = 32000,
586 heat_point = 32,
587 humidity_point = 61,
589 register_ocean_and_beach("Oak Forest", "rp_default:sand")
590 default.set_biome_info("Oak Forest", "grassy")
592 minetest.register_biome(
594 name = "Tall Oak Forest",
596 node_top = "rp_default:dirt_with_grass",
597 node_filler = "rp_default:dirt",
598 node_riverbed = "rp_default:gravel",
600 depth_filler = 6,
601 depth_top = 1,
602 depth_riverbed = 2,
604 y_min = 1,
605 y_max = 32000,
607 heat_point = 10,
608 humidity_point = 52,
610 register_ocean_and_beach("Tall Oak Forest", "rp_default:sand")
611 default.set_biome_info("Tall Oak Forest", "grassy")
613 minetest.register_biome(
615 name = "Dense Oak Forest",
617 node_top = "rp_default:dirt_with_grass",
618 node_filler = "rp_default:dirt",
619 node_riverbed = "rp_default:gravel",
621 depth_filler = 7,
622 depth_top = 1,
623 depth_riverbed = 3,
625 y_min = 30,
626 y_max = 32000,
628 heat_point = 0,
629 humidity_point = 52,
631 default.set_biome_info("Dense Oak Forest", "grassy")
633 -- Equivalent to Pixture's original 'Swamp' biome
634 minetest.register_biome(
636 name = "Swamp Meadow",
638 node_top = "rp_default:dirt_with_swamp_grass",
639 node_filler = "rp_default:swamp_dirt",
640 node_cave_liquid = "rp_default:swamp_water_source",
641 node_riverbed = "rp_default:swamp_dirt",
643 depth_filler = 7,
644 depth_top = 1,
645 depth_riverbed = 4,
647 y_min = 2,
648 y_max = SWAMP_Y_MAX,
650 heat_point = 54,
651 humidity_point = 97,
653 register_ocean_and_beach("Swamp Meadow", "rp_default:swamp_dirt", 3, "rp_default:sand")
654 default.set_biome_info("Swamp Meadow", "swampy")
656 minetest.register_biome(
658 name = "Swamp Meadow Highland",
660 node_top = "rp_default:dirt_with_swamp_grass",
661 node_filler = "rp_default:swamp_dirt",
662 node_cave_liquid = "rp_default:swamp_water_source",
663 node_riverbed = "rp_default:swamp_dirt",
665 depth_filler = 6,
666 depth_top = 1,
667 depth_riverbed = 3,
669 y_min = SWAMP_Y_MAX+1,
670 y_max = SWAMP_HIGH_Y_MAX,
672 heat_point = 54,
673 humidity_point = 133,
675 default.set_biome_info("Swamp Meadow Highland", "swampy")
677 minetest.register_biome(
679 name = "Mixed Swamp",
681 node_top = "rp_default:dirt_with_swamp_grass",
682 node_filler = "rp_default:swamp_dirt",
683 node_cave_liquid = "rp_default:swamp_water_source",
684 node_riverbed = "rp_default:swamp_dirt",
686 depth_filler = 7,
687 depth_top = 1,
688 depth_riverbed = 3,
690 y_min = 1,
691 y_max = SWAMP_Y_MAX,
693 heat_point = 32,
694 humidity_point = 92,
696 register_ocean_and_beach("Mixed Swamp", "rp_default:dirt", 5, "rp_default:swamp_dirt")
697 default.set_biome_info("Mixed Swamp", "swampy")
699 minetest.register_biome(
701 name = "Mixed Swamp Highland",
703 node_top = "rp_default:dirt_with_swamp_grass",
704 node_filler = "rp_default:swamp_dirt",
705 node_cave_liquid = "rp_default:swamp_water_source",
706 node_riverbed = "rp_default:swamp_dirt",
708 depth_filler = 6,
709 depth_top = 1,
710 depth_riverbed = 2,
712 y_min = SWAMP_Y_MAX + 1,
713 y_max = SWAMP_HIGH_Y_MAX,
715 heat_point = 32,
716 humidity_point = 133,
718 default.set_biome_info("Mixed Swamp Highland", "swampy")
720 minetest.register_biome(
722 name = "Swamp Forest",
724 node_top = "rp_default:dirt_with_swamp_grass",
725 node_filler = "rp_default:swamp_dirt",
726 node_cave_liquid = "rp_default:swamp_water_source",
727 node_riverbed = "rp_default:swamp_dirt",
729 depth_filler = 5,
730 depth_top = 1,
731 depth_riverbed = 4,
733 y_min = 1,
734 y_max = SWAMP_Y_MAX,
736 heat_point = 11,
737 humidity_point = 91,
739 register_ocean_and_beach("Swamp Forest", "rp_default:dirt", 5, "rp_default:swamp_dirt")
740 default.set_biome_info("Swamp Forest", "swampy")
742 minetest.register_biome(
744 name = "Swamp Forest Highland",
746 node_top = "rp_default:dirt_with_swamp_grass",
747 node_filler = "rp_default:swamp_dirt",
748 node_cave_liquid = "rp_default:swamp_water_source",
749 node_riverbed = "rp_default:swamp_dirt",
751 depth_filler = 4,
752 depth_top = 1,
753 depth_riverbed = 3,
755 y_min = SWAMP_Y_MAX + 1,
756 y_max = SWAMP_HIGH_Y_MAX,
758 heat_point = 11,
759 humidity_point = 133,
761 default.set_biome_info("Swamp Forest Highland", "swampy")
764 minetest.register_biome(
766 name = "Dry Swamp",
768 node_top = "rp_default:dirt_with_swamp_grass",
769 node_filler = "rp_default:swamp_dirt",
770 node_riverbed = "rp_default:swamp_dirt",
772 depth_filler = 6,
773 depth_top = 1,
774 depth_riverbed = 2,
776 y_min = 1,
777 y_max = SWAMP_Y_MAX,
779 heat_point = 83,
780 humidity_point = 84,
782 register_ocean_and_beach("Dry Swamp", "rp_default:dirt", 3, "rp_default:swamp_dirt") -- force creation of beach sub-biome
783 default.set_biome_info("Dry Swamp", "swampy")
785 minetest.register_biome(
787 name = "Dry Swamp Highland",
789 node_top = "rp_default:dirt_with_swamp_grass",
790 node_filler = "rp_default:swamp_dirt",
791 node_riverbed = "rp_default:swamp_dirt",
793 depth_filler = 5,
794 depth_top = 1,
795 depth_riverbed = 1,
797 y_min = SWAMP_Y_MAX + 1,
798 y_max = SWAMP_HIGH_Y_MAX,
800 heat_point = 83,
801 humidity_point = 129,
803 default.set_biome_info("Dry Swamp Highland", "swampy")
805 minetest.register_biome(
807 name = "Papyrus Swamp",
809 node_top = "rp_default:dirt_with_swamp_grass",
810 node_filler = "rp_default:swamp_dirt",
811 node_cave_liquid = "rp_default:swamp_water_source",
812 node_riverbed = "rp_default:swamp_dirt",
814 depth_filler = 4,
815 depth_top = 1,
816 depth_riverbed = 3,
818 y_min = 1,
819 y_max = SWAMP_Y_MAX,
821 heat_point = 44,
822 humidity_point = 98,
824 register_ocean_and_beach("Papyrus Swamp", "rp_default:swamp_dirt")
825 default.set_biome_info("Papyrus Swamp", "swampy")
827 -- Special Underground biome
828 minetest.register_biome(
830 name = "Underground",
832 y_min = -31000,
833 y_max = UNDERGROUND_Y_MAX,
835 heat_point = 50,
836 humidity_point = 50,
838 default.set_biome_info("Underground", "undergroundy")
842 local function spring_ore_np(seed)
843 return {
844 offset = 0,
845 scale = 1,
846 spread = {x=250, y=250, z=250},
847 seed = seed or 12345,
848 octaves = 3,
849 persist = 0.6,
850 lacunarity = 2,
851 flags = "defaults",
855 -- Water
857 minetest.register_ore( -- Springs
859 ore_type = "blob",
860 ore = "rp_default:water_source",
861 wherein = "rp_default:dirt_with_grass",
862 biomes = {"Grassland", "Dense Grassland"},
863 clust_scarcity = 26*26*26,
864 clust_num_ores = 1,
865 clust_size = 1,
866 y_min = 20,
867 y_max = 31000,
868 noise_params = spring_ore_np(),
871 minetest.register_ore( -- Pools
873 ore_type = "blob",
874 ore = "rp_default:water_source",
875 wherein = "rp_default:dirt_with_grass",
876 biomes = {"Wilderness"},
877 clust_scarcity = 32*32*32,
878 clust_num_ores = 20,
879 clust_size = 6,
880 y_min = 10,
881 y_max = 30,
882 noise_params = spring_ore_np(),
884 if mg_name ~= "v6" then
885 minetest.register_ore( -- Swamp (big springs)
887 ore_type = "blob",
888 ore = "rp_default:swamp_water_source",
889 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
890 biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"},
891 clust_scarcity = 7*7*7,
892 clust_num_ores = 10,
893 clust_size = 4,
894 y_min = -31000,
895 y_max = 31000,
896 noise_params = spring_ore_np(13943),
898 minetest.register_ore( -- Swamp (medium springs)
900 ore_type = "blob",
901 ore = "rp_default:swamp_water_source",
902 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
903 biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"},
904 clust_scarcity = 5*5*5,
905 clust_num_ores = 8,
906 clust_size = 2,
907 y_min = -31000,
908 y_max = 31000,
909 noise_params = spring_ore_np(49494),
912 minetest.register_ore( -- Swamp (small springs)
914 ore_type = "blob",
915 ore = "rp_default:swamp_water_source",
916 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
917 biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"},
918 clust_scarcity = 6*6*6,
919 clust_num_ores = 1,
920 clust_size = 1,
921 y_min = -31000,
922 y_max = 31000,
923 noise_params = spring_ore_np(59330),
926 minetest.register_ore( -- Marsh
928 ore_type = "blob",
929 ore = "rp_default:swamp_water_source",
930 wherein = {"rp_default:dirt_with_grass", "rp_default:dirt"},
931 biomes = {"Marsh"},
932 clust_scarcity = 8*8*8,
933 clust_num_ores = 10,
934 clust_size = 6,
935 y_min = -31000,
936 y_max = 31000,
937 noise_params = spring_ore_np(),
940 minetest.register_ore(
942 ore_type = "blob",
943 ore = "rp_default:gravel",
944 wherein = "rp_default:dry_dirt",
945 biomes = {"Rocky Dryland"},
946 clust_scarcity = 8*8*8,
947 clust_size = 8,
948 y_min = -31000,
949 y_max = 31000,
950 noise_params = {
951 octaves = 1,
952 scale = 1,
953 offset = 0,
954 spread = { x = 100, y = 100, z = 100 },
955 lacunarity = 2.0,
956 persistence = 0.5,
957 seed = 43400,
960 minetest.register_ore(
962 ore_type = "blob",
963 ore = "rp_default:stone",
964 wherein = "rp_default:dry_dirt",
965 biomes = {"Rocky Dryland"},
966 clust_scarcity = 8*8*8,
967 clust_size = 7,
968 y_min = -31000,
969 y_max = 31000,
970 noise_params = {
971 octaves = 1,
972 scale = 1,
973 offset = 0,
974 spread = { x = 100, y = 100, z = 100 },
975 lacunarity = 2.0,
976 persistence = 0.5,
977 seed = 13940,
981 minetest.register_ore( -- Dry Swamp (dirt with grass)
983 ore_type = "blob",
984 ore = "rp_default:dirt_with_grass",
985 wherein = {"rp_default:dirt_with_swamp_grass"},
986 biomes = {"Dry Swamp", "Dry Swamp Highland"},
987 clust_scarcity = 3*3*3,
988 clust_num_ores = 10,
989 clust_size = 4,
990 y_min = -31000,
991 y_max = 31000,
992 noise_params = spring_ore_np(13943),
994 minetest.register_ore( -- Dry Swamp (dirt)
996 ore_type = "blob",
997 ore = "rp_default:dirt",
998 wherein = {"rp_default:swamp_dirt"},
999 biomes = {"Dry Swamp", "Dry Swamp Beach", "Dry Swamp Highland"},
1000 clust_scarcity = 3*3*3,
1001 clust_num_ores = 10,
1002 clust_size = 4,
1003 y_min = -31000,
1004 y_max = 31000,
1005 noise_params = spring_ore_np(13943),
1007 minetest.register_ore(
1009 ore_type = "scatter",
1010 ore = "rp_default:dirt_with_dry_grass",
1011 wherein = "rp_default:dry_dirt",
1012 biomes = {"Savannic Wasteland"},
1013 clust_scarcity = 6*6*6,
1014 clust_size = 6,
1015 clust_num_ores = 40,
1016 y_min = 2,
1017 y_max = 31000,
1018 noise_params = {
1019 octaves = 1,
1020 scale = 1,
1021 offset = 0.1,
1022 spread = { x = 100, y = 100, z = 100 },
1023 lacunarity = 2.0,
1024 persistence = 0.5,
1025 seed = 12449,
1029 minetest.register_ore(
1031 ore_type = "blob",
1032 ore = "rp_default:dirt_with_dry_grass",
1033 wherein = "rp_default:dry_dirt",
1034 biomes = {"Savannic Wasteland"},
1035 clust_scarcity = 7*7*7,
1036 clust_size = 4,
1037 y_min = 2,
1038 y_max = 31000,
1039 noise_params = {
1040 octaves = 2,
1041 scale = 1,
1042 offset = 0.2,
1043 spread = { x = 100, y = 100, z = 100 },
1044 lacunarity = 2.0,
1045 persistence = 0.5,
1046 seed = 12450,
1050 minetest.register_ore(
1052 ore_type = "scatter",
1053 ore = "rp_default:stone_with_sulfur",
1054 wherein = "rp_default:stone",
1055 biomes = { "Rocky Dryland", "Wooded Dryland"},
1056 clust_scarcity = 9*9*9,
1057 clust_num_ores = 1,
1058 clust_size = 1,
1059 y_min = -8,
1060 y_max = 32,
1067 --[[ DECORATIONS ]]
1068 -- The decorations are roughly ordered by size;
1069 -- largest decorations first.
1071 -- Tree decorations
1073 if mg_name ~= "v6" then
1074 minetest.register_decoration(
1076 name = "rp_default:giga_birch_tree",
1077 deco_type = "schematic",
1078 place_on = {"rp_default:dirt_with_grass"},
1079 sidelen = 16,
1080 fill_ratio = 0.023,
1081 biomes = {"Deep Forest"},
1082 flags = "place_center_x, place_center_z",
1083 schematic = minetest.get_modpath("rp_default")
1084 .. "/schematics/rp_default_giga_birch_tree.mts",
1085 rotation = "random",
1086 y_min = -32000,
1087 y_max = 32000,
1090 minetest.register_decoration(
1092 deco_type = "schematic",
1093 place_on = {"rp_default:dirt_with_grass"},
1094 sidelen = 16,
1095 fill_ratio = 0.004,
1096 biomes = {"Grove"},
1097 flags = "place_center_x, place_center_z",
1098 schematic = minetest.get_modpath("rp_default")
1099 .. "/schematics/rp_default_tall_grove_tree.mts",
1100 y_min = 0,
1101 y_max = 32000,
1104 minetest.register_decoration(
1106 deco_type = "schematic",
1107 place_on = {"rp_default:dirt_with_grass"},
1108 sidelen = 16,
1109 fill_ratio = 0.008,
1110 biomes = {"Forest"},
1111 flags = "place_center_x, place_center_z",
1112 schematic = minetest.get_modpath("rp_default")
1113 .. "/schematics/rp_default_coniferlike_tree.mts",
1114 y_min = -32000,
1115 y_max = 32000,
1118 minetest.register_decoration(
1120 deco_type = "schematic",
1121 place_on = {"rp_default:dirt_with_grass"},
1122 sidelen = 16,
1123 fill_ratio = 0.015,
1124 biomes = {"Tall Birch Forest"},
1125 flags = "place_center_x, place_center_z",
1126 schematic = minetest.get_modpath("rp_default")
1127 .. "/schematics/rp_default_birch_cuboid_tall.mts",
1128 y_min = -32000,
1129 y_max = 32000,
1131 minetest.register_decoration(
1133 deco_type = "schematic",
1134 place_on = {"rp_default:dirt_with_grass"},
1135 sidelen = 16,
1136 fill_ratio = 0.0001,
1137 biomes = {"Tall Birch Forest"},
1138 flags = "place_center_x, place_center_z",
1139 schematic = minetest.get_modpath("rp_default")
1140 .. "/schematics/rp_default_layer_birch_2.mts",
1141 y_min = -32000,
1142 y_max = 32000,
1144 minetest.register_decoration(
1146 deco_type = "schematic",
1147 place_on = {"rp_default:dirt_with_grass"},
1148 sidelen = 16,
1149 fill_ratio = 0.00075,
1150 biomes = {"Tall Birch Forest"},
1151 flags = "place_center_x, place_center_z",
1152 schematic = minetest.get_modpath("rp_default")
1153 .. "/schematics/rp_default_birch_candlestick.mts",
1154 y_min = -32000,
1155 y_max = 32000,
1159 minetest.register_decoration(
1161 deco_type = "schematic",
1162 place_on = {"rp_default:dirt_with_grass"},
1163 sidelen = 16,
1164 fill_ratio = 0.004,
1165 biomes = {"Forest"},
1166 flags = "place_center_x, place_center_z",
1167 schematic = minetest.get_modpath("rp_default")
1168 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1169 y_min = -32000,
1170 y_max = 32000,
1173 minetest.register_decoration(
1175 deco_type = "schematic",
1176 place_on = {"rp_default:dirt_with_grass"},
1177 sidelen = 16,
1178 fill_ratio = 0.0003,
1179 biomes = {"Birch Forest"},
1180 flags = "place_center_x, place_center_z",
1181 schematic = minetest.get_modpath("rp_default")
1182 .. "/schematics/rp_default_birch_cuboid_5x4.mts",
1183 y_min = -32000,
1184 y_max = 32000,
1186 minetest.register_decoration(
1188 deco_type = "schematic",
1189 place_on = {"rp_default:dirt_with_grass"},
1190 sidelen = 16,
1191 fill_ratio = 0.001,
1192 biomes = {"Birch Forest"},
1193 flags = "place_center_x, place_center_z",
1194 schematic = minetest.get_modpath("rp_default")
1195 .. "/schematics/rp_default_birch_cuboid_3x4.mts",
1196 y_min = -32000,
1197 y_max = 32000,
1199 minetest.register_decoration(
1201 deco_type = "schematic",
1202 place_on = {"rp_default:dirt_with_grass"},
1203 sidelen = 16,
1204 fill_ratio = 0.003,
1205 biomes = {"Birch Forest"},
1206 flags = "place_center_x, place_center_z",
1207 schematic = minetest.get_modpath("rp_default")
1208 .. "/schematics/rp_default_birch_cuboid_3x3_long.mts",
1209 y_min = -32000,
1210 y_max = 32000,
1212 minetest.register_decoration(
1214 deco_type = "schematic",
1215 place_on = {"rp_default:dirt_with_grass"},
1216 sidelen = 16,
1217 fill_ratio = 0.001,
1218 biomes = {"Birch Forest"},
1219 flags = "place_center_x, place_center_z",
1220 schematic = minetest.get_modpath("rp_default")
1221 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1222 y_min = -32000,
1223 y_max = 32000,
1225 minetest.register_decoration(
1227 deco_type = "schematic",
1228 place_on = {"rp_default:dirt_with_grass"},
1229 sidelen = 16,
1230 fill_ratio = 0.0001,
1231 biomes = {"Birch Forest"},
1232 flags = "place_center_x, place_center_z",
1233 schematic = minetest.get_modpath("rp_default")
1234 .. "/schematics/rp_default_birch_plus.mts",
1235 y_min = -32000,
1236 y_max = 32000,
1238 minetest.register_decoration(
1240 deco_type = "schematic",
1241 place_on = {"rp_default:dirt_with_grass"},
1242 sidelen = 16,
1243 fill_ratio = 0.0002,
1244 biomes = {"Birch Forest"},
1245 flags = "place_center_x, place_center_z",
1246 schematic = minetest.get_modpath("rp_default")
1247 .. "/schematics/rp_default_apple_tree_empty.mts",
1248 y_min = -32000,
1249 y_max = 32000,
1254 minetest.register_decoration(
1256 deco_type = "schematic",
1257 place_on = {"rp_default:dirt_with_grass"},
1258 sidelen = 16,
1259 fill_ratio = 0.004,
1260 biomes = {"Dry Swamp"},
1261 flags = "place_center_x, place_center_z",
1262 schematic = minetest.get_modpath("rp_default")
1263 .. "/schematics/rp_default_birch_cuboid_3x3_long.mts",
1264 y_min = -32000,
1265 y_max = 32000,
1267 minetest.register_decoration(
1269 deco_type = "schematic",
1270 place_on = {"rp_default:dirt_with_grass"},
1271 sidelen = 16,
1272 fill_ratio = 0.00133333,
1273 biomes = {"Dry Swamp Highland"},
1274 flags = "place_center_x, place_center_z",
1275 schematic = minetest.get_modpath("rp_default")
1276 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1277 y_min = -32000,
1278 y_max = 32000,
1281 minetest.register_decoration(
1283 deco_type = "schematic",
1284 place_on = {"rp_default:dirt_with_grass"},
1285 sidelen = 16,
1286 fill_ratio = 0.00035,
1287 biomes = {"Orchard"},
1288 flags = "place_center_x, place_center_z",
1289 schematic = minetest.get_modpath("rp_default")
1290 .. "/schematics/rp_default_apple_tree_big.mts",
1291 y_min = 15,
1292 y_max = 32000,
1295 minetest.register_decoration(
1297 deco_type = "schematic",
1298 place_on = {"rp_default:dirt_with_grass"},
1299 sidelen = 16,
1300 fill_ratio = 0.007,
1301 biomes = {"Orchard"},
1302 flags = "place_center_x, place_center_z",
1303 schematic = minetest.get_modpath("rp_default")
1304 .. "/schematics/rp_default_apple_tree.mts",
1305 y_min = 10,
1306 y_max = 32000,
1309 minetest.register_decoration(
1311 deco_type = "schematic",
1312 place_on = {"rp_default:dirt_with_grass"},
1313 sidelen = 16,
1314 fill_ratio = 0.000033,
1315 biomes = {"Thorny Shrubs"},
1316 flags = "place_center_x, place_center_z",
1317 schematic = minetest.get_modpath("rp_default")
1318 .. "/schematics/rp_default_apple_tree.mts",
1319 y_min = -32000,
1320 y_max = 32000,
1322 minetest.register_decoration(
1324 deco_type = "schematic",
1325 place_on = {"rp_default:dirt_with_grass"},
1326 sidelen = 16,
1327 fill_ratio = 0.00067,
1328 biomes = {"Thorny Shrubs"},
1329 flags = "place_center_x, place_center_z",
1330 schematic = minetest.get_modpath("rp_default")
1331 .. "/schematics/rp_default_apple_tree_empty.mts",
1332 y_min = -32000,
1333 y_max = 32000,
1337 minetest.register_decoration(
1339 deco_type = "schematic",
1340 place_on = {"rp_default:dirt_with_grass"},
1341 sidelen = 16,
1342 fill_ratio = 0.009,
1343 biomes = {"Forest", "Deep Forest"},
1344 flags = "place_center_x, place_center_z",
1345 schematic = minetest.get_modpath("rp_default")
1346 .. "/schematics/rp_default_apple_tree.mts",
1347 y_min = -32000,
1348 y_max = 32000,
1351 minetest.register_decoration(
1353 deco_type = "schematic",
1354 place_on = {"rp_default:dirt_with_grass"},
1355 sidelen = 16,
1356 fill_ratio = 0.0009,
1357 biomes = {"Oak Forest"},
1358 flags = "place_center_x, place_center_z",
1359 schematic = minetest.get_modpath("rp_default")
1360 .. "/schematics/rp_default_oak_tree_big_1.mts",
1361 y_min = 1,
1362 y_max = 32000,
1365 minetest.register_decoration(
1367 deco_type = "schematic",
1368 place_on = {"rp_default:dirt_with_grass"},
1369 sidelen = 16,
1370 fill_ratio = 0.0045,
1371 biomes = {"Tall Oak Forest"},
1372 flags = "place_center_x, place_center_z",
1373 schematic = minetest.get_modpath("rp_default")
1374 .. "/schematics/rp_default_oak_tree_big_1.mts",
1375 y_min = 1,
1376 y_max = 32000,
1378 minetest.register_decoration(
1380 deco_type = "schematic",
1381 place_on = {"rp_default:dirt_with_grass"},
1382 sidelen = 16,
1383 fill_ratio = 0.0045,
1384 biomes = {"Tall Oak Forest"},
1385 flags = "place_center_x, place_center_z",
1386 schematic = minetest.get_modpath("rp_default")
1387 .. "/schematics/rp_default_oak_tree_big_2.mts",
1388 y_min = 1,
1389 y_max = 32000,
1393 minetest.register_decoration(
1395 deco_type = "schematic",
1396 place_on = {"rp_default:dirt_with_grass"},
1397 sidelen = 16,
1398 fill_ratio = 0.035,
1399 biomes = {"Dense Oak Forest"},
1400 flags = "place_center_x, place_center_z",
1401 schematic = minetest.get_modpath("rp_default")
1402 .. "/schematics/rp_default_oak_tree_big_1.mts",
1403 y_min = 1,
1404 y_max = 32000,
1406 minetest.register_decoration(
1408 deco_type = "schematic",
1409 place_on = {"rp_default:dirt_with_grass"},
1410 sidelen = 16,
1411 fill_ratio = 0.035,
1412 biomes = {"Dense Oak Forest"},
1413 flags = "place_center_x, place_center_z",
1414 schematic = minetest.get_modpath("rp_default")
1415 .. "/schematics/rp_default_oak_tree_big_2.mts",
1416 y_min = 1,
1417 y_max = 32000,
1422 minetest.register_decoration(
1424 deco_type = "schematic",
1425 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1426 sidelen = 16,
1427 fill_ratio = 0.0008,
1428 biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Mixed Swamp Beach"},
1429 flags = "place_center_x, place_center_z",
1430 schematic = minetest.get_modpath("rp_default")
1431 .. "/schematics/rp_default_swamp_oak.mts",
1432 y_min = 0,
1433 y_max = 32000,
1436 minetest.register_decoration(
1438 deco_type = "schematic",
1439 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1440 sidelen = 16,
1441 fill_ratio = 0.006,
1442 biomes = {"Swamp Forest", "Swamp Forest Highland", "Swamp Forest Beach"},
1443 flags = "place_center_x, place_center_z",
1444 schematic = minetest.get_modpath("rp_default")
1445 .. "/schematics/rp_default_swamp_oak.mts",
1446 y_min = 0,
1447 y_max = 32000,
1450 minetest.register_decoration(
1452 deco_type = "schematic",
1453 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1454 sidelen = 16,
1455 fill_ratio = 0.0001,
1456 biomes = {"Swamp Forest", "Swamp Forest Highland", "Swamp Forest Beach"},
1457 flags = "place_center_x, place_center_z",
1458 schematic = minetest.get_modpath("rp_default")
1459 .. "/schematics/rp_default_swamp_birch.mts",
1460 y_min = 0,
1461 y_max = 32000,
1463 minetest.register_decoration(
1465 deco_type = "schematic",
1466 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1467 sidelen = 16,
1468 fill_ratio = 0.003,
1469 biomes = {"Dry Swamp", "Dry Swamp Beach"},
1470 flags = "place_center_x, place_center_z",
1471 schematic = minetest.get_modpath("rp_default")
1472 .. "/schematics/rp_default_swamp_birch.mts",
1473 y_min = 0,
1474 y_max = 32000,
1476 minetest.register_decoration(
1478 deco_type = "schematic",
1479 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1480 sidelen = 16,
1481 fill_ratio = 0.001,
1482 biomes = {"Dry Swamp Highland"},
1483 flags = "place_center_x, place_center_z",
1484 schematic = minetest.get_modpath("rp_default")
1485 .. "/schematics/rp_default_swamp_birch.mts",
1486 y_min = 0,
1487 y_max = 32000,
1491 local MYSTERY_FOREST_SPREAD = { x=500, y=500, z=500 }
1492 local MYSTERY_FOREST_OFFSET = 0.001
1493 local MYSTERY_FOREST_OFFSET_STAIRCASE = -0.001
1494 local MYSTERY_FOREST_OFFSET_APPLES = -0.0005
1495 local MYSTERY_FOREST_SCALE = 0.008
1497 minetest.register_decoration(
1499 deco_type = "schematic",
1500 place_on = {"rp_default:dirt_with_grass"},
1501 sidelen = 16,
1502 biomes = {"Mystery Forest"},
1503 flags = "place_center_x, place_center_z",
1504 schematic = minetest.get_modpath("rp_default")
1505 .. "/schematics/rp_default_staircase_tree.mts",
1506 y_min = 1,
1507 y_max = 32000,
1508 noise_params = {
1509 octaves = 2,
1510 scale = -MYSTERY_FOREST_SCALE,
1511 offset = MYSTERY_FOREST_OFFSET_STAIRCASE,
1512 spread = MYSTERY_FOREST_SPREAD,
1513 lacunarity = 2.0,
1514 persistence = 0.5,
1515 seed = 49204,
1519 minetest.register_decoration(
1521 deco_type = "schematic",
1522 place_on = {"rp_default:dirt_with_grass"},
1523 sidelen = 16,
1524 biomes = {"Mystery Forest"},
1525 flags = "place_center_x, place_center_z",
1526 schematic = minetest.get_modpath("rp_default")
1527 .. "/schematics/rp_default_layer_birch.mts",
1528 y_min = 1,
1529 y_max = 32000,
1530 noise_params = {
1531 octaves = 2,
1532 scale = MYSTERY_FOREST_SCALE,
1533 offset = MYSTERY_FOREST_OFFSET,
1534 spread = MYSTERY_FOREST_SPREAD,
1535 lacunarity = 2.0,
1536 persistence = 0.5,
1537 seed = 49204,
1541 minetest.register_decoration(
1543 deco_type = "schematic",
1544 place_on = {"rp_default:dirt_with_grass"},
1545 sidelen = 16,
1546 biomes = {"Mystery Forest"},
1547 flags = "place_center_x, place_center_z",
1548 schematic = minetest.get_modpath("rp_default")
1549 .. "/schematics/rp_default_telephone_tree.mts",
1550 y_min = 1,
1551 y_max = 32000,
1552 noise_params = {
1553 octaves = 2,
1554 scale = -MYSTERY_FOREST_SCALE,
1555 offset = MYSTERY_FOREST_OFFSET,
1556 spread = MYSTERY_FOREST_SPREAD,
1557 lacunarity = 2.0,
1558 persistence = 0.5,
1559 seed = 49204,
1563 minetest.register_decoration(
1565 deco_type = "schematic",
1566 place_on = {"rp_default:dirt_with_grass"},
1567 sidelen = 16,
1568 biomes = {"Mystery Forest"},
1569 flags = "place_center_x, place_center_z",
1570 schematic = minetest.get_modpath("rp_default")
1571 .. "/schematics/rp_default_telephone_tree_apples.mts",
1572 y_min = 1,
1573 y_max = 32000,
1574 noise_params = {
1575 octaves = 2,
1576 scale = -MYSTERY_FOREST_SCALE,
1577 offset = MYSTERY_FOREST_OFFSET_APPLES,
1578 spread = MYSTERY_FOREST_SPREAD,
1579 lacunarity = 2.0,
1580 persistence = 0.5,
1581 seed = 49204,
1588 minetest.register_decoration(
1590 deco_type = "schematic",
1591 place_on = {"rp_default:dirt_with_grass"},
1592 sidelen = 16,
1593 biomes = {"Mystery Forest"},
1594 flags = "place_center_x, place_center_z",
1595 schematic = minetest.get_modpath("rp_default")
1596 .. "/schematics/rp_default_cross_birch.mts",
1597 y_min = 1,
1598 y_max = 32000,
1599 noise_params = {
1600 octaves = 2,
1601 scale = MYSTERY_FOREST_SCALE,
1602 offset = MYSTERY_FOREST_OFFSET,
1603 spread = MYSTERY_FOREST_SPREAD,
1604 lacunarity = 2.0,
1605 persistence = 0.5,
1606 seed = 49204,
1610 minetest.register_decoration(
1612 deco_type = "schematic",
1613 place_on = {"rp_default:dirt_with_grass"},
1614 sidelen = 16,
1615 biomes = {"Poplar Plains"},
1616 flags = "place_center_x, place_center_z",
1617 schematic = minetest.get_modpath("rp_default")
1618 .. "/schematics/rp_default_poplar_large.mts",
1619 y_min = 1,
1620 y_max = 32000,
1621 noise_params = {
1622 octaves = 2,
1623 scale = 0.01,
1624 offset = -0.004,
1625 spread = {x=50,y=50,z=50},
1626 lacunarity = 2.0,
1627 persistence = 0.5,
1628 seed = 94325,
1631 minetest.register_decoration(
1633 deco_type = "schematic",
1634 place_on = {"rp_default:dirt_with_grass"},
1635 sidelen = 16,
1636 biomes = {"Poplar Plains"},
1637 flags = "place_center_x, place_center_z",
1638 schematic = minetest.get_modpath("rp_default")
1639 .. "/schematics/rp_default_poplar_small.mts",
1640 y_min = 1,
1641 y_max = 32000,
1642 noise_params = {
1643 octaves = 2,
1644 scale = 0.01,
1645 offset = -0.001,
1646 spread = {x=50,y=50,z=50},
1647 lacunarity = 2.0,
1648 persistence = 0.5,
1649 seed = 94325,
1652 minetest.register_decoration(
1654 deco_type = "schematic",
1655 place_on = {"rp_default:dirt_with_grass"},
1656 fill_ratio = 0.0002,
1657 sidelen = 16,
1658 biomes = {"Poplar Plains"},
1659 flags = "place_center_x, place_center_z",
1660 schematic = minetest.get_modpath("rp_default")
1661 .. "/schematics/rp_default_poplar_small.mts",
1662 y_min = 1,
1663 y_max = 32000,
1666 -- Small poplar tree blobs
1667 minetest.register_decoration(
1669 deco_type = "schematic",
1670 place_on = {"rp_default:dirt_with_grass"},
1671 sidelen = 8,
1672 biomes = {"Baby Poplar Plains"},
1673 flags = "place_center_x, place_center_z",
1674 schematic = minetest.get_modpath("rp_default")
1675 .. "/schematics/rp_default_poplar_small.mts",
1676 y_min = 1,
1677 y_max = 32000,
1678 noise_params = {
1679 octaves = 2,
1680 scale = 0.05,
1681 offset = -0.032,
1682 spread = {x=24,y=24,z=24},
1683 lacunarity = 2.0,
1684 persistence = 0.5,
1685 seed = 94325,
1689 -- Occasional lonely poplars
1690 minetest.register_decoration(
1692 deco_type = "schematic",
1693 place_on = {"rp_default:dirt_with_grass"},
1694 sidelen = 16,
1695 fill_ratio = 0.0002,
1696 biomes = {"Baby Poplar Plains"},
1697 flags = "place_center_x, place_center_z",
1698 schematic = minetest.get_modpath("rp_default")
1699 .. "/schematics/rp_default_poplar_small.mts",
1700 y_min = 1,
1701 y_max = 32000,
1705 -- Bushes
1707 minetest.register_decoration(
1709 deco_type = "schematic",
1710 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1711 sidelen = 16,
1712 fill_ratio = 0.0015,
1713 biomes = {"Mixed Swamp", "Mixed Swamp Highland"},
1714 flags = "place_center_x, place_center_z",
1715 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_swamp_oak_bush.mts",
1716 y_min = 1,
1717 y_max = 32000,
1718 rotation = "0",
1722 minetest.register_decoration(
1724 deco_type = "schematic",
1725 place_on = {"rp_default:dirt_with_grass"},
1726 sidelen = 16,
1727 fill_ratio = 0.00625,
1728 biomes = {"Tall Birch Forest"},
1729 flags = "place_center_x, place_center_z",
1730 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush_big.mts",
1731 y_min = 1,
1732 y_max = 32000,
1733 rotation = "0",
1736 minetest.register_decoration(
1738 deco_type = "schematic",
1739 place_on = {"rp_default:dirt_with_grass"},
1740 sidelen = 16,
1741 fill_ratio = 0.001,
1742 biomes = {"Birch Forest"},
1743 flags = "place_center_x, place_center_z",
1744 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush.mts",
1745 y_min = 1,
1746 y_max = 32000,
1747 rotation = "0",
1749 minetest.register_decoration(
1751 deco_type = "schematic",
1752 place_on = {"rp_default:dirt_with_grass"},
1753 sidelen = 16,
1754 fill_ratio = 0.0001,
1755 biomes = {"Tall Birch Forest"},
1756 flags = "place_center_x, place_center_z",
1757 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush.mts",
1758 y_min = 1,
1759 y_max = 32000,
1760 rotation = "0",
1763 minetest.register_decoration(
1765 deco_type = "schematic",
1766 place_on = {"rp_default:dirt_with_grass"},
1767 sidelen = 16,
1768 biomes = {"Baby Poplar Plains"},
1769 flags = "place_center_x, place_center_z",
1770 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1771 y_min = 1,
1772 y_max = 32000,
1773 rotation = "0",
1774 noise_params = {
1775 octaves = 1,
1776 scale = 0.001,
1777 offset = -0.0000001,
1778 spread = { x = 50, y = 50, z = 50 },
1779 lacunarity = 2.0,
1780 persistence = 0.5,
1781 seed = 98421,
1785 minetest.register_decoration(
1787 deco_type = "schematic",
1788 place_on = {"rp_default:dirt_with_grass"},
1789 sidelen = 16,
1790 biomes = {"Thorny Shrubs"},
1791 flags = "place_center_x, place_center_z",
1792 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1793 y_min = 3,
1794 y_max = 32000,
1795 rotation = "0",
1796 noise_params = {
1797 octaves = 1,
1798 scale = -0.004,
1799 offset = 0.002,
1800 spread = { x = 82, y = 82, z = 82 },
1801 lacunarity = 2.0,
1802 persistence = 0.5,
1803 seed = 43905,
1807 minetest.register_decoration(
1809 deco_type = "schematic",
1810 place_on = {"rp_default:dirt_with_grass"},
1811 sidelen = 16,
1812 fill_ratio = 0.006,
1813 biomes = {"Shrubbery"},
1814 flags = "place_center_x, place_center_z",
1815 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1816 y_min = 1,
1817 y_max = 32000,
1818 rotation = "0",
1821 -- Wilderness apple trees: 50/50 split between
1822 -- trees with apples and those without.
1823 minetest.register_decoration(
1825 deco_type = "schematic",
1826 place_on = {"rp_default:dirt_with_grass"},
1827 sidelen = 16,
1828 fill_ratio = 0.002,
1829 biomes = {"Wilderness"},
1830 flags = "place_center_x, place_center_z",
1831 schematic = minetest.get_modpath("rp_default")
1832 .. "/schematics/rp_default_apple_tree.mts",
1833 y_min = -32000,
1834 y_max = 32000,
1836 minetest.register_decoration(
1838 deco_type = "schematic",
1839 place_on = {"rp_default:dirt_with_grass"},
1840 sidelen = 16,
1841 fill_ratio = 0.002,
1842 biomes = {"Wilderness"},
1843 flags = "place_center_x, place_center_z",
1844 schematic = minetest.get_modpath("rp_default")
1845 .. "/schematics/rp_default_apple_tree_empty.mts",
1846 y_min = -32000,
1847 y_max = 32000,
1850 minetest.register_decoration(
1852 deco_type = "schematic",
1853 place_on = {"rp_default:dirt_with_grass", "rp_default:dirt"},
1854 sidelen = 16,
1855 fill_ratio = 0.0001,
1856 biomes = {"Dry Swamp"},
1857 flags = "place_center_x, place_center_z",
1858 schematic = minetest.get_modpath("rp_default")
1859 .. "/schematics/rp_default_apple_tree.mts",
1860 y_min = -32000,
1861 y_max = 32000,
1863 minetest.register_decoration(
1865 deco_type = "schematic",
1866 place_on = {"rp_default:dirt_with_grass", "rp_default:dirt"},
1867 sidelen = 16,
1868 fill_ratio = 0.0002,
1869 biomes = {"Dry Swamp Highland"},
1870 flags = "place_center_x, place_center_z",
1871 schematic = minetest.get_modpath("rp_default")
1872 .. "/schematics/rp_default_apple_tree.mts",
1873 y_min = -32000,
1874 y_max = 32000,
1877 minetest.register_decoration(
1879 deco_type = "schematic",
1880 place_on = {"rp_default:dirt_with_grass"},
1881 sidelen = 16,
1882 fill_ratio = 0.004,
1883 biomes = {"Wilderness"},
1884 flags = "place_center_x, place_center_z",
1885 schematic = minetest.get_modpath("rp_default")
1886 .. "/schematics/rp_default_oak_tree.mts",
1887 y_min = -32000,
1888 y_max = 32000,
1892 minetest.register_decoration(
1894 deco_type = "schematic",
1895 place_on = {"rp_default:dirt_with_grass"},
1896 sidelen = 16,
1897 fill_ratio = 0.001,
1898 biomes = {"Oak Shrubbery"},
1899 flags = "place_center_x, place_center_z",
1900 schematic = minetest.get_modpath("rp_default")
1901 .. "/schematics/rp_default_oak_tree.mts",
1902 y_min = 1,
1903 y_max = 32000,
1906 minetest.register_decoration(
1908 deco_type = "schematic",
1909 place_on = {"rp_default:dirt_with_grass"},
1910 sidelen = 16,
1911 fill_ratio = 0.02,
1912 biomes = {"Dense Oak Forest"},
1913 flags = "place_center_x, place_center_z",
1914 schematic = minetest.get_modpath("rp_default")
1915 .. "/schematics/rp_default_oak_tree.mts",
1916 y_min = 1,
1917 y_max = 32000,
1920 minetest.register_decoration(
1922 deco_type = "schematic",
1923 place_on = {"rp_default:dirt_with_grass"},
1924 sidelen = 16,
1925 fill_ratio = 0.0225,
1926 biomes = {"Oak Forest"},
1927 flags = "place_center_x, place_center_z",
1928 schematic = minetest.get_modpath("rp_default")
1929 .. "/schematics/rp_default_oak_tree.mts",
1930 y_min = 1,
1931 y_max = 32000,
1934 minetest.register_decoration(
1936 deco_type = "schematic",
1937 place_on = {"rp_default:dirt_with_grass"},
1938 sidelen = 16,
1939 fill_ratio = 0.0015,
1940 biomes = {"Tall Oak Forest"},
1941 flags = "place_center_x, place_center_z",
1942 schematic = minetest.get_modpath("rp_default")
1943 .. "/schematics/rp_default_oak_tree.mts",
1944 y_min = 1,
1945 y_max = 32000,
1952 -- Rock decorations
1954 if mg_name ~= "v6" then
1955 minetest.register_decoration(
1957 deco_type = "schematic",
1958 place_on = {"rp_default:dry_dirt"},
1959 sidelen = 16,
1960 fill_ratio = 0.006,
1961 biomes = {"Wasteland"},
1962 flags = "place_center_x, place_center_z",
1963 schematic = minetest.get_modpath("rp_default")
1964 .. "/schematics/rp_default_small_rock.mts",
1965 y_min = 1,
1966 y_max = 32000,
1967 rotation = "random",
1970 minetest.register_decoration(
1972 deco_type = "schematic",
1973 place_on = {"rp_default:dry_dirt"},
1974 sidelen = 16,
1975 fill_ratio = 0.004,
1976 biomes = {"Wasteland"},
1977 flags = "place_center_x, place_center_z",
1978 schematic = minetest.get_modpath("rp_default")
1979 .. "/schematics/rp_default_large_rock.mts",
1980 y_min = 1,
1981 y_max = 32000,
1982 rotation = "random",
1985 minetest.register_decoration(
1987 deco_type = "schematic",
1988 place_on = {"rp_default:stone", "rp_default:dry_dirt"},
1989 sidelen = 16,
1990 fill_ratio = 0.003,
1991 biomes = {"Rocky Dryland"},
1992 flags = "place_center_x, place_center_z",
1993 schematic = minetest.get_modpath("rp_default")
1994 .. "/schematics/rp_default_small_rock.mts",
1995 y_min = 1,
1996 y_max = 32000,
1997 rotation = "random",
2000 minetest.register_decoration(
2002 deco_type = "schematic",
2003 place_on = {"rp_default:sand", "rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
2004 sidelen = 16,
2005 fill_ratio = 0.0005,
2006 biomes = {"Savannic Wasteland", "Savannic Wasteland Ocean"},
2007 flags = "place_center_x, place_center_z",
2008 schematic = minetest.get_modpath("rp_default")
2009 .. "/schematics/rp_default_small_sandstone_rock.mts",
2010 y_min = 1,
2011 y_max = 32000,
2013 minetest.register_decoration(
2015 deco_type = "simple",
2016 place_on = {"rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
2017 sidelen = 16,
2018 fill_ratio = 0.0001,
2019 biomes = {"Savannic Wasteland"},
2020 flags = "place_center_x, place_center_z",
2021 decoration = {"rp_default:stone"},
2022 y_min = 1,
2023 y_max = 32000,
2027 -- Sulfur decorations
2029 minetest.register_decoration(
2031 deco_type = "simple",
2032 place_on = "rp_default:dry_dirt",
2033 sidelen = 16,
2034 fill_ratio = 0.005,
2035 biomes = {"Wasteland"},
2036 decoration = {"rp_default:stone_with_sulfur"},
2037 y_min = 2,
2038 y_max = 14,
2040 minetest.register_decoration(
2042 deco_type = "simple",
2043 place_on = {"rp_default:dry_dirt", "rp_default:stone"},
2044 sidelen = 16,
2045 fill_ratio = 0.0001,
2046 biomes = {"Rocky Dryland"},
2047 decoration = {"rp_default:stone_with_sulfur"},
2048 y_min = 2,
2049 y_max = 14,
2052 -- Tiny tree decorations
2054 minetest.register_decoration(
2056 deco_type = "schematic",
2057 place_on = {"rp_default:dry_dirt"},
2058 sidelen = 16,
2059 fill_ratio = 0.0001,
2060 biomes = {"Rocky Dryland"},
2061 flags = "place_center_x, place_center_z",
2062 schematic = minetest.get_modpath("rp_default")
2063 .. "/schematics/rp_default_tiny_birch.mts",
2064 y_min = 1,
2065 y_max = 32000,
2068 minetest.register_decoration(
2070 deco_type = "schematic",
2071 place_on = {"rp_default:dry_dirt"},
2072 sidelen = 16,
2073 fill_ratio = 0.00025,
2074 biomes = {"Rocky Dryland"},
2075 flags = "place_center_x, place_center_z",
2076 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
2077 y_min = 3,
2078 y_max = 32000,
2080 minetest.register_decoration(
2082 deco_type = "schematic",
2083 place_on = {"rp_default:dry_dirt"},
2084 sidelen = 16,
2085 fill_ratio = 0.00025,
2086 biomes = {"Rocky Dryland"},
2087 flags = "place_center_x, place_center_z",
2088 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
2089 y_min = 3,
2090 y_max = 32000,
2092 minetest.register_decoration(
2094 deco_type = "schematic",
2095 place_on = {"rp_default:dry_dirt"},
2096 sidelen = 16,
2097 fill_ratio = 0.002,
2098 biomes = {"Rocky Dryland"},
2099 flags = "place_center_x, place_center_z",
2100 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2101 y_min = 3,
2102 y_max = 32000,
2104 minetest.register_decoration(
2106 deco_type = "schematic",
2107 place_on = {"rp_default:dry_dirt"},
2108 sidelen = 16,
2109 fill_ratio = 0.0001,
2110 biomes = {"Rocky Dryland"},
2111 flags = "place_center_x, place_center_z",
2112 schematic = minetest.get_modpath("rp_default")
2113 .. "/schematics/rp_default_tiny_birch.mts",
2114 y_min = 1,
2115 y_max = 32000,
2118 minetest.register_decoration(
2120 deco_type = "schematic",
2121 place_on = {"rp_default:dry_dirt"},
2122 sidelen = 16,
2123 fill_ratio = 0.00025,
2124 biomes = {"Rocky Dryland"},
2125 flags = "place_center_x, place_center_z",
2126 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
2127 y_min = 3,
2128 y_max = 32000,
2130 minetest.register_decoration(
2132 deco_type = "schematic",
2133 place_on = {"rp_default:dry_dirt"},
2134 sidelen = 16,
2135 fill_ratio = 0.00025,
2136 biomes = {"Rocky Dryland"},
2137 flags = "place_center_x, place_center_z",
2138 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
2139 y_min = 3,
2140 y_max = 32000,
2142 minetest.register_decoration(
2144 deco_type = "schematic",
2145 place_on = {"rp_default:dry_dirt"},
2146 sidelen = 16,
2147 fill_ratio = 0.002,
2148 biomes = {"Rocky Dryland"},
2149 flags = "place_center_x, place_center_z",
2150 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2151 y_min = 3,
2152 y_max = 32000,
2155 minetest.register_decoration(
2157 deco_type = "schematic",
2158 place_on = {"rp_default:dry_dirt"},
2159 sidelen = 16,
2160 fill_ratio = 0.003,
2161 biomes = {"Wooded Dryland"},
2162 flags = "place_center_x, place_center_z",
2163 schematic = minetest.get_modpath("rp_default")
2164 .. "/schematics/rp_default_tiny_oak.mts",
2165 y_min = 1,
2166 y_max = 32000,
2169 minetest.register_decoration(
2171 deco_type = "schematic",
2172 place_on = {"rp_default:dry_dirt"},
2173 sidelen = 16,
2174 fill_ratio = 0.001,
2175 biomes = {"Wooded Dryland"},
2176 flags = "place_center_x, place_center_z",
2177 schematic = minetest.get_modpath("rp_default")
2178 .. "/schematics/rp_default_tiny_birch.mts",
2179 y_min = 1,
2180 y_max = 32000,
2184 minetest.register_decoration(
2186 deco_type = "schematic",
2187 place_on = {"rp_default:dry_dirt"},
2188 sidelen = 16,
2189 fill_ratio = 0.0002,
2190 biomes = {"Savannic Wasteland"},
2191 flags = "place_center_x, place_center_z",
2192 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2193 y_min = 3,
2194 y_max = 32000,
2199 -- Bush/shrub decorations
2201 minetest.register_decoration(
2203 deco_type = "schematic",
2204 place_on = {"rp_default:dirt_with_grass"},
2205 sidelen = 16,
2206 fill_ratio = 0.0075,
2207 biomes = {"Oak Shrubbery"},
2208 flags = "place_center_x, place_center_z",
2209 schematic = minetest.get_modpath("rp_default")
2210 .. "/schematics/rp_default_oak_bush_wide.mts",
2211 y_min = 1,
2212 y_max = 32000,
2215 minetest.register_decoration(
2217 deco_type = "schematic",
2218 place_on = {"rp_default:dirt_with_grass"},
2219 sidelen = 16,
2220 fill_ratio = 0.03,
2221 biomes = {"Dense Oak Forest"},
2222 flags = "place_center_x, place_center_z",
2223 schematic = minetest.get_modpath("rp_default")
2224 .. "/schematics/rp_default_oak_bush_wide.mts",
2225 y_min = 1,
2226 y_max = 32000,
2229 minetest.register_decoration(
2231 deco_type = "schematic",
2232 place_on = {"rp_default:dirt_with_grass"},
2233 sidelen = 16,
2234 fill_ratio = 0.001,
2235 biomes = {"Oak Forest"},
2236 flags = "place_center_x, place_center_z",
2237 schematic = minetest.get_modpath("rp_default")
2238 .. "/schematics/rp_default_oak_bush_wide.mts",
2239 y_min = 1,
2240 y_max = 32000,
2243 minetest.register_decoration(
2245 deco_type = "schematic",
2246 place_on = {"rp_default:dirt_with_dry_grass"},
2247 sidelen = 16,
2248 fill_ratio = 0.005,
2249 biomes = {"Savanna", "Chaparral"},
2250 flags = "place_center_x, place_center_z",
2251 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2252 y_min = 3,
2253 y_max = 32000,
2254 rotation = "0",
2257 minetest.register_decoration(
2259 deco_type = "schematic",
2260 place_on = {"rp_default:dirt_with_dry_grass"},
2261 sidelen = 16,
2262 fill_ratio = 0.0025,
2263 biomes = {"Savannic Wasteland"},
2264 flags = "place_center_x, place_center_z",
2265 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2266 y_min = 3,
2267 y_max = 32000,
2268 rotation = "0",
2271 minetest.register_decoration(
2273 deco_type = "schematic",
2274 place_on = {"rp_default:dry_dirt"},
2275 sidelen = 16,
2276 fill_ratio = 0.001,
2277 biomes = {"Rocky Dryland", "Wooded Dryland"},
2278 flags = "place_center_x, place_center_z",
2279 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2280 y_min = 3,
2281 y_max = 32000,
2284 minetest.register_decoration(
2286 deco_type = "schematic",
2287 place_on = {"rp_default:dirt_with_dry_grass"},
2288 sidelen = 16,
2289 fill_ratio = 0.06,
2290 biomes = {"Chaparral"},
2291 flags = "place_center_x, place_center_z",
2292 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2293 y_min = 0,
2294 y_max = 32000,
2295 rotation = "0",
2297 minetest.register_decoration(
2299 deco_type = "schematic",
2300 place_on = {"rp_default:dirt_with_grass"},
2301 sidelen = 16,
2302 biomes = {"Thorny Shrubs"},
2303 flags = "place_center_x, place_center_z",
2304 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2305 y_min = 5,
2306 y_max = 32000,
2307 rotation = "0",
2308 noise_params = {
2309 octaves = 1,
2310 scale = -0.004,
2311 offset = -0.001,
2312 spread = { x = 82, y = 82, z = 82 },
2313 lacunarity = 2.0,
2314 persistence = 0.5,
2315 seed = 493421,
2320 minetest.register_decoration(
2322 deco_type = "schematic",
2323 place_on = {"rp_default:dirt_with_grass"},
2324 sidelen = 16,
2325 fill_ratio = 0.0003,
2326 biomes = {"Oak Shrubbery"},
2327 flags = "place_center_x, place_center_z",
2328 schematic = minetest.get_modpath("rp_default")
2329 .. "/schematics/rp_default_normal_bush_small.mts",
2330 y_min = 1,
2331 y_max = 32000,
2334 minetest.register_decoration(
2336 deco_type = "schematic",
2337 place_on = {"rp_default:dirt_with_grass"},
2338 sidelen = 16,
2339 fill_ratio = 0.006,
2340 biomes = {"Shrubbery"},
2341 flags = "place_center_x, place_center_z",
2342 schematic = minetest.get_modpath("rp_default")
2343 .. "/schematics/rp_default_normal_bush_small.mts",
2344 y_min = 1,
2345 y_max = 32000,
2350 minetest.register_decoration(
2352 deco_type = "schematic",
2353 place_on = {"rp_default:dirt_with_grass"},
2354 sidelen = 16,
2355 fill_ratio = 0.004,
2356 biomes = {"Grove"},
2357 flags = "place_center_x, place_center_z",
2358 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
2359 y_min = 3,
2360 y_max = 32000,
2361 rotation = "0",
2363 minetest.register_decoration(
2365 deco_type = "schematic",
2366 place_on = {"rp_default:dirt_with_grass"},
2367 sidelen = 16,
2368 fill_ratio = 0.0004,
2369 biomes = {"Wilderness"},
2370 flags = "place_center_x, place_center_z",
2371 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2372 y_min = 3,
2373 y_max = 32000,
2374 rotation = "0",
2376 minetest.register_decoration(
2378 deco_type = "schematic",
2379 place_on = {"rp_default:dirt_with_grass"},
2380 sidelen = 16,
2381 fill_ratio = 0.0036,
2382 biomes = {"Wilderness"},
2383 flags = "place_center_x, place_center_z",
2384 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
2385 y_min = 3,
2386 y_max = 32000,
2387 rotation = "0",
2392 -- Thistle decorations
2394 minetest.register_decoration(
2396 deco_type = "simple",
2397 place_on = "rp_default:dirt_with_grass",
2398 sidelen = 16,
2399 fill_ratio = 0.024,
2400 biomes = {"Wilderness"},
2401 decoration = {"rp_default:thistle"},
2402 height = 2,
2403 y_min = -32000,
2404 y_max = 32000,
2406 minetest.register_decoration(
2408 deco_type = "simple",
2409 place_on = {"rp_default:dirt_with_grass", "rp_default:dry_dirt"},
2410 sidelen = 4,
2411 biomes = {"Thorny Shrubs"},
2412 decoration = {"rp_default:thistle"},
2413 height = 2,
2414 y_min = -32000,
2415 y_max = 32000,
2416 noise_params = {
2417 octaves = 2,
2418 scale = 1,
2419 offset = -0.5,
2420 spread = { x = 12, y = 12, z = 12 },
2421 lacunarity = 2.0,
2422 persistence = 0.5,
2423 seed = 43905,
2427 -- Papyrus decorations
2429 -- Beach papyrus
2430 minetest.register_decoration(
2432 deco_type = "simple",
2433 place_on = {"rp_default:sand", "rp_default:dirt", "rp_default:dirt_with_grass"},
2434 spawn_by = {"rp_default:water_source", "rp_default:water_flowing"},
2435 num_spawn_by = 1,
2436 sidelen = 16,
2437 fill_ratio = 0.08,
2438 biomes = {"Grassland Ocean", "Grassland", "Forest Ocean", "Forest", "Wilderness Ocean", "Wilderness", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Marsh Beach", "Swamp Meadow Beach"},
2439 decoration = {"rp_default:papyrus"},
2440 height = 2,
2441 y_max = 3,
2442 y_min = 0,
2445 -- Grassland papyrus
2446 minetest.register_decoration(
2448 deco_type = "simple",
2449 place_on = {"rp_default:dirt_with_grass"},
2450 spawn_by = {"group:water"},
2451 num_spawn_by = 1,
2452 sidelen = 16,
2453 fill_ratio = 0.08,
2454 biomes = {"Grassland", "Dense Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"},
2455 decoration = {"rp_default:papyrus"},
2456 height = 2,
2457 height_max = 3,
2458 y_max = 30,
2459 y_min = 4,
2463 -- Swamp papyrus
2464 minetest.register_decoration(
2466 deco_type = "simple",
2467 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2468 spawn_by = {"group:water"},
2469 num_spawn_by = 1,
2470 sidelen = 16,
2471 biomes = {"Mixed Swamp", "Mixed Swamp Highland"},
2472 decoration = {"rp_default:papyrus"},
2473 height = 4,
2474 y_max = 31000,
2475 y_min = -100,
2476 noise_params = {
2477 offset = 0,
2478 scale = 0.15,
2479 spread = {x=150, y=150, z=150},
2480 seed = 40499,
2481 octaves = 3,
2482 persist = 0.5,
2483 lacunarity = 2,
2484 flags = "defaults",
2488 minetest.register_decoration(
2490 deco_type = "simple",
2491 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2492 spawn_by = {"group:water"},
2493 num_spawn_by = 1,
2494 sidelen = 16,
2495 fill_ratio = 0.60,
2496 biomes = {"Papyrus Swamp"},
2497 decoration = {"rp_default:papyrus"},
2498 height = 4,
2499 height_max = 4,
2500 y_max = 31000,
2501 y_min = -100,
2504 -- Flower decorations
2506 minetest.register_decoration(
2508 deco_type = "simple",
2509 place_on = "rp_default:dirt_with_grass",
2510 sidelen = 16,
2511 fill_ratio = 0.04,
2512 biomes = {"Grassland", "Wilderness", "Orchard", "Baby Poplar Plains", "Birch Forest"},
2513 decoration = {"rp_default:flower"},
2514 y_min = -32000,
2515 y_max = 32000,
2517 minetest.register_decoration(
2519 deco_type = "simple",
2520 place_on = "rp_default:dirt_with_grass",
2521 sidelen = 16,
2522 fill_ratio = 0.003,
2523 biomes = {"Dense Grassland"},
2524 decoration = {"rp_default:flower"},
2525 y_min = -32000,
2526 y_max = 32000,
2530 -- Grass decorations
2532 if mg_name ~= "v6" then
2533 minetest.register_decoration(
2535 deco_type = "simple",
2536 place_on = "rp_default:dirt_with_grass",
2537 sidelen = 16,
2538 fill_ratio = 0.18,
2539 biomes = {"Grassland", "Dense Grassland", "Orchard", "Swamp Meadow", "Swamp Meadow Highland", "Baby Poplar Plains", "Poplar Plains", "Shrubbery", "Oak Shrubbery", "Thorny Shrubs", "Dry Swamp", "Dry Swamp Highland"},
2540 decoration = {"rp_default:grass"},
2541 y_min = 10,
2542 y_max = 32000,
2545 minetest.register_decoration(
2547 deco_type = "simple",
2548 place_on = "rp_default:dirt_with_grass",
2549 sidelen = 16,
2550 fill_ratio = 0.08,
2551 biomes = {"Grassland", "Dense Grassland", "Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Tall Oak Forest", "Mystery Forest", "Baby Poplar Plains", "Poplar Plains", "Dry Swamp", "Dry Swamp Highland", "Shrubbery", "Oak Shrubbery"},
2552 decoration = {"rp_default:grass"},
2553 y_min = 0,
2554 y_max = 32000,
2558 minetest.register_decoration(
2560 deco_type = "simple",
2561 place_on = "rp_default:dirt_with_swamp_grass",
2562 sidelen = 16,
2563 fill_ratio = 0.04,
2564 biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Dry Swamp", "Dry Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland"},
2565 decoration = {"rp_default:swamp_grass"},
2566 y_min = 1,
2567 y_max = 31000,
2569 minetest.register_decoration(
2571 deco_type = "simple",
2572 place_on = "rp_default:dirt_with_swamp_grass",
2573 sidelen = 16,
2574 fill_ratio = 0.16,
2575 biomes = {"Swamp Meadow", "Swamp Meadow Highland"},
2576 decoration = {"rp_default:swamp_grass"},
2577 y_min = 1,
2578 y_max = 31000,
2581 minetest.register_decoration(
2583 deco_type = "simple",
2584 place_on = "rp_default:dirt_with_dry_grass",
2585 sidelen = 16,
2586 fill_ratio = 0.07,
2587 biomes = {"Savanna", "Chaparral", "Savannic Wasteland"},
2588 decoration = {"rp_default:dry_grass"},
2589 y_min = 10,
2590 y_max = 500,
2593 if mg_name ~= "v6" then
2595 minetest.register_decoration(
2597 deco_type = "simple",
2598 place_on = "rp_default:dirt_with_grass",
2599 sidelen = 16,
2600 fill_ratio = 0.08,
2601 biomes = {"Forest", "Marsh", "Dense Grassland", "Grove", "Shrubbery", "Oak Shrubbery"},
2602 decoration = {"rp_default:tall_grass"},
2603 y_min = 0,
2604 y_max = 32000,
2607 minetest.register_decoration(
2609 deco_type = "simple",
2610 place_on = "rp_default:dirt_with_grass",
2611 sidelen = 16,
2612 fill_ratio = 0.15,
2613 biomes = {"Deep Forest", "Tall Oak Forest"},
2614 decoration = {"rp_default:tall_grass"},
2615 y_min = 0,
2616 y_max = 32000,
2619 minetest.register_decoration(
2621 deco_type = "simple",
2622 place_on = "rp_default:dirt_with_grass",
2623 sidelen = 16,
2624 fill_ratio = 0.05,
2625 biomes = {"Thorny Shrubs"},
2626 decoration = {"rp_default:tall_grass"},
2627 y_min = 0,
2628 y_max = 32000,
2630 minetest.register_decoration(
2632 deco_type = "simple",
2633 place_on = "rp_default:dirt_with_grass",
2634 sidelen = 16,
2635 fill_ratio = 0.1,
2636 biomes = {"Thorny Shrubs"},
2637 decoration = {"rp_default:grass"},
2638 y_min = 0,
2639 y_max = 32000,
2644 minetest.register_decoration(
2646 deco_type = "simple",
2647 place_on = "rp_default:dirt_with_grass",
2648 sidelen = 16,
2649 fill_ratio = 0.16,
2650 biomes = {"Wilderness", "Thorny Shrubs"},
2651 decoration = {"rp_default:grass"},
2652 y_min = -32000,
2653 y_max = 32000,
2656 minetest.register_decoration(
2658 deco_type = "simple",
2659 place_on = "rp_default:dirt_with_grass",
2660 sidelen = 16,
2661 fill_ratio = 0.12,
2662 biomes = {"Wilderness", "Thorny Shrubs"},
2663 decoration = {"rp_default:tall_grass"},
2664 y_min = -32000,
2665 y_max = 32000,
2668 -- Fern decorations
2670 minetest.register_decoration(
2672 deco_type = "simple",
2673 place_on = "rp_default:dirt_with_grass",
2674 sidelen = 16,
2675 fill_ratio = 0.02,
2676 biomes = {"Wilderness", "Grove", "Tall Oak Forest", "Mystery Forest"},
2677 decoration = {"rp_default:fern"},
2678 y_min = -32000,
2679 y_max = 32000,
2682 -- Clam decorations
2684 minetest.register_decoration(
2686 deco_type = "simple",
2687 place_on = {"rp_default:sand", "rp_default:gravel"},
2688 sidelen = 16,
2689 fill_ratio = 0.02,
2690 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", "Baby Poplar Plains"},
2691 decoration = {"rp_default:clam"},
2692 y_min = 0,
2693 y_max = 1,
2697 --[[ ORES ]]
2699 -- Graphite ore
2701 minetest.register_ore( -- Common above sea level mainly
2703 ore_type = "scatter",
2704 ore = "rp_default:stone_with_graphite",
2705 wherein = "rp_default:stone",
2706 clust_scarcity = 9*9*9,
2707 clust_num_ores = 8,
2708 clust_size = 8,
2709 y_min = -8,
2710 y_max = 32,
2713 minetest.register_ore( -- Slight scattering deeper down
2715 ore_type = "scatter",
2716 ore = "rp_default:stone_with_graphite",
2717 wherein = "rp_default:stone",
2718 clust_scarcity = 13*13*13,
2719 clust_num_ores = 6,
2720 clust_size = 8,
2721 y_min = -31000,
2722 y_max = -32,
2725 -- Coal ore
2727 minetest.register_ore( -- Even distribution
2729 ore_type = "scatter",
2730 ore = "rp_default:stone_with_coal",
2731 wherein = "rp_default:stone",
2732 clust_scarcity = 10*10*10,
2733 clust_num_ores = 8,
2734 clust_size = 4,
2735 y_min = -31000,
2736 y_max = 32,
2739 minetest.register_ore( -- Dense sheet
2741 ore_type = "scatter",
2742 ore = "rp_default:stone_with_coal",
2743 wherein = "rp_default:stone",
2744 clust_scarcity = 7*7*7,
2745 clust_num_ores = 10,
2746 clust_size = 8,
2747 y_min = -40,
2748 y_max = -32,
2751 minetest.register_ore( -- Deep ore sheet
2753 ore_type = "scatter",
2754 ore = "rp_default:stone_with_coal",
2755 wherein = "rp_default:stone",
2756 clust_scarcity = 6*6*6,
2757 clust_num_ores = 26,
2758 clust_size = 12,
2759 y_min = -130,
2760 y_max = -120,
2763 -- Iron ore
2765 minetest.register_ore( -- Even distribution
2767 ore_type = "scatter",
2768 ore = "rp_default:stone_with_iron",
2769 wherein = "rp_default:stone",
2770 clust_scarcity = 12*12*12,
2771 clust_num_ores = 4,
2772 clust_size = 3,
2773 y_min = -31000,
2774 y_max = -8,
2777 minetest.register_ore( -- Dense sheet
2779 ore_type = "scatter",
2780 ore = "rp_default:stone_with_iron",
2781 wherein = "rp_default:stone",
2782 clust_scarcity = 8*8*8,
2783 clust_num_ores = 20,
2784 clust_size = 12,
2785 y_min = -32,
2786 y_max = -24,
2789 minetest.register_ore( -- Dense sheet
2791 ore_type = "scatter",
2792 ore = "rp_default:stone_with_iron",
2793 wherein = "rp_default:stone",
2794 clust_scarcity = 7*7*7,
2795 clust_num_ores = 17,
2796 clust_size = 6,
2797 y_min = -80,
2798 y_max = -60,
2801 -- Tin ore
2803 minetest.register_ore( -- Even distribution
2805 ore_type = "scatter",
2806 ore = "rp_default:stone_with_tin",
2807 wherein = "rp_default:stone",
2808 clust_scarcity = 14*14*14,
2809 clust_num_ores = 8,
2810 clust_size = 4,
2811 y_min = -31000,
2812 y_max = -100,
2815 minetest.register_ore( -- Dense sheet
2817 ore_type = "scatter",
2818 ore = "rp_default:stone_with_tin",
2819 wherein = "rp_default:stone",
2820 clust_scarcity = 7*7*7,
2821 clust_num_ores = 10,
2822 clust_size = 6,
2823 y_min = -150,
2824 y_max = -140,
2827 -- Copper ore
2829 minetest.register_ore( -- Begin sheet
2831 ore_type = "scatter",
2832 ore = "rp_default:stone_with_copper",
2833 wherein = "rp_default:stone",
2834 clust_scarcity = 6*6*6,
2835 clust_num_ores = 12,
2836 clust_size = 5,
2837 y_min = -90,
2838 y_max = -80,
2841 minetest.register_ore( -- Rare even distribution
2843 ore_type = "scatter",
2844 ore = "rp_default:stone_with_copper",
2845 wherein = "rp_default:stone",
2846 clust_scarcity = 13*13*13,
2847 clust_num_ores = 10,
2848 clust_size = 5,
2849 y_min = -31000,
2850 y_max = -90,
2853 minetest.register_ore( -- Large clusters
2855 ore_type = "scatter",
2856 ore = "rp_default:stone_with_copper",
2857 wherein = "rp_default:stone",
2858 clust_scarcity = 8*8*8,
2859 clust_num_ores = 22,
2860 clust_size = 10,
2861 y_min = -230,
2862 y_max = -180,
2865 -- Small gravel blobs
2866 minetest.register_ore({
2867 ore_type = "blob",
2868 ore = "rp_default:gravel",
2869 wherein = "rp_default:stone",
2870 clust_scarcity = 10*10*10,
2871 clust_num_ores = 33,
2872 clust_size = 4,
2873 y_min = -31000,
2874 y_max = 31000,
2875 noise_params = {
2876 offset = 0,
2877 scale = 1,
2878 spread = {x=150, y=150, z=150},
2879 seed = 58943,
2880 octaves = 3,
2881 persist = 0.5,
2882 lacunarity = 2,
2883 flags = "defaults",
2887 -- Small sand blobs
2888 minetest.register_ore({
2889 ore_type = "blob",
2890 ore = "rp_default:sand",
2891 wherein = "rp_default:stone",
2892 clust_scarcity = 10*10*10,
2893 clust_num_ores = 40,
2894 clust_size = 4,
2895 y_min = -31000,
2896 y_max = 31000,
2897 noise_params = {
2898 offset = 0,
2899 scale = 1,
2900 spread = {x=150, y=150, z=150},
2901 seed = 38943,
2902 octaves = 3,
2903 persist = 0.5,
2904 lacunarity = 2,
2905 flags = "defaults",
2910 -- Dirt, Dry Dirt and Swamp Dirt blobs.
2911 -- These get generated depending on the biome.
2912 -- The following code is to generate the list
2913 -- of biomes that include either dirt, dry dirt or swamp dirt.
2915 -- Returns a list of biomes that use the specified nodename
2916 -- as its dirt blob, by using the data from
2917 -- default.get_biome_info.
2918 -- * nodename: A name of the node (a dirt node)
2919 local get_dirt_biomes = function(nodename)
2920 local biomes = default.get_core_biomes()
2921 local out_biomes = {}
2922 for b=1, #biomes do
2923 local biome_info = default.get_biome_info(biomes[b])
2924 -- Add biome to list iff it uses the specified node as dirt blob
2925 if biome_info.dirt_blob ~= nil and biome_info.dirt_blob == nodename then
2926 table.insert(out_biomes, biomes[b])
2929 return out_biomes
2932 local dirt_biomes = get_dirt_biomes("rp_default:dirt")
2933 local dry_dirt_biomes = get_dirt_biomes("rp_default:dry_dirt")
2934 local swamp_dirt_biomes = get_dirt_biomes("rp_default:swamp_dirt")
2936 minetest.log("verbose", "[rp_default] List of builtin biomes with Dirt blobs: "..dump(dirt_biomes))
2937 minetest.log("verbose", "[rp_default] List of builtin biomes with Dry Dirt blobs: "..dump(dry_dirt_biomes))
2938 minetest.log("verbose", "[rp_default] List of builtin biomes with Swamp Dirt blobs: "..dump(swamp_dirt_biomes))
2940 local np_dirtlike = {
2941 offset = 0,
2942 scale = 1,
2943 spread = {x=150, y=150, z=150},
2944 seed = 98943,
2945 octaves = 3,
2946 persist = 0.5,
2947 lacunarity = 2,
2948 flags = "defaults",
2951 minetest.register_ore({
2952 ore_type = "blob",
2953 ore = "rp_default:dirt",
2954 wherein = "rp_default:stone",
2955 clust_scarcity = 10*10*10,
2956 clust_num_ores = 33,
2957 clust_size = 4,
2958 y_min = -31000,
2959 y_max = 31000,
2960 biomes = dirt_biomes,
2961 noise_params = np_dirtlike,
2964 minetest.register_ore({
2965 ore_type = "blob",
2966 ore = "rp_default:dry_dirt",
2967 wherein = "rp_default:stone",
2968 clust_scarcity = 10*10*10,
2969 clust_num_ores = 33,
2970 clust_size = 4,
2971 y_min = -31000,
2972 y_max = 31000,
2973 biomes = dry_dirt_biomes,
2974 noise_params = np_dirtlike,
2977 minetest.register_ore({
2978 ore_type = "blob",
2979 ore = "rp_default:swamp_dirt",
2980 wherein = "rp_default:stone",
2981 clust_scarcity = 10*10*10,
2982 clust_num_ores = 33,
2983 clust_size = 4,
2984 y_min = -31000,
2985 y_max = 31000,
2986 biomes = swamp_dirt_biomes,
2987 noise_params = np_dirtlike,