Add more swamp grass to swamp meadow
[Pixture/pixture_revival.git] / mods / rp_default / mapgen.lua
blobac45375c79f9d242fc60e8a44ad71dbf11110545
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 -- This special biome has the giant birch trees and is
124 -- limited to a very specific height.
125 -- It has no equivalent biome above or below.
126 minetest.register_biome(
128 name = "Deep Forest",
130 node_top = "rp_default:dirt_with_grass",
131 node_filler = "rp_default:dirt",
132 node_riverbed = "rp_default:sand",
134 depth_filler = 6,
135 depth_top = 1,
136 depth_riverbed = 3,
138 y_min = 30,
139 y_max = 40,
141 heat_point = 49,
142 humidity_point = 33,
144 default.set_biome_info("Deep Forest", "grassy")
146 minetest.register_biome(
148 name = "Forest",
150 node_top = "rp_default:dirt_with_grass",
151 node_filler = "rp_default:dirt",
152 node_riverbed = "rp_default:sand",
154 depth_filler = 6,
155 depth_top = 1,
156 depth_riverbed = 2,
158 y_min = 2,
159 y_max = 200,
161 heat_point = 48,
162 humidity_point = 34,
164 register_ocean_and_beach("Forest", "rp_default:sand")
165 default.set_biome_info("Forest", "grassy")
167 minetest.register_biome(
169 name = "Grove",
171 node_top = "rp_default:dirt_with_grass",
172 node_filler = "rp_default:dirt",
173 node_riverbed = "rp_default:sand",
175 depth_filler = 4,
176 depth_top = 1,
177 depth_riverbed = 4,
179 y_min = 3,
180 y_max = 32000,
182 heat_point = 45,
183 humidity_point = 19,
185 register_ocean_and_beach("Grove", "rp_default:sand")
186 default.set_biome_info("Grove", "grassy")
188 minetest.register_biome(
190 name = "Wilderness",
192 node_top = "rp_default:dirt_with_grass",
193 node_filler = "rp_default:dirt",
194 node_riverbed = "rp_default:sand",
196 depth_filler = 6,
197 depth_top = 1,
198 depth_riverbed = 2,
200 y_min = 3,
201 y_max = 32000,
203 heat_point = 76,
204 humidity_point = 30,
206 register_ocean_and_beach("Wilderness", "rp_default:sand")
207 default.set_biome_info("Wilderness", "grassy")
209 -- Note: Grassland is below Orchard
210 minetest.register_biome(
212 name = "Grassland",
214 node_top = "rp_default:dirt_with_grass",
215 node_filler = "rp_default:dirt",
216 node_riverbed = "rp_default:sand",
218 depth_filler = 4,
219 depth_top = 1,
220 depth_riverbed = 2,
222 y_min = 3,
223 y_max = ORCHARD_Y_MIN - 1,
225 heat_point = 71,
226 humidity_point = 52,
228 register_ocean_and_beach("Grassland", "rp_default:sand")
229 default.set_biome_info("Grassland", "grassy")
231 -- Note: Orchard is the 'highland' version of Grassland
232 minetest.register_biome(
234 name = "Orchard",
236 node_top = "rp_default:dirt_with_grass",
237 node_filler = "rp_default:dirt",
238 node_riverbed = "rp_default:sand",
240 depth_filler = 4,
241 depth_top = 1,
242 depth_riverbed = 2,
244 y_min = ORCHARD_Y_MIN,
245 y_max = 32000,
247 heat_point = 71,
248 humidity_point = 52,
250 default.set_biome_info("Orchard", "grassy")
252 -- Note: Shrubbery is below Chaparral
253 minetest.register_biome(
255 name = "Shrubbery",
257 node_top = "rp_default:dirt_with_grass",
258 node_filler = "rp_default:dirt",
259 node_riverbed = "rp_default:sand",
261 depth_filler = 3,
262 depth_top = 1,
263 depth_riverbed = 2,
265 y_min = 2,
266 y_max = 55,
268 heat_point = 107,
269 humidity_point = 45,
271 register_ocean_and_beach("Shrubbery", "rp_default:sand")
272 default.set_biome_info("Shrubbery", "grassy")
274 -- Note: High biome. This is the highland version of Shrubbery
275 minetest.register_biome(
277 name = "Chaparral",
279 node_top = "rp_default:dirt_with_dry_grass",
280 node_filler = "rp_default:dry_dirt",
281 node_riverbed = "rp_default:sand",
283 depth_filler = 0,
284 depth_top = 1,
285 depth_riverbed = 4,
287 y_min = 56,
288 y_max = 32000,
290 heat_point = 107,
291 humidity_point = 45,
293 default.set_biome_info("Chaparral", "savannic")
295 minetest.register_biome(
297 name = "Savanna",
299 node_top = "rp_default:dirt_with_dry_grass",
300 node_filler = "rp_default:dry_dirt",
301 node_riverbed = "rp_default:gravel",
303 depth_filler = 2,
304 depth_top = 1,
305 depth_riverbed = 3,
307 y_min = 2,
308 y_max = 55,
310 heat_point = 101,
311 humidity_point = 25,
313 register_ocean_and_beach("Savanna", "rp_default:sand")
314 default.set_biome_info("Savanna", "savannic")
316 minetest.register_biome(
318 name = "Desert",
320 node_top = "rp_default:sand",
321 node_filler = "rp_default:sandstone",
322 node_riverbed = "rp_default:sand",
323 node_dungeon = "rp_default:sandstone",
325 depth_filler = 8,
326 depth_top = 3,
327 depth_riverbed = 6,
329 y_min = 1,
330 y_max = 32000,
332 heat_point = 112,
333 humidity_point = 32,
335 register_ocean_and_beach("Desert", "rp_default:sand")
336 default.set_biome_info("Desert", "desertic")
338 minetest.register_biome(
340 name = "Wasteland",
342 node_top = "rp_default:dry_dirt",
343 node_filler = "rp_default:sandstone",
344 node_riverbed = "rp_default:sandstone",
346 depth_filler = 3,
347 depth_top = 1,
348 depth_riverbed = 2,
350 y_min = 2,
351 y_max = 32000,
353 heat_point = 95,
354 humidity_point = 0,
356 register_ocean_and_beach("Wasteland", "rp_default:dry_dirt", 5, "rp_default:gravel")
357 default.set_biome_info("Wasteland", "drylandic")
359 minetest.register_biome(
361 name = "Rocky Dryland",
363 node_top = "rp_default:dry_dirt",
364 node_filler = "rp_default:dry_dirt",
365 node_riverbed = "rp_default:gravel",
367 depth_filler = 0,
368 depth_top = 1,
369 depth_riverbed = 4,
371 y_min = 3,
372 y_max = 32000,
374 heat_point = 79,
375 humidity_point = 1,
377 register_ocean_and_beach("Rocky Dryland", "rp_default:gravel")
378 default.set_biome_info("Rocky Dryland", "drylandic")
380 minetest.register_biome(
382 name = "Wooded Dryland",
384 node_top = "rp_default:dry_dirt",
385 node_filler = "rp_default:dry_dirt",
386 node_riverbed = "rp_default:gravel",
388 depth_filler = 4,
389 depth_top = 1,
390 depth_riverbed = 2,
392 y_min = 1,
393 y_max = 32000,
395 heat_point = 78,
396 humidity_point = 9,
398 register_ocean_and_beach("Wooded Dryland", "rp_default:dry_dirt")
399 default.set_biome_info("Wooded Dryland", "drylandic")
401 minetest.register_biome(
403 name = "Savannic Wasteland",
405 node_top = "rp_default:dry_dirt",
406 node_filler = "rp_default:sandstone",
407 node_riverbed = "rp_default:gravel",
409 depth_filler = 2,
410 depth_top = 1,
411 depth_riverbed = 2,
413 y_min = 2,
414 y_max = 32000,
416 heat_point = 94,
417 humidity_point = 14,
419 register_ocean_and_beach("Savannic Wasteland", "rp_default:sand")
420 default.set_biome_info("Savannic Wasteland", "savannic")
422 minetest.register_biome(
424 name = "Thorny Shrubs",
426 node_top = "rp_default:dirt_with_grass",
427 node_filler = "rp_default:dirt",
428 node_riverbed = "rp_default:gravel",
430 depth_filler = 4,
431 depth_top = 1,
432 depth_riverbed = 2,
434 y_min = 2,
435 y_max = 200,
437 heat_point = 76,
438 humidity_point = 15,
440 register_ocean_and_beach("Thorny Shrubs", "rp_default:sand")
441 default.set_biome_info("Thorny Shrubs", "grassy")
443 minetest.register_biome(
445 name = "Mystery Forest",
447 node_top = "rp_default:dirt_with_grass",
448 node_filler = "rp_default:dirt",
449 node_riverbed = "rp_default:gravel",
451 depth_filler = 4,
452 depth_top = 1,
453 depth_riverbed = 2,
455 y_min = 1,
456 y_max = 200,
458 heat_point = 18,
459 humidity_point = 2,
461 register_ocean_and_beach("Mystery Forest", "rp_default:dirt")
462 default.set_biome_info("Mystery Forest", "grassy")
464 minetest.register_biome(
466 name = "Poplar Plains",
468 node_top = "rp_default:dirt_with_grass",
469 node_filler = "rp_default:dirt",
470 node_riverbed = "rp_default:sand",
472 depth_filler = 4,
473 depth_top = 1,
474 depth_riverbed = 2,
476 y_min = 1,
477 y_max = 32000,
479 heat_point = 47,
480 humidity_point = 0,
482 register_ocean_and_beach("Poplar Plains", "rp_default:dirt")
483 default.set_biome_info("Poplar Plains", "grassy")
485 minetest.register_biome(
487 name = "Baby Poplar Plains",
489 node_top = "rp_default:dirt_with_grass",
490 node_filler = "rp_default:dirt",
491 node_riverbed = "rp_default:sand",
493 depth_filler = 4,
494 depth_top = 1,
495 depth_riverbed = 2,
497 y_min = 2,
498 y_max = 32000,
500 heat_point = 58,
501 humidity_point = 9,
503 register_ocean_and_beach("Baby Poplar Plains", "rp_default:sand")
504 default.set_biome_info("Baby Poplar Plains", "grassy")
506 minetest.register_biome(
508 name = "Tall Birch Forest",
510 node_top = "rp_default:dirt_with_grass",
511 node_filler = "rp_default:dirt",
512 node_riverbed = "rp_default:sand",
514 depth_filler = 3,
515 depth_top = 1,
516 depth_riverbed = 2,
518 y_min = 2,
519 y_max = 32000,
521 heat_point = 6,
522 humidity_point = 14,
524 register_ocean_and_beach("Tall Birch Forest", "rp_default:sand")
525 default.set_biome_info("Tall Birch Forest", "grassy")
527 minetest.register_biome(
529 name = "Birch Forest",
531 node_top = "rp_default:dirt_with_grass",
532 node_filler = "rp_default:dirt",
533 node_riverbed = "rp_default:sand",
535 depth_filler = 3,
536 depth_top = 1,
537 depth_riverbed = 2,
539 y_min = 2,
540 y_max = 32000,
542 heat_point = 18,
543 humidity_point = 15,
545 register_ocean_and_beach("Birch Forest", "rp_default:sand")
546 default.set_biome_info("Birch Forest", "grassy")
548 minetest.register_biome(
550 name = "Oak Shrubbery",
552 node_top = "rp_default:dirt_with_grass",
553 node_filler = "rp_default:dirt",
554 node_riverbed = "rp_default:gravel",
556 depth_filler = 3,
557 depth_top = 1,
558 depth_riverbed = 1,
560 y_min = 1,
561 y_max = 32000,
563 heat_point = 37,
564 humidity_point = 55,
566 register_ocean_and_beach("Oak Shrubbery", "rp_default:dirt")
567 default.set_biome_info("Oak Shrubbery", "grassy")
569 minetest.register_biome(
571 name = "Oak Forest",
573 node_top = "rp_default:dirt_with_grass",
574 node_filler = "rp_default:dirt",
575 node_riverbed = "rp_default:gravel",
577 depth_filler = 5,
578 depth_top = 1,
579 depth_riverbed = 1,
581 y_min = 1,
582 y_max = 32000,
584 heat_point = 22,
585 humidity_point = 52,
587 register_ocean_and_beach("Oak Forest", "rp_default:sand")
588 default.set_biome_info("Oak Forest", "grassy")
590 minetest.register_biome(
592 name = "Tall Oak Forest",
594 node_top = "rp_default:dirt_with_grass",
595 node_filler = "rp_default:dirt",
596 node_riverbed = "rp_default:gravel",
598 depth_filler = 6,
599 depth_top = 1,
600 depth_riverbed = 2,
602 y_min = 1,
603 y_max = 32000,
605 heat_point = 10,
606 humidity_point = 43,
608 register_ocean_and_beach("Tall Oak Forest", "rp_default:sand")
609 default.set_biome_info("Tall Oak Forest", "grassy")
611 minetest.register_biome(
613 name = "Dense Oak Forest",
615 node_top = "rp_default:dirt_with_grass",
616 node_filler = "rp_default:dirt",
617 node_riverbed = "rp_default:gravel",
619 depth_filler = 7,
620 depth_top = 1,
621 depth_riverbed = 3,
623 y_min = 1,
624 y_max = 32000,
626 heat_point = 0,
627 humidity_point = 43,
629 register_ocean_and_beach("Dense Oak Forest", "rp_default:sand")
630 default.set_biome_info("Dense Oak Forest", "grassy")
632 -- Equivalent to Pixture's original 'Swamp' biome
633 minetest.register_biome(
635 name = "Swamp Meadow",
637 node_top = "rp_default:dirt_with_swamp_grass",
638 node_filler = "rp_default:swamp_dirt",
639 node_cave_liquid = "rp_default:swamp_water_source",
640 node_riverbed = "rp_default:swamp_dirt",
642 depth_filler = 7,
643 depth_top = 1,
644 depth_riverbed = 4,
646 y_min = 1,
647 y_max = SWAMP_Y_MAX,
649 heat_point = 62,
650 humidity_point = 93,
652 register_ocean_and_beach("Swamp Meadow", "rp_default:dirt", 5, "rp_default:swamp_dirt")
653 default.set_biome_info("Swamp Meadow", "swampy")
655 minetest.register_biome(
657 name = "Mixed Swamp",
659 node_top = "rp_default:dirt_with_swamp_grass",
660 node_filler = "rp_default:swamp_dirt",
661 node_cave_liquid = "rp_default:swamp_water_source",
662 node_riverbed = "rp_default:swamp_dirt",
664 depth_filler = 7,
665 depth_top = 1,
666 depth_riverbed = 3,
668 y_min = 1,
669 y_max = SWAMP_Y_MAX,
671 heat_point = 36,
672 humidity_point = 87,
674 register_ocean_and_beach("Mixed Swamp", "rp_default:dirt", 5, "rp_default:swamp_dirt")
675 default.set_biome_info("Mixed Swamp", "swamp")
677 minetest.register_biome(
679 name = "Swamp Forest",
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 = 5,
687 depth_top = 1,
688 depth_riverbed = 4,
690 y_min = 1,
691 y_max = SWAMP_Y_MAX,
693 heat_point = 12,
694 humidity_point = 83,
696 register_ocean_and_beach("Swamp Forest", "rp_default:dirt", 5, "rp_default:swamp_dirt")
697 default.set_biome_info("Swamp Forest", "swampy")
699 minetest.register_biome(
701 name = "Dry Swamp",
703 node_top = "rp_default:dirt_with_swamp_grass",
704 node_filler = "rp_default:swamp_dirt",
705 node_riverbed = "rp_default:swamp_dirt",
707 depth_filler = 6,
708 depth_top = 1,
709 depth_riverbed = 2,
711 y_min = 1,
712 y_max = SWAMP_Y_MAX,
714 heat_point = 0,
715 humidity_point = 67,
717 register_ocean_and_beach("Dry Swamp", "rp_default:dirt", 5, "rp_default:dirt") -- force creation of beach sub-biome
718 default.set_biome_info("Dry Swamp", "swampy")
720 minetest.register_biome(
722 name = "Papyrus Swamp",
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 = 4,
730 depth_top = 1,
731 depth_riverbed = 3,
733 y_min = 2,
734 y_max = SWAMP_Y_MAX,
736 heat_point = 49,
737 humidity_point = 89,
739 register_ocean_and_beach("Papyrus Swamp", "rp_default:swamp_dirt", 2, "rp_default:sand")
740 default.set_biome_info("Papyrus Swamp", "swampy")
742 -- Special Underground biome
743 minetest.register_biome(
745 name = "Underground",
747 y_min = -31000,
748 y_max = UNDERGROUND_Y_MAX,
750 heat_point = 50,
751 humidity_point = 50,
753 default.set_biome_info("Underground", "undergroundy")
757 local function spring_ore_np(seed)
758 return {
759 offset = 0,
760 scale = 1,
761 spread = {x=250, y=250, z=250},
762 seed = seed or 12345,
763 octaves = 3,
764 persist = 0.6,
765 lacunarity = 2,
766 flags = "defaults",
770 -- Water
772 minetest.register_ore( -- Springs
774 ore_type = "blob",
775 ore = "rp_default:water_source",
776 wherein = "rp_default:dirt_with_grass",
777 biomes = {"Grassland"},
778 clust_scarcity = 26*26*26,
779 clust_num_ores = 1,
780 clust_size = 1,
781 y_min = 20,
782 y_max = 31000,
783 noise_params = spring_ore_np(),
786 minetest.register_ore( -- Pools
788 ore_type = "blob",
789 ore = "rp_default:water_source",
790 wherein = "rp_default:dirt_with_grass",
791 biomes = {"Wilderness"},
792 clust_scarcity = 32*32*32,
793 clust_num_ores = 20,
794 clust_size = 6,
795 y_min = 10,
796 y_max = 30,
797 noise_params = spring_ore_np(),
799 if mg_name ~= "v6" then
800 minetest.register_ore( -- Swamp (big springs)
802 ore_type = "blob",
803 ore = "rp_default:swamp_water_source",
804 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
805 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
806 clust_scarcity = 7*7*7,
807 clust_num_ores = 10,
808 clust_size = 4,
809 y_min = -31000,
810 y_max = 31000,
811 noise_params = spring_ore_np(13943),
813 minetest.register_ore( -- Swamp (medium springs)
815 ore_type = "blob",
816 ore = "rp_default:swamp_water_source",
817 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
818 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
819 clust_scarcity = 5*5*5,
820 clust_num_ores = 8,
821 clust_size = 2,
822 y_min = -31000,
823 y_max = 31000,
824 noise_params = spring_ore_np(49494),
827 minetest.register_ore( -- Swamp (small springs)
829 ore_type = "blob",
830 ore = "rp_default:swamp_water_source",
831 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
832 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
833 clust_scarcity = 6*6*6,
834 clust_num_ores = 1,
835 clust_size = 1,
836 y_min = -31000,
837 y_max = 31000,
838 noise_params = spring_ore_np(59330),
841 minetest.register_ore( -- Marsh
843 ore_type = "blob",
844 ore = "rp_default:swamp_water_source",
845 wherein = {"rp_default:dirt_with_grass", "rp_default:dirt"},
846 biomes = {"Marsh"},
847 clust_scarcity = 8*8*8,
848 clust_num_ores = 10,
849 clust_size = 6,
850 y_min = -31000,
851 y_max = 31000,
852 noise_params = spring_ore_np(),
855 minetest.register_ore(
857 ore_type = "blob",
858 ore = "rp_default:gravel",
859 wherein = "rp_default:dry_dirt",
860 biomes = {"Rocky Dryland"},
861 clust_scarcity = 8*8*8,
862 clust_size = 8,
863 y_min = -31000,
864 y_max = 31000,
865 noise_params = {
866 octaves = 1,
867 scale = 1,
868 offset = 0,
869 spread = { x = 100, y = 100, z = 100 },
870 lacunarity = 2.0,
871 persistence = 0.5,
872 seed = 43400,
875 minetest.register_ore(
877 ore_type = "blob",
878 ore = "rp_default:stone",
879 wherein = "rp_default:dry_dirt",
880 biomes = {"Rocky Dryland"},
881 clust_scarcity = 8*8*8,
882 clust_size = 7,
883 y_min = -31000,
884 y_max = 31000,
885 noise_params = {
886 octaves = 1,
887 scale = 1,
888 offset = 0,
889 spread = { x = 100, y = 100, z = 100 },
890 lacunarity = 2.0,
891 persistence = 0.5,
892 seed = 13940,
896 minetest.register_ore( -- Dry Swamp (dirt)
898 ore_type = "blob",
899 ore = "rp_default:dirt_with_grass",
900 wherein = {"rp_default:dirt_with_swamp_grass"},
901 biomes = {"Dry Swamp"},
902 clust_scarcity = 3*3*3,
903 clust_num_ores = 10,
904 clust_size = 4,
905 y_min = -31000,
906 y_max = 31000,
907 noise_params = spring_ore_np(13943),
909 minetest.register_ore( -- Dry Swamp (dirt)
911 ore_type = "blob",
912 ore = "rp_default:dirt",
913 wherein = {"rp_default:swamp_dirt"},
914 biomes = {"Dry Swamp"},
915 clust_scarcity = 3*3*3,
916 clust_num_ores = 10,
917 clust_size = 4,
918 y_min = -31000,
919 y_max = 31000,
920 noise_params = spring_ore_np(13943),
922 minetest.register_ore(
924 ore_type = "scatter",
925 ore = "rp_default:dirt_with_dry_grass",
926 wherein = "rp_default:dry_dirt",
927 biomes = {"Savannic Wasteland"},
928 clust_scarcity = 6*6*6,
929 clust_size = 6,
930 clust_num_ores = 40,
931 y_min = 2,
932 y_max = 31000,
933 noise_params = {
934 octaves = 1,
935 scale = 1,
936 offset = 0.1,
937 spread = { x = 100, y = 100, z = 100 },
938 lacunarity = 2.0,
939 persistence = 0.5,
940 seed = 12449,
944 minetest.register_ore(
946 ore_type = "blob",
947 ore = "rp_default:dirt_with_dry_grass",
948 wherein = "rp_default:dry_dirt",
949 biomes = {"Savannic Wasteland"},
950 clust_scarcity = 7*7*7,
951 clust_size = 4,
952 y_min = 2,
953 y_max = 31000,
954 noise_params = {
955 octaves = 2,
956 scale = 1,
957 offset = 0.2,
958 spread = { x = 100, y = 100, z = 100 },
959 lacunarity = 2.0,
960 persistence = 0.5,
961 seed = 12450,
965 minetest.register_ore(
967 ore_type = "scatter",
968 ore = "rp_default:stone_with_sulfur",
969 wherein = "rp_default:stone",
970 biomes = { "Rocky Dryland", "Wooded Dryland"},
971 clust_scarcity = 9*9*9,
972 clust_num_ores = 1,
973 clust_size = 1,
974 y_min = -8,
975 y_max = 32,
982 --[[ DECORATIONS ]]
983 -- The decorations are roughly ordered by size;
984 -- largest decorations first.
986 -- Tree decorations
988 if mg_name ~= "v6" then
989 minetest.register_decoration(
991 name = "rp_default:giga_birch_tree",
992 deco_type = "schematic",
993 place_on = {"rp_default:dirt_with_grass"},
994 sidelen = 16,
995 fill_ratio = 0.023,
996 biomes = {"Deep Forest"},
997 flags = "place_center_x, place_center_z",
998 schematic = minetest.get_modpath("rp_default")
999 .. "/schematics/rp_default_giga_birch_tree.mts",
1000 rotation = "random",
1001 y_min = -32000,
1002 y_max = 32000,
1005 minetest.register_decoration(
1007 deco_type = "schematic",
1008 place_on = {"rp_default:dirt_with_grass"},
1009 sidelen = 16,
1010 fill_ratio = 0.004,
1011 biomes = {"Grove"},
1012 flags = "place_center_x, place_center_z",
1013 schematic = minetest.get_modpath("rp_default")
1014 .. "/schematics/rp_default_tall_grove_tree.mts",
1015 y_min = 0,
1016 y_max = 32000,
1019 minetest.register_decoration(
1021 deco_type = "schematic",
1022 place_on = {"rp_default:dirt_with_grass"},
1023 sidelen = 16,
1024 fill_ratio = 0.008,
1025 biomes = {"Forest"},
1026 flags = "place_center_x, place_center_z",
1027 schematic = minetest.get_modpath("rp_default")
1028 .. "/schematics/rp_default_coniferlike_tree.mts",
1029 y_min = -32000,
1030 y_max = 32000,
1033 minetest.register_decoration(
1035 deco_type = "schematic",
1036 place_on = {"rp_default:dirt_with_grass"},
1037 sidelen = 16,
1038 fill_ratio = 0.015,
1039 biomes = {"Tall Birch Forest"},
1040 flags = "place_center_x, place_center_z",
1041 schematic = minetest.get_modpath("rp_default")
1042 .. "/schematics/rp_default_birch_cuboid_tall.mts",
1043 y_min = -32000,
1044 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.0001,
1052 biomes = {"Tall Birch Forest"},
1053 flags = "place_center_x, place_center_z",
1054 schematic = minetest.get_modpath("rp_default")
1055 .. "/schematics/rp_default_layer_birch_2.mts",
1056 y_min = -32000,
1057 y_max = 32000,
1059 minetest.register_decoration(
1061 deco_type = "schematic",
1062 place_on = {"rp_default:dirt_with_grass"},
1063 sidelen = 16,
1064 fill_ratio = 0.00075,
1065 biomes = {"Tall Birch Forest"},
1066 flags = "place_center_x, place_center_z",
1067 schematic = minetest.get_modpath("rp_default")
1068 .. "/schematics/rp_default_birch_candlestick.mts",
1069 y_min = -32000,
1070 y_max = 32000,
1074 minetest.register_decoration(
1076 deco_type = "schematic",
1077 place_on = {"rp_default:dirt_with_grass"},
1078 sidelen = 16,
1079 fill_ratio = 0.004,
1080 biomes = {"Forest"},
1081 flags = "place_center_x, place_center_z",
1082 schematic = minetest.get_modpath("rp_default")
1083 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1084 y_min = -32000,
1085 y_max = 32000,
1088 minetest.register_decoration(
1090 deco_type = "schematic",
1091 place_on = {"rp_default:dirt_with_grass"},
1092 sidelen = 16,
1093 fill_ratio = 0.0003,
1094 biomes = {"Birch Forest"},
1095 flags = "place_center_x, place_center_z",
1096 schematic = minetest.get_modpath("rp_default")
1097 .. "/schematics/rp_default_birch_cuboid_5x4.mts",
1098 y_min = -32000,
1099 y_max = 32000,
1101 minetest.register_decoration(
1103 deco_type = "schematic",
1104 place_on = {"rp_default:dirt_with_grass"},
1105 sidelen = 16,
1106 fill_ratio = 0.001,
1107 biomes = {"Birch Forest"},
1108 flags = "place_center_x, place_center_z",
1109 schematic = minetest.get_modpath("rp_default")
1110 .. "/schematics/rp_default_birch_cuboid_3x4.mts",
1111 y_min = -32000,
1112 y_max = 32000,
1114 minetest.register_decoration(
1116 deco_type = "schematic",
1117 place_on = {"rp_default:dirt_with_grass"},
1118 sidelen = 16,
1119 fill_ratio = 0.003,
1120 biomes = {"Birch Forest"},
1121 flags = "place_center_x, place_center_z",
1122 schematic = minetest.get_modpath("rp_default")
1123 .. "/schematics/rp_default_birch_cuboid_3x3_long.mts",
1124 y_min = -32000,
1125 y_max = 32000,
1127 minetest.register_decoration(
1129 deco_type = "schematic",
1130 place_on = {"rp_default:dirt_with_grass"},
1131 sidelen = 16,
1132 fill_ratio = 0.001,
1133 biomes = {"Birch Forest"},
1134 flags = "place_center_x, place_center_z",
1135 schematic = minetest.get_modpath("rp_default")
1136 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1137 y_min = -32000,
1138 y_max = 32000,
1140 minetest.register_decoration(
1142 deco_type = "schematic",
1143 place_on = {"rp_default:dirt_with_grass"},
1144 sidelen = 16,
1145 fill_ratio = 0.0001,
1146 biomes = {"Birch Forest"},
1147 flags = "place_center_x, place_center_z",
1148 schematic = minetest.get_modpath("rp_default")
1149 .. "/schematics/rp_default_birch_plus.mts",
1150 y_min = -32000,
1151 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.0002,
1159 biomes = {"Birch Forest"},
1160 flags = "place_center_x, place_center_z",
1161 schematic = minetest.get_modpath("rp_default")
1162 .. "/schematics/rp_default_apple_tree_empty.mts",
1163 y_min = -32000,
1164 y_max = 32000,
1169 minetest.register_decoration(
1171 deco_type = "schematic",
1172 place_on = {"rp_default:dirt_with_grass"},
1173 sidelen = 16,
1174 fill_ratio = 0.004,
1175 biomes = {"Dry Swamp"},
1176 flags = "place_center_x, place_center_z",
1177 schematic = minetest.get_modpath("rp_default")
1178 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1179 y_min = -32000,
1180 y_max = 32000,
1183 minetest.register_decoration(
1185 deco_type = "schematic",
1186 place_on = {"rp_default:dirt_with_grass"},
1187 sidelen = 16,
1188 fill_ratio = 0.00035,
1189 biomes = {"Orchard"},
1190 flags = "place_center_x, place_center_z",
1191 schematic = minetest.get_modpath("rp_default")
1192 .. "/schematics/rp_default_apple_tree_big.mts",
1193 y_min = 15,
1194 y_max = 32000,
1197 minetest.register_decoration(
1199 deco_type = "schematic",
1200 place_on = {"rp_default:dirt_with_grass"},
1201 sidelen = 16,
1202 fill_ratio = 0.007,
1203 biomes = {"Orchard"},
1204 flags = "place_center_x, place_center_z",
1205 schematic = minetest.get_modpath("rp_default")
1206 .. "/schematics/rp_default_apple_tree.mts",
1207 y_min = 10,
1208 y_max = 32000,
1211 minetest.register_decoration(
1213 deco_type = "schematic",
1214 place_on = {"rp_default:dirt_with_grass"},
1215 sidelen = 16,
1216 fill_ratio = 0.000033,
1217 biomes = {"Thorny Shrubs"},
1218 flags = "place_center_x, place_center_z",
1219 schematic = minetest.get_modpath("rp_default")
1220 .. "/schematics/rp_default_apple_tree.mts",
1221 y_min = -32000,
1222 y_max = 32000,
1224 minetest.register_decoration(
1226 deco_type = "schematic",
1227 place_on = {"rp_default:dirt_with_grass"},
1228 sidelen = 16,
1229 fill_ratio = 0.00067,
1230 biomes = {"Thorny Shrubs"},
1231 flags = "place_center_x, place_center_z",
1232 schematic = minetest.get_modpath("rp_default")
1233 .. "/schematics/rp_default_apple_tree_empty.mts",
1234 y_min = -32000,
1235 y_max = 32000,
1239 minetest.register_decoration(
1241 deco_type = "schematic",
1242 place_on = {"rp_default:dirt_with_grass"},
1243 sidelen = 16,
1244 fill_ratio = 0.009,
1245 biomes = {"Forest", "Deep Forest"},
1246 flags = "place_center_x, place_center_z",
1247 schematic = minetest.get_modpath("rp_default")
1248 .. "/schematics/rp_default_apple_tree.mts",
1249 y_min = -32000,
1250 y_max = 32000,
1253 minetest.register_decoration(
1255 deco_type = "schematic",
1256 place_on = {"rp_default:dirt_with_grass"},
1257 sidelen = 16,
1258 fill_ratio = 0.0009,
1259 biomes = {"Oak Forest"},
1260 flags = "place_center_x, place_center_z",
1261 schematic = minetest.get_modpath("rp_default")
1262 .. "/schematics/rp_default_oak_tree_big_1.mts",
1263 y_min = 1,
1264 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.0045,
1273 biomes = {"Tall Oak Forest"},
1274 flags = "place_center_x, place_center_z",
1275 schematic = minetest.get_modpath("rp_default")
1276 .. "/schematics/rp_default_oak_tree_big_1.mts",
1277 y_min = 1,
1278 y_max = 32000,
1280 minetest.register_decoration(
1282 deco_type = "schematic",
1283 place_on = {"rp_default:dirt_with_grass"},
1284 sidelen = 16,
1285 fill_ratio = 0.0045,
1286 biomes = {"Tall Oak Forest"},
1287 flags = "place_center_x, place_center_z",
1288 schematic = minetest.get_modpath("rp_default")
1289 .. "/schematics/rp_default_oak_tree_big_2.mts",
1290 y_min = 1,
1291 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.035,
1301 biomes = {"Dense Oak Forest"},
1302 flags = "place_center_x, place_center_z",
1303 schematic = minetest.get_modpath("rp_default")
1304 .. "/schematics/rp_default_oak_tree_big_1.mts",
1305 y_min = 1,
1306 y_max = 32000,
1308 minetest.register_decoration(
1310 deco_type = "schematic",
1311 place_on = {"rp_default:dirt_with_grass"},
1312 sidelen = 16,
1313 fill_ratio = 0.035,
1314 biomes = {"Dense Oak Forest"},
1315 flags = "place_center_x, place_center_z",
1316 schematic = minetest.get_modpath("rp_default")
1317 .. "/schematics/rp_default_oak_tree_big_2.mts",
1318 y_min = 1,
1319 y_max = 32000,
1324 minetest.register_decoration(
1326 deco_type = "schematic",
1327 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1328 sidelen = 16,
1329 fill_ratio = 0.0008,
1330 biomes = {"Mixed Swamp", "Mixed Swamp Beach"},
1331 flags = "place_center_x, place_center_z",
1332 schematic = minetest.get_modpath("rp_default")
1333 .. "/schematics/rp_default_swamp_oak.mts",
1334 y_min = 0,
1335 y_max = 32000,
1338 minetest.register_decoration(
1340 deco_type = "schematic",
1341 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1342 sidelen = 16,
1343 fill_ratio = 0.006,
1344 biomes = {"Swamp Forest", "Swamp Forest Beach"},
1345 flags = "place_center_x, place_center_z",
1346 schematic = minetest.get_modpath("rp_default")
1347 .. "/schematics/rp_default_swamp_oak.mts",
1348 y_min = 0,
1349 y_max = 32000,
1352 minetest.register_decoration(
1354 deco_type = "schematic",
1355 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1356 sidelen = 16,
1357 fill_ratio = 0.0001,
1358 biomes = {"Swamp Forest", "Swamp Forest Beach"},
1359 flags = "place_center_x, place_center_z",
1360 schematic = minetest.get_modpath("rp_default")
1361 .. "/schematics/rp_default_swamp_birch.mts",
1362 y_min = 0,
1363 y_max = 32000,
1365 minetest.register_decoration(
1367 deco_type = "schematic",
1368 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1369 sidelen = 16,
1370 fill_ratio = 0.003,
1371 biomes = {"Dry Swamp", "Dry Swamp Beach"},
1372 flags = "place_center_x, place_center_z",
1373 schematic = minetest.get_modpath("rp_default")
1374 .. "/schematics/rp_default_swamp_birch.mts",
1375 y_min = 0,
1376 y_max = 32000,
1381 local MYSTERY_FOREST_SPREAD = { x=500, y=500, z=500 }
1382 local MYSTERY_FOREST_OFFSET = 0.001
1383 local MYSTERY_FOREST_OFFSET_STAIRCASE = -0.001
1384 local MYSTERY_FOREST_OFFSET_APPLES = -0.0005
1385 local MYSTERY_FOREST_SCALE = 0.008
1387 minetest.register_decoration(
1389 deco_type = "schematic",
1390 place_on = {"rp_default:dirt_with_grass"},
1391 sidelen = 16,
1392 biomes = {"Mystery Forest"},
1393 flags = "place_center_x, place_center_z",
1394 schematic = minetest.get_modpath("rp_default")
1395 .. "/schematics/rp_default_staircase_tree.mts",
1396 y_min = 1,
1397 y_max = 32000,
1398 noise_params = {
1399 octaves = 2,
1400 scale = -MYSTERY_FOREST_SCALE,
1401 offset = MYSTERY_FOREST_OFFSET_STAIRCASE,
1402 spread = MYSTERY_FOREST_SPREAD,
1403 lacunarity = 2.0,
1404 persistence = 0.5,
1405 seed = 49204,
1409 minetest.register_decoration(
1411 deco_type = "schematic",
1412 place_on = {"rp_default:dirt_with_grass"},
1413 sidelen = 16,
1414 biomes = {"Mystery Forest"},
1415 flags = "place_center_x, place_center_z",
1416 schematic = minetest.get_modpath("rp_default")
1417 .. "/schematics/rp_default_layer_birch.mts",
1418 y_min = 1,
1419 y_max = 32000,
1420 noise_params = {
1421 octaves = 2,
1422 scale = MYSTERY_FOREST_SCALE,
1423 offset = MYSTERY_FOREST_OFFSET,
1424 spread = MYSTERY_FOREST_SPREAD,
1425 lacunarity = 2.0,
1426 persistence = 0.5,
1427 seed = 49204,
1431 minetest.register_decoration(
1433 deco_type = "schematic",
1434 place_on = {"rp_default:dirt_with_grass"},
1435 sidelen = 16,
1436 biomes = {"Mystery Forest"},
1437 flags = "place_center_x, place_center_z",
1438 schematic = minetest.get_modpath("rp_default")
1439 .. "/schematics/rp_default_telephone_tree.mts",
1440 y_min = 1,
1441 y_max = 32000,
1442 noise_params = {
1443 octaves = 2,
1444 scale = -MYSTERY_FOREST_SCALE,
1445 offset = MYSTERY_FOREST_OFFSET,
1446 spread = MYSTERY_FOREST_SPREAD,
1447 lacunarity = 2.0,
1448 persistence = 0.5,
1449 seed = 49204,
1453 minetest.register_decoration(
1455 deco_type = "schematic",
1456 place_on = {"rp_default:dirt_with_grass"},
1457 sidelen = 16,
1458 biomes = {"Mystery Forest"},
1459 flags = "place_center_x, place_center_z",
1460 schematic = minetest.get_modpath("rp_default")
1461 .. "/schematics/rp_default_telephone_tree_apples.mts",
1462 y_min = 1,
1463 y_max = 32000,
1464 noise_params = {
1465 octaves = 2,
1466 scale = -MYSTERY_FOREST_SCALE,
1467 offset = MYSTERY_FOREST_OFFSET_APPLES,
1468 spread = MYSTERY_FOREST_SPREAD,
1469 lacunarity = 2.0,
1470 persistence = 0.5,
1471 seed = 49204,
1478 minetest.register_decoration(
1480 deco_type = "schematic",
1481 place_on = {"rp_default:dirt_with_grass"},
1482 sidelen = 16,
1483 biomes = {"Mystery Forest"},
1484 flags = "place_center_x, place_center_z",
1485 schematic = minetest.get_modpath("rp_default")
1486 .. "/schematics/rp_default_cross_birch.mts",
1487 y_min = 1,
1488 y_max = 32000,
1489 noise_params = {
1490 octaves = 2,
1491 scale = MYSTERY_FOREST_SCALE,
1492 offset = MYSTERY_FOREST_OFFSET,
1493 spread = MYSTERY_FOREST_SPREAD,
1494 lacunarity = 2.0,
1495 persistence = 0.5,
1496 seed = 49204,
1500 minetest.register_decoration(
1502 deco_type = "schematic",
1503 place_on = {"rp_default:dirt_with_grass"},
1504 sidelen = 16,
1505 biomes = {"Poplar Plains"},
1506 flags = "place_center_x, place_center_z",
1507 schematic = minetest.get_modpath("rp_default")
1508 .. "/schematics/rp_default_poplar_large.mts",
1509 y_min = 1,
1510 y_max = 32000,
1511 noise_params = {
1512 octaves = 2,
1513 scale = 0.01,
1514 offset = -0.004,
1515 spread = {x=50,y=50,z=50},
1516 lacunarity = 2.0,
1517 persistence = 0.5,
1518 seed = 94325,
1521 minetest.register_decoration(
1523 deco_type = "schematic",
1524 place_on = {"rp_default:dirt_with_grass"},
1525 sidelen = 16,
1526 biomes = {"Poplar Plains"},
1527 flags = "place_center_x, place_center_z",
1528 schematic = minetest.get_modpath("rp_default")
1529 .. "/schematics/rp_default_poplar_small.mts",
1530 y_min = 1,
1531 y_max = 32000,
1532 noise_params = {
1533 octaves = 2,
1534 scale = 0.01,
1535 offset = -0.001,
1536 spread = {x=50,y=50,z=50},
1537 lacunarity = 2.0,
1538 persistence = 0.5,
1539 seed = 94325,
1542 minetest.register_decoration(
1544 deco_type = "schematic",
1545 place_on = {"rp_default:dirt_with_grass"},
1546 fill_ratio = 0.0002,
1547 sidelen = 16,
1548 biomes = {"Poplar Plains"},
1549 flags = "place_center_x, place_center_z",
1550 schematic = minetest.get_modpath("rp_default")
1551 .. "/schematics/rp_default_poplar_small.mts",
1552 y_min = 1,
1553 y_max = 32000,
1556 -- Small poplar tree blobs
1557 minetest.register_decoration(
1559 deco_type = "schematic",
1560 place_on = {"rp_default:dirt_with_grass"},
1561 sidelen = 8,
1562 biomes = {"Baby Poplar Plains"},
1563 flags = "place_center_x, place_center_z",
1564 schematic = minetest.get_modpath("rp_default")
1565 .. "/schematics/rp_default_poplar_small.mts",
1566 y_min = 1,
1567 y_max = 32000,
1568 noise_params = {
1569 octaves = 2,
1570 scale = 0.05,
1571 offset = -0.032,
1572 spread = {x=24,y=24,z=24},
1573 lacunarity = 2.0,
1574 persistence = 0.5,
1575 seed = 94325,
1579 -- Occasional lonely poplars
1580 minetest.register_decoration(
1582 deco_type = "schematic",
1583 place_on = {"rp_default:dirt_with_grass"},
1584 sidelen = 16,
1585 fill_ratio = 0.0002,
1586 biomes = {"Baby Poplar Plains"},
1587 flags = "place_center_x, place_center_z",
1588 schematic = minetest.get_modpath("rp_default")
1589 .. "/schematics/rp_default_poplar_small.mts",
1590 y_min = 1,
1591 y_max = 32000,
1595 -- Bushes
1596 minetest.register_decoration(
1598 deco_type = "schematic",
1599 place_on = {"rp_default:dirt_with_grass"},
1600 sidelen = 16,
1601 fill_ratio = 0.00625,
1602 biomes = {"Tall Birch Forest"},
1603 flags = "place_center_x, place_center_z",
1604 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush_big.mts",
1605 y_min = 1,
1606 y_max = 32000,
1607 rotation = "0",
1610 minetest.register_decoration(
1612 deco_type = "schematic",
1613 place_on = {"rp_default:dirt_with_grass"},
1614 sidelen = 16,
1615 fill_ratio = 0.001,
1616 biomes = {"Birch Forest"},
1617 flags = "place_center_x, place_center_z",
1618 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush.mts",
1619 y_min = 1,
1620 y_max = 32000,
1621 rotation = "0",
1623 minetest.register_decoration(
1625 deco_type = "schematic",
1626 place_on = {"rp_default:dirt_with_grass"},
1627 sidelen = 16,
1628 fill_ratio = 0.0001,
1629 biomes = {"Tall Birch Forest"},
1630 flags = "place_center_x, place_center_z",
1631 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush.mts",
1632 y_min = 1,
1633 y_max = 32000,
1634 rotation = "0",
1637 minetest.register_decoration(
1639 deco_type = "schematic",
1640 place_on = {"rp_default:dirt_with_grass"},
1641 sidelen = 16,
1642 biomes = {"Baby Poplar Plains"},
1643 flags = "place_center_x, place_center_z",
1644 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1645 y_min = 1,
1646 y_max = 32000,
1647 rotation = "0",
1648 noise_params = {
1649 octaves = 1,
1650 scale = 0.001,
1651 offset = -0.0000001,
1652 spread = { x = 50, y = 50, z = 50 },
1653 lacunarity = 2.0,
1654 persistence = 0.5,
1655 seed = 98421,
1659 minetest.register_decoration(
1661 deco_type = "schematic",
1662 place_on = {"rp_default:dirt_with_grass"},
1663 sidelen = 16,
1664 biomes = {"Thorny Shrubs"},
1665 flags = "place_center_x, place_center_z",
1666 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1667 y_min = 3,
1668 y_max = 32000,
1669 rotation = "0",
1670 noise_params = {
1671 octaves = 1,
1672 scale = -0.004,
1673 offset = 0.002,
1674 spread = { x = 82, y = 82, z = 82 },
1675 lacunarity = 2.0,
1676 persistence = 0.5,
1677 seed = 43905,
1681 minetest.register_decoration(
1683 deco_type = "schematic",
1684 place_on = {"rp_default:dirt_with_grass"},
1685 sidelen = 16,
1686 fill_ratio = 0.006,
1687 biomes = {"Shrubbery"},
1688 flags = "place_center_x, place_center_z",
1689 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1690 y_min = 1,
1691 y_max = 32000,
1692 rotation = "0",
1695 -- Wilderness apple trees: 50/50 split between
1696 -- trees with apples and those without.
1697 minetest.register_decoration(
1699 deco_type = "schematic",
1700 place_on = {"rp_default:dirt_with_grass"},
1701 sidelen = 16,
1702 fill_ratio = 0.002,
1703 biomes = {"Wilderness"},
1704 flags = "place_center_x, place_center_z",
1705 schematic = minetest.get_modpath("rp_default")
1706 .. "/schematics/rp_default_apple_tree.mts",
1707 y_min = -32000,
1708 y_max = 32000,
1710 minetest.register_decoration(
1712 deco_type = "schematic",
1713 place_on = {"rp_default:dirt_with_grass"},
1714 sidelen = 16,
1715 fill_ratio = 0.002,
1716 biomes = {"Wilderness"},
1717 flags = "place_center_x, place_center_z",
1718 schematic = minetest.get_modpath("rp_default")
1719 .. "/schematics/rp_default_apple_tree_empty.mts",
1720 y_min = -32000,
1721 y_max = 32000,
1724 minetest.register_decoration(
1726 deco_type = "schematic",
1727 place_on = {"rp_default:dirt_with_grass", "rp_default:dirt"},
1728 sidelen = 16,
1729 fill_ratio = 0.0001,
1730 biomes = {"Dry Swamp"},
1731 flags = "place_center_x, place_center_z",
1732 schematic = minetest.get_modpath("rp_default")
1733 .. "/schematics/rp_default_apple_tree.mts",
1734 y_min = -32000,
1735 y_max = 32000,
1738 minetest.register_decoration(
1740 deco_type = "schematic",
1741 place_on = {"rp_default:dirt_with_grass"},
1742 sidelen = 16,
1743 fill_ratio = 0.004,
1744 biomes = {"Wilderness"},
1745 flags = "place_center_x, place_center_z",
1746 schematic = minetest.get_modpath("rp_default")
1747 .. "/schematics/rp_default_oak_tree.mts",
1748 y_min = -32000,
1749 y_max = 32000,
1753 minetest.register_decoration(
1755 deco_type = "schematic",
1756 place_on = {"rp_default:dirt_with_grass"},
1757 sidelen = 16,
1758 fill_ratio = 0.001,
1759 biomes = {"Oak Shrubbery"},
1760 flags = "place_center_x, place_center_z",
1761 schematic = minetest.get_modpath("rp_default")
1762 .. "/schematics/rp_default_oak_tree.mts",
1763 y_min = 1,
1764 y_max = 32000,
1767 minetest.register_decoration(
1769 deco_type = "schematic",
1770 place_on = {"rp_default:dirt_with_grass"},
1771 sidelen = 16,
1772 fill_ratio = 0.02,
1773 biomes = {"Dense Oak Forest"},
1774 flags = "place_center_x, place_center_z",
1775 schematic = minetest.get_modpath("rp_default")
1776 .. "/schematics/rp_default_oak_tree.mts",
1777 y_min = 1,
1778 y_max = 32000,
1781 minetest.register_decoration(
1783 deco_type = "schematic",
1784 place_on = {"rp_default:dirt_with_grass"},
1785 sidelen = 16,
1786 fill_ratio = 0.0225,
1787 biomes = {"Oak Forest"},
1788 flags = "place_center_x, place_center_z",
1789 schematic = minetest.get_modpath("rp_default")
1790 .. "/schematics/rp_default_oak_tree.mts",
1791 y_min = 1,
1792 y_max = 32000,
1795 minetest.register_decoration(
1797 deco_type = "schematic",
1798 place_on = {"rp_default:dirt_with_grass"},
1799 sidelen = 16,
1800 fill_ratio = 0.0015,
1801 biomes = {"Tall Oak Forest"},
1802 flags = "place_center_x, place_center_z",
1803 schematic = minetest.get_modpath("rp_default")
1804 .. "/schematics/rp_default_oak_tree.mts",
1805 y_min = 1,
1806 y_max = 32000,
1813 -- Cactus decorations
1815 minetest.register_decoration(
1817 deco_type = "schematic",
1818 place_on = {"rp_default:sand"},
1819 sidelen = 16,
1820 fill_ratio = 0.004,
1821 biomes = {"Desert"},
1822 flags = "place_center_x, place_center_z",
1823 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_cactus.mts",
1824 y_min = 10,
1825 y_max = 500,
1826 rotation = "random",
1829 -- Rock decorations
1831 if mg_name ~= "v6" then
1832 minetest.register_decoration(
1834 deco_type = "schematic",
1835 place_on = {"rp_default:dry_dirt"},
1836 sidelen = 16,
1837 fill_ratio = 0.006,
1838 biomes = {"Wasteland"},
1839 flags = "place_center_x, place_center_z",
1840 schematic = minetest.get_modpath("rp_default")
1841 .. "/schematics/rp_default_small_rock.mts",
1842 y_min = 1,
1843 y_max = 32000,
1844 rotation = "random",
1847 minetest.register_decoration(
1849 deco_type = "schematic",
1850 place_on = {"rp_default:dry_dirt"},
1851 sidelen = 16,
1852 fill_ratio = 0.004,
1853 biomes = {"Wasteland"},
1854 flags = "place_center_x, place_center_z",
1855 schematic = minetest.get_modpath("rp_default")
1856 .. "/schematics/rp_default_large_rock.mts",
1857 y_min = 1,
1858 y_max = 32000,
1859 rotation = "random",
1862 minetest.register_decoration(
1864 deco_type = "schematic",
1865 place_on = {"rp_default:stone", "rp_default:dry_dirt"},
1866 sidelen = 16,
1867 fill_ratio = 0.003,
1868 biomes = {"Rocky Dryland"},
1869 flags = "place_center_x, place_center_z",
1870 schematic = minetest.get_modpath("rp_default")
1871 .. "/schematics/rp_default_small_rock.mts",
1872 y_min = 1,
1873 y_max = 32000,
1874 rotation = "random",
1877 minetest.register_decoration(
1879 deco_type = "schematic",
1880 place_on = {"rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
1881 sidelen = 16,
1882 fill_ratio = 0.001,
1883 biomes = {"Savannic Wasteland"},
1884 flags = "place_center_x, place_center_z",
1885 schematic = minetest.get_modpath("rp_default")
1886 .. "/schematics/rp_default_small_rock.mts",
1887 y_min = 1,
1888 y_max = 32000,
1889 rotation = "random",
1893 -- Sulfur decorations
1895 minetest.register_decoration(
1897 deco_type = "simple",
1898 place_on = "rp_default:dry_dirt",
1899 sidelen = 16,
1900 fill_ratio = 0.005,
1901 biomes = {"Wasteland"},
1902 decoration = {"rp_default:stone_with_sulfur"},
1903 y_min = 2,
1904 y_max = 14,
1906 minetest.register_decoration(
1908 deco_type = "simple",
1909 place_on = {"rp_default:dry_dirt", "rp_default:stone"},
1910 sidelen = 16,
1911 fill_ratio = 0.0001,
1912 biomes = {"Rocky Dryland"},
1913 decoration = {"rp_default:stone_with_sulfur"},
1914 y_min = 2,
1915 y_max = 14,
1918 -- Tiny tree decorations
1920 minetest.register_decoration(
1922 deco_type = "schematic",
1923 place_on = {"rp_default:dry_dirt"},
1924 sidelen = 16,
1925 fill_ratio = 0.0001,
1926 biomes = {"Rocky Dryland"},
1927 flags = "place_center_x, place_center_z",
1928 schematic = minetest.get_modpath("rp_default")
1929 .. "/schematics/rp_default_tiny_birch.mts",
1930 y_min = 1,
1931 y_max = 32000,
1934 minetest.register_decoration(
1936 deco_type = "schematic",
1937 place_on = {"rp_default:dry_dirt"},
1938 sidelen = 16,
1939 fill_ratio = 0.00025,
1940 biomes = {"Rocky Dryland"},
1941 flags = "place_center_x, place_center_z",
1942 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1943 y_min = 3,
1944 y_max = 32000,
1946 minetest.register_decoration(
1948 deco_type = "schematic",
1949 place_on = {"rp_default:dry_dirt"},
1950 sidelen = 16,
1951 fill_ratio = 0.00025,
1952 biomes = {"Rocky Dryland"},
1953 flags = "place_center_x, place_center_z",
1954 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
1955 y_min = 3,
1956 y_max = 32000,
1958 minetest.register_decoration(
1960 deco_type = "schematic",
1961 place_on = {"rp_default:dry_dirt"},
1962 sidelen = 16,
1963 fill_ratio = 0.002,
1964 biomes = {"Rocky Dryland"},
1965 flags = "place_center_x, place_center_z",
1966 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1967 y_min = 3,
1968 y_max = 32000,
1970 minetest.register_decoration(
1972 deco_type = "schematic",
1973 place_on = {"rp_default:dry_dirt"},
1974 sidelen = 16,
1975 fill_ratio = 0.0001,
1976 biomes = {"Rocky Dryland"},
1977 flags = "place_center_x, place_center_z",
1978 schematic = minetest.get_modpath("rp_default")
1979 .. "/schematics/rp_default_tiny_birch.mts",
1980 y_min = 1,
1981 y_max = 32000,
1984 minetest.register_decoration(
1986 deco_type = "schematic",
1987 place_on = {"rp_default:dry_dirt"},
1988 sidelen = 16,
1989 fill_ratio = 0.00025,
1990 biomes = {"Rocky Dryland"},
1991 flags = "place_center_x, place_center_z",
1992 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1993 y_min = 3,
1994 y_max = 32000,
1996 minetest.register_decoration(
1998 deco_type = "schematic",
1999 place_on = {"rp_default:dry_dirt"},
2000 sidelen = 16,
2001 fill_ratio = 0.00025,
2002 biomes = {"Rocky Dryland"},
2003 flags = "place_center_x, place_center_z",
2004 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
2005 y_min = 3,
2006 y_max = 32000,
2008 minetest.register_decoration(
2010 deco_type = "schematic",
2011 place_on = {"rp_default:dry_dirt"},
2012 sidelen = 16,
2013 fill_ratio = 0.002,
2014 biomes = {"Rocky Dryland"},
2015 flags = "place_center_x, place_center_z",
2016 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2017 y_min = 3,
2018 y_max = 32000,
2021 minetest.register_decoration(
2023 deco_type = "schematic",
2024 place_on = {"rp_default:dry_dirt"},
2025 sidelen = 16,
2026 fill_ratio = 0.003,
2027 biomes = {"Wooded Dryland"},
2028 flags = "place_center_x, place_center_z",
2029 schematic = minetest.get_modpath("rp_default")
2030 .. "/schematics/rp_default_tiny_oak.mts",
2031 y_min = 1,
2032 y_max = 32000,
2035 minetest.register_decoration(
2037 deco_type = "schematic",
2038 place_on = {"rp_default:dry_dirt"},
2039 sidelen = 16,
2040 fill_ratio = 0.001,
2041 biomes = {"Wooded Dryland"},
2042 flags = "place_center_x, place_center_z",
2043 schematic = minetest.get_modpath("rp_default")
2044 .. "/schematics/rp_default_tiny_birch.mts",
2045 y_min = 1,
2046 y_max = 32000,
2050 minetest.register_decoration(
2052 deco_type = "schematic",
2053 place_on = {"rp_default:dry_dirt"},
2054 sidelen = 16,
2055 fill_ratio = 0.0002,
2056 biomes = {"Savannic Wasteland"},
2057 flags = "place_center_x, place_center_z",
2058 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2059 y_min = 3,
2060 y_max = 32000,
2065 -- Bush/shrub decorations
2067 minetest.register_decoration(
2069 deco_type = "schematic",
2070 place_on = {"rp_default:dirt_with_grass"},
2071 sidelen = 16,
2072 fill_ratio = 0.0075,
2073 biomes = {"Oak Shrubbery"},
2074 flags = "place_center_x, place_center_z",
2075 schematic = minetest.get_modpath("rp_default")
2076 .. "/schematics/rp_default_oak_bush_wide.mts",
2077 y_min = 1,
2078 y_max = 32000,
2081 minetest.register_decoration(
2083 deco_type = "schematic",
2084 place_on = {"rp_default:dirt_with_grass"},
2085 sidelen = 16,
2086 fill_ratio = 0.03,
2087 biomes = {"Dense Oak Forest"},
2088 flags = "place_center_x, place_center_z",
2089 schematic = minetest.get_modpath("rp_default")
2090 .. "/schematics/rp_default_oak_bush_wide.mts",
2091 y_min = 1,
2092 y_max = 32000,
2095 minetest.register_decoration(
2097 deco_type = "schematic",
2098 place_on = {"rp_default:dirt_with_grass"},
2099 sidelen = 16,
2100 fill_ratio = 0.001,
2101 biomes = {"Oak Forest"},
2102 flags = "place_center_x, place_center_z",
2103 schematic = minetest.get_modpath("rp_default")
2104 .. "/schematics/rp_default_oak_bush_wide.mts",
2105 y_min = 1,
2106 y_max = 32000,
2109 minetest.register_decoration(
2111 deco_type = "schematic",
2112 place_on = {"rp_default:dirt_with_dry_grass"},
2113 sidelen = 16,
2114 fill_ratio = 0.005,
2115 biomes = {"Savanna", "Chaparral"},
2116 flags = "place_center_x, place_center_z",
2117 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2118 y_min = 3,
2119 y_max = 32000,
2120 rotation = "0",
2123 minetest.register_decoration(
2125 deco_type = "schematic",
2126 place_on = {"rp_default:dirt_with_dry_grass"},
2127 sidelen = 16,
2128 fill_ratio = 0.0025,
2129 biomes = {"Savannic Wasteland"},
2130 flags = "place_center_x, place_center_z",
2131 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2132 y_min = 3,
2133 y_max = 32000,
2134 rotation = "0",
2137 minetest.register_decoration(
2139 deco_type = "schematic",
2140 place_on = {"rp_default:dry_dirt"},
2141 sidelen = 16,
2142 fill_ratio = 0.001,
2143 biomes = {"Rocky Dryland", "Wooded Dryland"},
2144 flags = "place_center_x, place_center_z",
2145 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2146 y_min = 3,
2147 y_max = 32000,
2150 minetest.register_decoration(
2152 deco_type = "schematic",
2153 place_on = {"rp_default:dirt_with_dry_grass"},
2154 sidelen = 16,
2155 fill_ratio = 0.06,
2156 biomes = {"Chaparral"},
2157 flags = "place_center_x, place_center_z",
2158 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2159 y_min = 0,
2160 y_max = 32000,
2161 rotation = "0",
2163 minetest.register_decoration(
2165 deco_type = "schematic",
2166 place_on = {"rp_default:dirt_with_grass"},
2167 sidelen = 16,
2168 biomes = {"Thorny Shrubs"},
2169 flags = "place_center_x, place_center_z",
2170 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2171 y_min = 5,
2172 y_max = 32000,
2173 rotation = "0",
2174 noise_params = {
2175 octaves = 1,
2176 scale = -0.004,
2177 offset = -0.001,
2178 spread = { x = 82, y = 82, z = 82 },
2179 lacunarity = 2.0,
2180 persistence = 0.5,
2181 seed = 493421,
2186 minetest.register_decoration(
2188 deco_type = "schematic",
2189 place_on = {"rp_default:dirt_with_grass"},
2190 sidelen = 16,
2191 fill_ratio = 0.0003,
2192 biomes = {"Oak Shrubbery"},
2193 flags = "place_center_x, place_center_z",
2194 schematic = minetest.get_modpath("rp_default")
2195 .. "/schematics/rp_default_normal_bush_small.mts",
2196 y_min = 1,
2197 y_max = 32000,
2200 minetest.register_decoration(
2202 deco_type = "schematic",
2203 place_on = {"rp_default:dirt_with_grass"},
2204 sidelen = 16,
2205 fill_ratio = 0.006,
2206 biomes = {"Shrubbery"},
2207 flags = "place_center_x, place_center_z",
2208 schematic = minetest.get_modpath("rp_default")
2209 .. "/schematics/rp_default_normal_bush_small.mts",
2210 y_min = 1,
2211 y_max = 32000,
2216 minetest.register_decoration(
2218 deco_type = "schematic",
2219 place_on = {"rp_default:dirt_with_grass"},
2220 sidelen = 16,
2221 fill_ratio = 0.004,
2222 biomes = {"Grove"},
2223 flags = "place_center_x, place_center_z",
2224 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
2225 y_min = 3,
2226 y_max = 32000,
2227 rotation = "0",
2229 minetest.register_decoration(
2231 deco_type = "schematic",
2232 place_on = {"rp_default:dirt_with_grass"},
2233 sidelen = 16,
2234 fill_ratio = 0.0004,
2235 biomes = {"Wilderness"},
2236 flags = "place_center_x, place_center_z",
2237 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2238 y_min = 3,
2239 y_max = 32000,
2240 rotation = "0",
2242 minetest.register_decoration(
2244 deco_type = "schematic",
2245 place_on = {"rp_default:dirt_with_grass"},
2246 sidelen = 16,
2247 fill_ratio = 0.0036,
2248 biomes = {"Wilderness"},
2249 flags = "place_center_x, place_center_z",
2250 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
2251 y_min = 3,
2252 y_max = 32000,
2253 rotation = "0",
2258 -- Thistle decorations
2260 minetest.register_decoration(
2262 deco_type = "simple",
2263 place_on = "rp_default:dirt_with_grass",
2264 sidelen = 16,
2265 fill_ratio = 0.024,
2266 biomes = {"Wilderness"},
2267 decoration = {"rp_default:thistle"},
2268 height = 2,
2269 y_min = -32000,
2270 y_max = 32000,
2272 minetest.register_decoration(
2274 deco_type = "simple",
2275 place_on = {"rp_default:dirt_with_grass", "rp_default:dry_dirt"},
2276 sidelen = 4,
2277 biomes = {"Thorny Shrubs"},
2278 decoration = {"rp_default:thistle"},
2279 height = 2,
2280 y_min = -32000,
2281 y_max = 32000,
2282 noise_params = {
2283 octaves = 2,
2284 scale = 1,
2285 offset = -0.5,
2286 spread = { x = 12, y = 12, z = 12 },
2287 lacunarity = 2.0,
2288 persistence = 0.5,
2289 seed = 43905,
2293 -- Papyrus decorations
2295 -- Beach papyrus
2296 minetest.register_decoration(
2298 deco_type = "simple",
2299 place_on = {"rp_default:sand", "rp_default:dirt", "rp_default:dirt_with_grass"},
2300 spawn_by = {"rp_default:water_source", "rp_default:water_flowing"},
2301 num_spawn_by = 1,
2302 sidelen = 16,
2303 fill_ratio = 0.08,
2304 biomes = {"Grassland Ocean", "Grassland", "Forest Ocean", "Forest", "Wilderness Ocean", "Wilderness", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Marsh Beach"},
2305 decoration = {"rp_default:papyrus"},
2306 height = 2,
2307 y_max = 3,
2308 y_min = 0,
2311 -- Grassland papyrus
2312 minetest.register_decoration(
2314 deco_type = "simple",
2315 place_on = {"rp_default:dirt_with_grass"},
2316 spawn_by = {"group:water"},
2317 num_spawn_by = 1,
2318 sidelen = 16,
2319 fill_ratio = 0.08,
2320 biomes = {"Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"},
2321 decoration = {"rp_default:papyrus"},
2322 height = 2,
2323 height_max = 3,
2324 y_max = 30,
2325 y_min = 4,
2329 -- Swamp papyrus
2330 minetest.register_decoration(
2332 deco_type = "simple",
2333 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2334 spawn_by = {"group:water"},
2335 num_spawn_by = 1,
2336 sidelen = 16,
2337 fill_ratio = 0.30,
2338 biomes = {"Mixed Swamp"},
2339 decoration = {"rp_default:papyrus"},
2340 height = 3,
2341 height_max = 4,
2342 y_max = 31000,
2343 y_min = -100,
2346 minetest.register_decoration(
2348 deco_type = "simple",
2349 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2350 spawn_by = {"group:water"},
2351 num_spawn_by = 1,
2352 sidelen = 16,
2353 fill_ratio = 0.60,
2354 biomes = {"Papyrus Swamp"},
2355 decoration = {"rp_default:papyrus"},
2356 height = 4,
2357 height_max = 4,
2358 y_max = 31000,
2359 y_min = -100,
2362 -- Flower decorations
2364 minetest.register_decoration(
2366 deco_type = "simple",
2367 place_on = "rp_default:dirt_with_grass",
2368 sidelen = 16,
2369 fill_ratio = 0.04,
2370 biomes = {"Grassland", "Wilderness", "Orchard", "Baby Poplar Plains", "Birch Forest"},
2371 decoration = {"rp_default:flower"},
2372 y_min = -32000,
2373 y_max = 32000,
2376 -- Grass decorations
2378 if mg_name ~= "v6" then
2379 minetest.register_decoration(
2381 deco_type = "simple",
2382 place_on = "rp_default:dirt_with_grass",
2383 sidelen = 16,
2384 fill_ratio = 0.18,
2385 biomes = {"Grassland", "Orchard", "Swamp Meadow", "Baby Poplar Plains", "Poplar Plains", "Shrubbery", "Oak Shrubbery", "Thorny Shrubs", "Dry Swamp"},
2386 decoration = {"rp_default:grass"},
2387 y_min = 10,
2388 y_max = 32000,
2392 minetest.register_decoration(
2394 deco_type = "simple",
2395 place_on = "rp_default:dirt_with_swamp_grass",
2396 sidelen = 16,
2397 fill_ratio = 0.04,
2398 biomes = {"Mixed Swamp", "Dry Swamp", "Swamp Papyrus", "Swamp Forest"},
2399 decoration = {"rp_default:swamp_grass"},
2400 y_min = 1,
2401 y_max = 31000,
2403 minetest.register_decoration(
2405 deco_type = "simple",
2406 place_on = "rp_default:dirt_with_swamp_grass",
2407 sidelen = 16,
2408 fill_ratio = 0.016,
2409 biomes = {"Swamp Meadow"},
2410 decoration = {"rp_default:swamp_grass"},
2411 y_min = 1,
2412 y_max = 31000,
2415 minetest.register_decoration(
2417 deco_type = "simple",
2418 place_on = "rp_default:dirt_with_dry_grass",
2419 sidelen = 16,
2420 fill_ratio = 0.07,
2421 biomes = {"Desert", "Savanna", "Chaparral", "Savannic Wasteland"},
2422 decoration = {"rp_default:dry_grass"},
2423 y_min = 10,
2424 y_max = 500,
2427 if mg_name ~= "v6" then
2428 minetest.register_decoration(
2430 deco_type = "simple",
2431 place_on = "rp_default:dirt_with_grass",
2432 sidelen = 16,
2433 fill_ratio = 0.08,
2434 biomes = {"Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Tall Oak Forest", "Mystery Forest"},
2435 decoration = {"rp_default:grass"},
2436 y_min = 0,
2437 y_max = 32000,
2440 minetest.register_decoration(
2442 deco_type = "simple",
2443 place_on = "rp_default:dirt_with_grass",
2444 sidelen = 16,
2445 fill_ratio = 0.08,
2446 biomes = {"Forest", "Marsh", "Grove", "Shrubbery", "Oak Shrubbery"},
2447 decoration = {"rp_default:tall_grass"},
2448 y_min = 0,
2449 y_max = 32000,
2452 minetest.register_decoration(
2454 deco_type = "simple",
2455 place_on = "rp_default:dirt_with_grass",
2456 sidelen = 16,
2457 fill_ratio = 0.15,
2458 biomes = {"Deep Forest", "Tall Oak Forest"},
2459 decoration = {"rp_default:tall_grass"},
2460 y_min = 0,
2461 y_max = 32000,
2464 minetest.register_decoration(
2466 deco_type = "simple",
2467 place_on = "rp_default:dirt_with_grass",
2468 sidelen = 16,
2469 fill_ratio = 0.05,
2470 biomes = {"Thorny Shrubs"},
2471 decoration = {"rp_default:tall_grass"},
2472 y_min = 0,
2473 y_max = 32000,
2475 minetest.register_decoration(
2477 deco_type = "simple",
2478 place_on = "rp_default:dirt_with_grass",
2479 sidelen = 16,
2480 fill_ratio = 0.1,
2481 biomes = {"Thorny Shrubs"},
2482 decoration = {"rp_default:grass"},
2483 y_min = 0,
2484 y_max = 32000,
2489 minetest.register_decoration(
2491 deco_type = "simple",
2492 place_on = "rp_default:dirt_with_grass",
2493 sidelen = 16,
2494 fill_ratio = 0.16,
2495 biomes = {"Wilderness", "Thorny Shrubs"},
2496 decoration = {"rp_default:grass"},
2497 y_min = -32000,
2498 y_max = 32000,
2501 minetest.register_decoration(
2503 deco_type = "simple",
2504 place_on = "rp_default:dirt_with_grass",
2505 sidelen = 16,
2506 fill_ratio = 0.12,
2507 biomes = {"Wilderness", "Thorny Shrubs"},
2508 decoration = {"rp_default:tall_grass"},
2509 y_min = -32000,
2510 y_max = 32000,
2513 -- Fern decorations
2515 minetest.register_decoration(
2517 deco_type = "simple",
2518 place_on = "rp_default:dirt_with_grass",
2519 sidelen = 16,
2520 fill_ratio = 0.02,
2521 biomes = {"Wilderness", "Grove", "Tall Oak Forest", "Mystery Forest"},
2522 decoration = {"rp_default:fern"},
2523 y_min = -32000,
2524 y_max = 32000,
2527 -- Clam decorations
2529 minetest.register_decoration(
2531 deco_type = "simple",
2532 place_on = {"rp_default:sand", "rp_default:gravel"},
2533 sidelen = 16,
2534 fill_ratio = 0.02,
2535 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"},
2536 decoration = {"rp_default:clam"},
2537 y_min = 0,
2538 y_max = 1,
2542 --[[ ORES ]]
2544 -- Graphite ore
2546 minetest.register_ore( -- Common above sea level mainly
2548 ore_type = "scatter",
2549 ore = "rp_default:stone_with_graphite",
2550 wherein = "rp_default:stone",
2551 clust_scarcity = 9*9*9,
2552 clust_num_ores = 8,
2553 clust_size = 8,
2554 y_min = -8,
2555 y_max = 32,
2558 minetest.register_ore( -- Slight scattering deeper down
2560 ore_type = "scatter",
2561 ore = "rp_default:stone_with_graphite",
2562 wherein = "rp_default:stone",
2563 clust_scarcity = 13*13*13,
2564 clust_num_ores = 6,
2565 clust_size = 8,
2566 y_min = -31000,
2567 y_max = -32,
2570 -- Coal ore
2572 minetest.register_ore( -- Even distribution
2574 ore_type = "scatter",
2575 ore = "rp_default:stone_with_coal",
2576 wherein = "rp_default:stone",
2577 clust_scarcity = 10*10*10,
2578 clust_num_ores = 8,
2579 clust_size = 4,
2580 y_min = -31000,
2581 y_max = 32,
2584 minetest.register_ore( -- Dense sheet
2586 ore_type = "scatter",
2587 ore = "rp_default:stone_with_coal",
2588 wherein = "rp_default:stone",
2589 clust_scarcity = 7*7*7,
2590 clust_num_ores = 10,
2591 clust_size = 8,
2592 y_min = -40,
2593 y_max = -32,
2596 minetest.register_ore( -- Deep ore sheet
2598 ore_type = "scatter",
2599 ore = "rp_default:stone_with_coal",
2600 wherein = "rp_default:stone",
2601 clust_scarcity = 6*6*6,
2602 clust_num_ores = 26,
2603 clust_size = 12,
2604 y_min = -130,
2605 y_max = -120,
2608 -- Iron ore
2610 minetest.register_ore( -- Even distribution
2612 ore_type = "scatter",
2613 ore = "rp_default:stone_with_iron",
2614 wherein = "rp_default:stone",
2615 clust_scarcity = 12*12*12,
2616 clust_num_ores = 4,
2617 clust_size = 3,
2618 y_min = -31000,
2619 y_max = -8,
2622 minetest.register_ore( -- Dense sheet
2624 ore_type = "scatter",
2625 ore = "rp_default:stone_with_iron",
2626 wherein = "rp_default:stone",
2627 clust_scarcity = 8*8*8,
2628 clust_num_ores = 20,
2629 clust_size = 12,
2630 y_min = -32,
2631 y_max = -24,
2634 minetest.register_ore( -- Dense sheet
2636 ore_type = "scatter",
2637 ore = "rp_default:stone_with_iron",
2638 wherein = "rp_default:stone",
2639 clust_scarcity = 7*7*7,
2640 clust_num_ores = 17,
2641 clust_size = 6,
2642 y_min = -80,
2643 y_max = -60,
2646 -- Tin ore
2648 minetest.register_ore( -- Even distribution
2650 ore_type = "scatter",
2651 ore = "rp_default:stone_with_tin",
2652 wherein = "rp_default:stone",
2653 clust_scarcity = 14*14*14,
2654 clust_num_ores = 8,
2655 clust_size = 4,
2656 y_min = -31000,
2657 y_max = -100,
2660 minetest.register_ore( -- Dense sheet
2662 ore_type = "scatter",
2663 ore = "rp_default:stone_with_tin",
2664 wherein = "rp_default:stone",
2665 clust_scarcity = 7*7*7,
2666 clust_num_ores = 10,
2667 clust_size = 6,
2668 y_min = -150,
2669 y_max = -140,
2672 -- Copper ore
2674 minetest.register_ore( -- Begin sheet
2676 ore_type = "scatter",
2677 ore = "rp_default:stone_with_copper",
2678 wherein = "rp_default:stone",
2679 clust_scarcity = 6*6*6,
2680 clust_num_ores = 12,
2681 clust_size = 5,
2682 y_min = -90,
2683 y_max = -80,
2686 minetest.register_ore( -- Rare even distribution
2688 ore_type = "scatter",
2689 ore = "rp_default:stone_with_copper",
2690 wherein = "rp_default:stone",
2691 clust_scarcity = 13*13*13,
2692 clust_num_ores = 10,
2693 clust_size = 5,
2694 y_min = -31000,
2695 y_max = -90,
2698 minetest.register_ore( -- Large clusters
2700 ore_type = "scatter",
2701 ore = "rp_default:stone_with_copper",
2702 wherein = "rp_default:stone",
2703 clust_scarcity = 8*8*8,
2704 clust_num_ores = 22,
2705 clust_size = 10,
2706 y_min = -230,
2707 y_max = -180,
2710 -- Small gravel blobs
2711 minetest.register_ore({
2712 ore_type = "blob",
2713 ore = "rp_default:gravel",
2714 wherein = "rp_default:stone",
2715 clust_scarcity = 10*10*10,
2716 clust_num_ores = 33,
2717 clust_size = 4,
2718 y_min = -31000,
2719 y_max = 31000,
2720 noise_params = {
2721 offset = 0,
2722 scale = 1,
2723 spread = {x=150, y=150, z=150},
2724 seed = 58943,
2725 octaves = 3,
2726 persist = 0.5,
2727 lacunarity = 2,
2728 flags = "defaults",
2732 -- Small sand blobs
2733 minetest.register_ore({
2734 ore_type = "blob",
2735 ore = "rp_default:sand",
2736 wherein = "rp_default:stone",
2737 clust_scarcity = 10*10*10,
2738 clust_num_ores = 40,
2739 clust_size = 4,
2740 y_min = -31000,
2741 y_max = 31000,
2742 noise_params = {
2743 offset = 0,
2744 scale = 1,
2745 spread = {x=150, y=150, z=150},
2746 seed = 38943,
2747 octaves = 3,
2748 persist = 0.5,
2749 lacunarity = 2,
2750 flags = "defaults",
2755 -- Dirt, Dry Dirt and Swamp Dirt blobs.
2756 -- These get generated depending on the biome.
2757 -- The following code is to generate the list
2758 -- of biomes that include either dirt, dry dirt or swamp dirt.
2760 -- Returns a list of biomes that use the specified nodename
2761 -- as its dirt blob, by using the data from
2762 -- default.get_biome_info.
2763 -- * nodename: A name of the node (a dirt node)
2764 local get_dirt_biomes = function(nodename)
2765 local biomes = default.get_core_biomes()
2766 local out_biomes = {}
2767 for b=1, #biomes do
2768 local biome_info = default.get_biome_info(biomes[b])
2769 -- Add biome to list iff it uses the specified node as dirt blob
2770 if biome_info.dirt_blob ~= nil and biome_info.dirt_blob == nodename then
2771 table.insert(out_biomes, biomes[b])
2774 return out_biomes
2777 local dirt_biomes = get_dirt_biomes("rp_default:dirt")
2778 local dry_dirt_biomes = get_dirt_biomes("rp_default:dry_dirt")
2779 local swamp_dirt_biomes = get_dirt_biomes("rp_default:swamp_dirt")
2781 minetest.log("verbose", "[rp_default] List of builtin biomes with Dirt blobs: "..dump(dirt_biomes))
2782 minetest.log("verbose", "[rp_default] List of builtin biomes with Dry Dirt blobs: "..dump(dry_dirt_biomes))
2783 minetest.log("verbose", "[rp_default] List of builtin biomes with Swamp Dirt blobs: "..dump(swamp_dirt_biomes))
2785 local np_dirtlike = {
2786 offset = 0,
2787 scale = 1,
2788 spread = {x=150, y=150, z=150},
2789 seed = 98943,
2790 octaves = 3,
2791 persist = 0.5,
2792 lacunarity = 2,
2793 flags = "defaults",
2796 minetest.register_ore({
2797 ore_type = "blob",
2798 ore = "rp_default:dirt",
2799 wherein = "rp_default:stone",
2800 clust_scarcity = 10*10*10,
2801 clust_num_ores = 33,
2802 clust_size = 4,
2803 y_min = -31000,
2804 y_max = 31000,
2805 biomes = dirt_biomes,
2806 noise_params = np_dirtlike,
2809 minetest.register_ore({
2810 ore_type = "blob",
2811 ore = "rp_default:dry_dirt",
2812 wherein = "rp_default:stone",
2813 clust_scarcity = 10*10*10,
2814 clust_num_ores = 33,
2815 clust_size = 4,
2816 y_min = -31000,
2817 y_max = 31000,
2818 biomes = dry_dirt_biomes,
2819 noise_params = np_dirtlike,
2822 minetest.register_ore({
2823 ore_type = "blob",
2824 ore = "rp_default:swamp_dirt",
2825 wherein = "rp_default:stone",
2826 clust_scarcity = 10*10*10,
2827 clust_num_ores = 33,
2828 clust_size = 4,
2829 y_min = -31000,
2830 y_max = 31000,
2831 biomes = swamp_dirt_biomes,
2832 noise_params = np_dirtlike,