Add ocean biomes for every biome
[Pixture/pixture_revival.git] / mods / rp_default / mapgen.lua
blobf140449b05c82a91c90d6aa64be8e717b99fd442
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 register_ocean_and_beach = function(biomename, node_ocean, beach_depth, node_beach)
66 local orig_biome = minetest.registered_biomes[biomename]
67 if not orig_biome then
68 return
69 end
70 local newdef = table.copy(orig_biome)
71 newdef.name = biomename .. " Ocean"
72 newdef.node_top = node_ocean or "rp_default:sand"
73 newdef.node_filler = newdef.node_top
74 newdef.y_min = -32000
76 if beach_depth and beach_depth > 0 then
77 newdef.y_max = orig_biome.y_min - beach_depth - 1
78 else
79 newdef.y_max = orig_biome.y_min - 1
80 end
82 minetest.register_biome(newdef)
84 if beach_depth and beach_depth > 0 then
85 local newdef2 = table.copy(orig_biome)
86 newdef2.name = biomename .. " Beach"
87 newdef2.node_top = node_beach or "rp_default:sand"
88 newdef2.node_filler = newdef2.node_top
89 newdef2.y_min = orig_biome.y_min - beach_depth
90 newdef2.y_max = orig_biome.y_min - 1
91 minetest.register_biome(newdef2)
92 end
93 end
95 if mg_name ~= "v6" then
97 minetest.register_biome(
99 name = "Marsh",
101 node_top = "rp_default:dirt_with_grass",
102 node_filler = "rp_default:dirt",
103 node_cave_liquid = "rp_default:swamp_water_source",
105 depth_filler = 0,
106 depth_top = 1,
108 y_min = 2,
109 y_max = 7,
111 heat_point = 91,
112 humidity_point = 96,
114 register_ocean_and_beach("Marsh", "rp_default:dirt")
116 minetest.register_biome(
118 name = "Mixed Swamp",
120 node_top = "rp_default:dirt_with_swamp_grass",
121 node_filler = "rp_default:swamp_dirt",
122 node_cave_liquid = "rp_default:swamp_water_source",
124 depth_filler = 7,
125 depth_top = 1,
127 y_min = 2,
128 y_max = 7,
130 heat_point = 36,
131 humidity_point = 86,
133 register_ocean_and_beach("Mixed Swamp", "rp_default:sand")
135 minetest.register_biome(
137 name = "Deep Forest",
139 node_top = "rp_default:dirt_with_grass",
140 node_filler = "rp_default:dirt",
142 depth_filler = 6,
143 depth_top = 1,
145 y_min = 30,
146 y_max = 40,
148 heat_point = 24,
149 humidity_point = 24,
152 -- TODO: Replace with an actual biome
153 minetest.register_biome(
155 name = "Deep Forest Lowland",
157 node_top = "rp_default:dirt_with_grass",
158 node_filler = "rp_default:dirt",
160 depth_filler = 6,
161 depth_top = 1,
163 y_min = 1,
164 y_max = 29,
166 heat_point = 24,
167 humidity_point = 24,
169 register_ocean_and_beach("Deep Forest Lowland", "rp_default:dirt")
171 minetest.register_biome(
173 name = "Forest",
175 node_top = "rp_default:dirt_with_grass",
176 node_filler = "rp_default:dirt",
178 depth_filler = 6,
179 depth_top = 1,
181 y_min = 2,
182 y_max = 200,
184 heat_point = 48,
185 humidity_point = 34,
187 register_ocean_and_beach("Forest", "rp_default:sand")
189 minetest.register_biome(
191 name = "Grove",
193 node_top = "rp_default:dirt_with_grass",
194 node_filler = "rp_default:dirt",
196 depth_filler = 4,
197 depth_top = 1,
199 y_min = 3,
200 y_max = 32000,
202 heat_point = 45,
203 humidity_point = 19,
205 register_ocean_and_beach("Grove", "rp_default:sand")
207 minetest.register_biome(
209 name = "Wilderness",
211 node_top = "rp_default:dirt_with_grass",
212 node_filler = "rp_default:dirt",
214 depth_filler = 6,
215 depth_top = 1,
217 y_min = 3,
218 y_max = 32000,
220 heat_point = 76,
221 humidity_point = 30,
223 register_ocean_and_beach("Wilderness", "rp_default:sand")
225 minetest.register_biome(
227 name = "Grassland",
229 node_top = "rp_default:dirt_with_grass",
230 node_filler = "rp_default:dirt",
232 depth_filler = 4,
233 depth_top = 1,
235 y_min = 3,
236 y_max = 20,
238 heat_point = 71,
239 humidity_point = 52,
241 register_ocean_and_beach("Grassland", "rp_default:sand")
243 minetest.register_biome(
245 name = "Orchard",
247 node_top = "rp_default:dirt_with_grass",
248 node_filler = "rp_default:dirt",
250 depth_filler = 4,
251 depth_top = 1,
253 y_min = 21,
254 y_max = 32000,
256 heat_point = 34,
257 humidity_point = 5,
259 -- TODO: Replace with an actual biome
260 minetest.register_biome(
262 name = "Orchard Lowland",
264 node_top = "rp_default:dirt_with_grass",
265 node_filler = "rp_default:dirt",
267 depth_filler = 4,
268 depth_top = 1,
270 y_min = 1,
271 y_max = 20,
273 heat_point = 34,
274 humidity_point = 5,
276 register_ocean_and_beach("Orchard Lowland", "rp_default:dirt")
278 minetest.register_biome(
280 name = "Chaparral",
282 node_top = "rp_default:dirt_with_dry_grass",
283 node_filler = "rp_default:dry_dirt",
285 depth_filler = 0,
286 depth_top = 1,
288 y_min = 56,
289 y_max = 32000,
291 heat_point = 107,
292 humidity_point = 45,
294 -- TODO: Replace with an actual biome
295 minetest.register_biome(
297 name = "Chaparral Lowland",
299 node_top = "rp_default:dirt_with_dry_grass",
300 node_filler = "rp_default:dry_dirt",
302 depth_filler = 0,
303 depth_top = 1,
305 y_min = 1,
306 y_max = 55,
308 heat_point = 107,
309 humidity_point = 45,
311 register_ocean_and_beach("Chaparral Lowland", "rp_default:dirt")
313 minetest.register_biome(
315 name = "Savanna",
317 node_top = "rp_default:dirt_with_dry_grass",
318 node_filler = "rp_default:dry_dirt",
320 depth_filler = 2,
321 depth_top = 1,
323 y_min = 2,
324 y_max = 55,
326 heat_point = 101,
327 humidity_point = 25,
329 register_ocean_and_beach("Savanna", "rp_default:sand")
331 minetest.register_biome(
333 name = "Desert",
335 node_top = "rp_default:sand",
336 node_filler = "rp_default:sandstone",
338 depth_filler = 8,
339 depth_top = 3,
341 y_min = 1,
342 y_max = 32000,
344 heat_point = 112,
345 humidity_point = 32,
347 register_ocean_and_beach("Desert", "rp_default:sand")
349 minetest.register_biome(
351 name = "Wasteland",
353 node_top = "rp_default:dry_dirt",
354 node_filler = "rp_default:sandstone",
356 depth_filler = 3,
357 depth_top = 1,
359 y_min = 2,
360 y_max = 32000,
362 heat_point = 95,
363 humidity_point = 20,
365 register_ocean_and_beach("Wasteland", "rp_default:dry_dirt", 5, "rp_default:gravel")
367 minetest.register_biome(
369 name = "Rocky Dryland",
371 node_top = "rp_default:dry_dirt",
372 node_filler = "rp_default:dry_dirt",
374 depth_filler = 0,
375 depth_top = 1,
377 y_min = 3,
378 y_max = 32000,
380 heat_point = 79,
381 humidity_point = 1,
383 register_ocean_and_beach("Rocky Dryland", "rp_default:gravel")
385 minetest.register_biome(
387 name = "Wooded Dryland",
389 node_top = "rp_default:dry_dirt",
390 node_filler = "rp_default:dry_dirt",
392 depth_filler = 4,
393 depth_top = 1,
395 y_min = 1,
396 y_max = 32000,
398 heat_point = 78,
399 humidity_point = 9,
401 register_ocean_and_beach("Wooded Dryland", "rp_default:dry_dirt")
403 minetest.register_biome(
405 name = "Savannic Wasteland",
407 node_top = "rp_default:dry_dirt",
408 node_filler = "rp_default:sandstone",
410 depth_filler = 2,
411 depth_top = 1,
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")
421 minetest.register_biome(
423 name = "Thorny Shrubs",
425 node_top = "rp_default:dirt_with_grass",
426 node_filler = "rp_default:dirt",
428 depth_filler = 4,
429 depth_top = 1,
431 y_min = 2,
432 y_max = 200,
434 heat_point = 76,
435 humidity_point = 15,
437 register_ocean_and_beach("Thorny Shrubs", "rp_default:sand")
439 minetest.register_biome(
441 name = "Mystery Forest",
443 node_top = "rp_default:dirt_with_grass",
444 node_filler = "rp_default:dirt",
446 depth_filler = 4,
447 depth_top = 1,
449 y_min = 1,
450 y_max = 200,
452 heat_point = 18,
453 humidity_point = 2,
455 register_ocean_and_beach("Mystery Forest", "rp_default:dirt")
457 minetest.register_biome(
459 name = "Poplar Plains",
461 node_top = "rp_default:dirt_with_grass",
462 node_filler = "rp_default:dirt",
464 depth_filler = 4,
465 depth_top = 1,
467 y_min = 1,
468 y_max = 32000,
470 heat_point = 47,
471 humidity_point = 0,
473 register_ocean_and_beach("Poplar Plains", "rp_default:dirt")
475 minetest.register_biome(
477 name = "Baby Poplar Plains",
479 node_top = "rp_default:dirt_with_grass",
480 node_filler = "rp_default:dirt",
482 depth_filler = 4,
483 depth_top = 1,
485 y_min = 2,
486 y_max = 32000,
488 heat_point = 58,
489 humidity_point = 9,
491 register_ocean_and_beach("Baby Poplar Plains", "rp_default:sand")
493 minetest.register_biome(
495 name = "Tall Birch Forest",
497 node_top = "rp_default:dirt_with_grass",
498 node_filler = "rp_default:dirt",
500 depth_filler = 3,
501 depth_top = 1,
503 y_min = 2,
504 y_max = 32000,
506 heat_point = 6,
507 humidity_point = 14,
509 register_ocean_and_beach("Tall Birch Forest", "rp_default:sand")
511 minetest.register_biome(
513 name = "Birch Forest",
515 node_top = "rp_default:dirt_with_grass",
516 node_filler = "rp_default:dirt",
518 depth_filler = 3,
519 depth_top = 1,
521 y_min = 1,
522 y_max = 32000,
524 heat_point = 18,
525 humidity_point = 15,
527 register_ocean_and_beach("Birch Forest", "rp_default:sand")
529 minetest.register_biome(
531 name = "Oak Shrubbery",
533 node_top = "rp_default:dirt_with_grass",
534 node_filler = "rp_default:dirt",
536 depth_filler = 3,
537 depth_top = 1,
539 y_min = 1,
540 y_max = 32000,
542 heat_point = 22,
543 humidity_point = 44,
545 register_ocean_and_beach("Oak Shrubbery", "rp_default:dirt")
549 minetest.register_biome(
551 name = "Oak Forest",
553 node_top = "rp_default:dirt_with_grass",
554 node_filler = "rp_default:dirt",
556 depth_filler = 5,
557 depth_top = 1,
559 y_min = 1,
560 y_max = 32000,
562 heat_point = 22,
563 humidity_point = 44,
565 register_ocean_and_beach("Oak Forest", "rp_default:sand")
567 minetest.register_biome(
569 name = "Tall Oak Forest",
571 node_top = "rp_default:dirt_with_grass",
572 node_filler = "rp_default:dirt",
574 depth_filler = 6,
575 depth_top = 1,
577 y_min = 1,
578 y_max = 32000,
580 heat_point = 10,
581 humidity_point = 43,
583 register_ocean_and_beach("Tall Oak Forest", "rp_default:sand")
585 minetest.register_biome(
587 name = "Dense Oak Forest",
589 node_top = "rp_default:dirt_with_grass",
590 node_filler = "rp_default:dirt",
592 depth_filler = 7,
593 depth_top = 1,
595 y_min = 1,
596 y_max = 32000,
598 heat_point = 0,
599 humidity_point = 43,
601 register_ocean_and_beach("Dense Oak Forest", "rp_default:sand")
603 minetest.register_biome(
605 name = "Swamp Meadow",
607 node_top = "rp_default:dirt_with_swamp_grass",
608 node_filler = "rp_default:swamp_dirt",
609 node_cave_liquid = "rp_default:swamp_water_source",
611 depth_filler = 7,
612 depth_top = 1,
614 y_min = 2,
615 y_max = 31000,
617 heat_point = 62,
618 humidity_point = 93,
620 register_ocean_and_beach("Swamp Meadow", "rp_default:swamp_dirt")
622 minetest.register_biome(
624 name = "Swamp Forest",
626 node_top = "rp_default:dirt_with_swamp_grass",
627 node_filler = "rp_default:swamp_dirt",
628 node_cave_liquid = "rp_default:swamp_water_source",
630 depth_filler = 5,
631 depth_top = 1,
633 y_min = 2,
634 y_max = 31000,
636 heat_point = 12,
637 humidity_point = 83,
639 register_ocean_and_beach("Swamp Forest", "rp_default:swamp_dirt")
641 minetest.register_biome(
643 name = "Dry Swamp",
645 node_top = "rp_default:dirt_with_swamp_grass",
646 node_filler = "rp_default:swamp_dirt",
648 depth_filler = 6,
649 depth_top = 1,
651 y_min = 2,
652 y_max = 31000,
654 heat_point = 0,
655 humidity_point = 67,
657 register_ocean_and_beach("Dry Swamp", "rp_default:sand")
659 minetest.register_biome(
661 name = "Papyrus Swamp",
663 node_top = "rp_default:dirt_with_swamp_grass",
664 node_filler = "rp_default:swamp_dirt",
665 node_cave_liquid = "rp_default:swamp_water_source",
667 depth_filler = 4,
668 depth_top = 1,
670 y_min = 2,
671 y_max = 31000,
673 heat_point = 49,
674 humidity_point = 89,
677 register_ocean_and_beach("Papyrus Swamp", "rp_default:sand")
682 local function spring_ore_np(seed)
683 return {
684 offset = 0,
685 scale = 1,
686 spread = {x=250, y=250, z=250},
687 seed = seed or 12345,
688 octaves = 3,
689 persist = 0.6,
690 lacunarity = 2,
691 flags = "defaults",
695 -- Water
697 minetest.register_ore( -- Springs
699 ore_type = "blob",
700 ore = "rp_default:water_source",
701 wherein = "rp_default:dirt_with_grass",
702 biomes = {"Grassland"},
703 clust_scarcity = 26*26*26,
704 clust_num_ores = 1,
705 clust_size = 1,
706 y_min = 20,
707 y_max = 31000,
708 noise_params = spring_ore_np(),
711 minetest.register_ore( -- Pools
713 ore_type = "blob",
714 ore = "rp_default:water_source",
715 wherein = "rp_default:dirt_with_grass",
716 biomes = {"Wilderness"},
717 clust_scarcity = 32*32*32,
718 clust_num_ores = 20,
719 clust_size = 6,
720 y_min = 10,
721 y_max = 30,
722 noise_params = spring_ore_np(),
724 if mg_name ~= "v6" then
725 minetest.register_ore( -- Swamp (big springs)
727 ore_type = "blob",
728 ore = "rp_default:swamp_water_source",
729 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
730 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
731 clust_scarcity = 7*7*7,
732 clust_num_ores = 10,
733 clust_size = 4,
734 y_min = -31000,
735 y_max = 31000,
736 noise_params = spring_ore_np(13943),
738 minetest.register_ore( -- Swamp (medium springs)
740 ore_type = "blob",
741 ore = "rp_default:swamp_water_source",
742 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
743 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
744 clust_scarcity = 5*5*5,
745 clust_num_ores = 8,
746 clust_size = 2,
747 y_min = -31000,
748 y_max = 31000,
749 noise_params = spring_ore_np(49494),
752 minetest.register_ore( -- Swamp (small springs)
754 ore_type = "blob",
755 ore = "rp_default:swamp_water_source",
756 wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
757 biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
758 clust_scarcity = 6*6*6,
759 clust_num_ores = 1,
760 clust_size = 1,
761 y_min = -31000,
762 y_max = 31000,
763 noise_params = spring_ore_np(59330),
766 minetest.register_ore( -- Marsh
768 ore_type = "blob",
769 ore = "rp_default:swamp_water_source",
770 wherein = {"rp_default:dirt_with_grass", "rp_default:dirt"},
771 biomes = {"Marsh"},
772 clust_scarcity = 8*8*8,
773 clust_num_ores = 10,
774 clust_size = 6,
775 y_min = -31000,
776 y_max = 31000,
777 noise_params = spring_ore_np(),
780 minetest.register_ore(
782 ore_type = "blob",
783 ore = "rp_default:gravel",
784 wherein = "rp_default:dry_dirt",
785 biomes = {"Rocky Dryland"},
786 clust_scarcity = 8*8*8,
787 clust_size = 8,
788 y_min = -31000,
789 y_max = 31000,
790 noise_params = {
791 octaves = 1,
792 scale = 1,
793 offset = 0,
794 spread = { x = 100, y = 100, z = 100 },
795 lacunarity = 2.0,
796 persistence = 0.5,
797 seed = 43400,
800 minetest.register_ore(
802 ore_type = "blob",
803 ore = "rp_default:stone",
804 wherein = "rp_default:dry_dirt",
805 biomes = {"Rocky Dryland"},
806 clust_scarcity = 8*8*8,
807 clust_size = 7,
808 y_min = -31000,
809 y_max = 31000,
810 noise_params = {
811 octaves = 1,
812 scale = 1,
813 offset = 0,
814 spread = { x = 100, y = 100, z = 100 },
815 lacunarity = 2.0,
816 persistence = 0.5,
817 seed = 13940,
821 minetest.register_ore( -- Dry Swamp (dirt)
823 ore_type = "blob",
824 ore = "rp_default:dirt_with_grass",
825 wherein = {"rp_default:dirt_with_swamp_grass"},
826 biomes = {"Dry Swamp"},
827 clust_scarcity = 3*3*3,
828 clust_num_ores = 10,
829 clust_size = 4,
830 y_min = -31000,
831 y_max = 31000,
832 noise_params = spring_ore_np(13943),
834 minetest.register_ore( -- Dry Swamp (dirt)
836 ore_type = "blob",
837 ore = "rp_default:dirt",
838 wherein = {"rp_default:swamp_dirt"},
839 biomes = {"Dry Swamp"},
840 clust_scarcity = 3*3*3,
841 clust_num_ores = 10,
842 clust_size = 4,
843 y_min = -31000,
844 y_max = 31000,
845 noise_params = spring_ore_np(13943),
847 minetest.register_ore(
849 ore_type = "scatter",
850 ore = "rp_default:dirt_with_dry_grass",
851 wherein = "rp_default:dry_dirt",
852 biomes = {"Savannic Wasteland"},
853 clust_scarcity = 6*6*6,
854 clust_size = 6,
855 clust_num_ores = 40,
856 y_min = 2,
857 y_max = 31000,
858 noise_params = {
859 octaves = 1,
860 scale = 1,
861 offset = 0.1,
862 spread = { x = 100, y = 100, z = 100 },
863 lacunarity = 2.0,
864 persistence = 0.5,
865 seed = 12449,
869 minetest.register_ore(
871 ore_type = "blob",
872 ore = "rp_default:dirt_with_dry_grass",
873 wherein = "rp_default:dry_dirt",
874 biomes = {"Savannic Wasteland"},
875 clust_scarcity = 7*7*7,
876 clust_size = 4,
877 y_min = 2,
878 y_max = 31000,
879 noise_params = {
880 octaves = 2,
881 scale = 1,
882 offset = 0.2,
883 spread = { x = 100, y = 100, z = 100 },
884 lacunarity = 2.0,
885 persistence = 0.5,
886 seed = 12450,
890 minetest.register_ore(
892 ore_type = "scatter",
893 ore = "rp_default:stone_with_sulfur",
894 wherein = "rp_default:stone",
895 biomes = { "Rocky Dryland", "Wooded Dryland"},
896 clust_scarcity = 9*9*9,
897 clust_num_ores = 1,
898 clust_size = 1,
899 y_min = -8,
900 y_max = 32,
907 --[[ DECORATIONS ]]
908 -- The decorations are roughly ordered by size;
909 -- largest decorations first.
911 -- Tree decorations
913 if mg_name ~= "v6" then
914 minetest.register_decoration(
916 deco_type = "schematic",
917 place_on = {"rp_default:dirt_with_grass"},
918 sidelen = 16,
919 fill_ratio = 0.004,
920 biomes = {"Forest"},
921 flags = "place_center_x, place_center_z",
922 replacements = {
923 ["default:leaves"] = "rp_default:leaves_birch",
924 ["default:tree"] = "rp_default:tree_birch",
925 ["default:apple"] = "air"
927 schematic = minetest.get_modpath("rp_default")
928 .. "/schematics/default_squaretree.mts",
929 y_min = -32000,
930 y_max = 32000,
933 minetest.register_decoration(
935 deco_type = "schematic",
936 place_on = {"rp_default:dirt_with_grass"},
937 sidelen = 16,
938 fill_ratio = 0.015,
939 biomes = {"Birch Forest"},
940 flags = "place_center_x, place_center_z",
941 replacements = {
942 ["default:leaves"] = "rp_default:leaves_birch",
943 ["default:tree"] = "rp_default:tree_birch",
944 ["default:apple"] = "air"
946 schematic = minetest.get_modpath("rp_default")
947 .. "/schematics/default_squaretree.mts",
948 y_min = -32000,
949 y_max = 32000,
952 minetest.register_decoration(
954 deco_type = "schematic",
955 place_on = {"rp_default:dirt_with_grass"},
956 sidelen = 16,
957 fill_ratio = 0.004,
958 biomes = {"Dry Swamp"},
959 flags = "place_center_x, place_center_z",
960 replacements = {
961 ["default:leaves"] = "rp_default:leaves_birch",
962 ["default:tree"] = "rp_default:tree_birch",
963 ["default:apple"] = "air"
965 schematic = minetest.get_modpath("rp_default")
966 .. "/schematics/default_squaretree.mts",
967 y_min = -32000,
968 y_max = 32000,
972 minetest.register_decoration(
974 deco_type = "schematic",
975 place_on = {"rp_default:dirt_with_grass"},
976 sidelen = 16,
977 fill_ratio = 0.0001,
978 biomes = {"Thorny Shrubs"},
979 flags = "place_center_x, place_center_z",
980 schematic = minetest.get_modpath("rp_default")
981 .. "/schematics/default_appletree.mts",
982 y_min = -32000,
983 y_max = 32000,
988 minetest.register_decoration(
990 deco_type = "schematic",
991 place_on = {"rp_default:dirt_with_grass"},
992 sidelen = 16,
993 fill_ratio = 0.007,
994 biomes = {"Orchard"},
995 flags = "place_center_x, place_center_z",
996 schematic = minetest.get_modpath("rp_default")
997 .. "/schematics/default_appletree.mts",
998 y_min = 10,
999 y_max = 32000,
1002 minetest.register_decoration(
1004 deco_type = "schematic",
1005 place_on = {"rp_default:dirt_with_grass"},
1006 sidelen = 16,
1007 fill_ratio = 0.009,
1008 biomes = {"Forest", "Deep Forest"},
1009 flags = "place_center_x, place_center_z",
1010 schematic = minetest.get_modpath("rp_default")
1011 .. "/schematics/default_appletree.mts",
1012 y_min = -32000,
1013 y_max = 32000,
1016 minetest.register_decoration(
1018 deco_type = "schematic",
1019 place_on = {"rp_default:dirt_with_grass"},
1020 sidelen = 16,
1021 fill_ratio = 0.008,
1022 biomes = {"Forest"},
1023 flags = "place_center_x, place_center_z",
1024 schematic = minetest.get_modpath("rp_default")
1025 .. "/schematics/default_megatree.mts",
1026 y_min = -32000,
1027 y_max = 32000,
1030 minetest.register_decoration(
1032 name = "rp_default:gigatree",
1033 deco_type = "schematic",
1034 place_on = {"rp_default:dirt_with_grass"},
1035 sidelen = 16,
1036 fill_ratio = 0.023,
1037 biomes = {"Deep Forest"},
1038 flags = "place_center_x, place_center_z",
1039 schematic = minetest.get_modpath("rp_default")
1040 .. "/schematics/default_gigatree.mts",
1041 y_min = -32000,
1042 y_max = 32000,
1045 minetest.register_decoration(
1047 deco_type = "schematic",
1048 place_on = {"rp_default:dirt_with_grass"},
1049 sidelen = 16,
1050 fill_ratio = 0.0009,
1051 biomes = {"Oak Forest"},
1052 flags = "place_center_x, place_center_z",
1053 schematic = minetest.get_modpath("rp_default")
1054 .. "/schematics/rp_default_oak_tree_big_1.mts",
1055 y_min = 1,
1056 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.0045,
1065 biomes = {"Tall Oak Forest"},
1066 flags = "place_center_x, place_center_z",
1067 schematic = minetest.get_modpath("rp_default")
1068 .. "/schematics/rp_default_oak_tree_big_1.mts",
1069 y_min = 1,
1070 y_max = 32000,
1072 minetest.register_decoration(
1074 deco_type = "schematic",
1075 place_on = {"rp_default:dirt_with_grass"},
1076 sidelen = 16,
1077 fill_ratio = 0.0045,
1078 biomes = {"Tall Oak Forest"},
1079 flags = "place_center_x, place_center_z",
1080 schematic = minetest.get_modpath("rp_default")
1081 .. "/schematics/rp_default_oak_tree_big_2.mts",
1082 y_min = 1,
1083 y_max = 32000,
1087 minetest.register_decoration(
1089 deco_type = "schematic",
1090 place_on = {"rp_default:dirt_with_grass"},
1091 sidelen = 16,
1092 fill_ratio = 0.035,
1093 biomes = {"Dense Oak Forest"},
1094 flags = "place_center_x, place_center_z",
1095 schematic = minetest.get_modpath("rp_default")
1096 .. "/schematics/rp_default_oak_tree_big_1.mts",
1097 y_min = 1,
1098 y_max = 32000,
1100 minetest.register_decoration(
1102 deco_type = "schematic",
1103 place_on = {"rp_default:dirt_with_grass"},
1104 sidelen = 16,
1105 fill_ratio = 0.035,
1106 biomes = {"Dense Oak Forest"},
1107 flags = "place_center_x, place_center_z",
1108 schematic = minetest.get_modpath("rp_default")
1109 .. "/schematics/rp_default_oak_tree_big_2.mts",
1110 y_min = 1,
1111 y_max = 32000,
1116 minetest.register_decoration(
1118 deco_type = "schematic",
1119 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1120 sidelen = 16,
1121 fill_ratio = 0.0008,
1122 biomes = {"Mixed Swamp"},
1123 flags = "place_center_x, place_center_z",
1124 schematic = minetest.get_modpath("rp_default")
1125 .. "/schematics/rp_default_swamp_oak.mts",
1126 y_min = -32000,
1127 y_max = 32000,
1130 minetest.register_decoration(
1132 deco_type = "schematic",
1133 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1134 sidelen = 16,
1135 fill_ratio = 0.006,
1136 biomes = {"Swamp Forest"},
1137 flags = "place_center_x, place_center_z",
1138 schematic = minetest.get_modpath("rp_default")
1139 .. "/schematics/rp_default_swamp_oak.mts",
1140 y_min = -32000,
1141 y_max = 32000,
1144 minetest.register_decoration(
1146 deco_type = "schematic",
1147 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1148 sidelen = 16,
1149 fill_ratio = 0.0001,
1150 biomes = {"Swamp Forest"},
1151 flags = "place_center_x, place_center_z",
1152 schematic = minetest.get_modpath("rp_default")
1153 .. "/schematics/rp_default_swamp_birch.mts",
1154 y_min = -32000,
1155 y_max = 32000,
1157 minetest.register_decoration(
1159 deco_type = "schematic",
1160 place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1161 sidelen = 16,
1162 fill_ratio = 0.003,
1163 biomes = {"Dry Swamp"},
1164 flags = "place_center_x, place_center_z",
1165 schematic = minetest.get_modpath("rp_default")
1166 .. "/schematics/rp_default_swamp_birch.mts",
1167 y_min = -32000,
1168 y_max = 32000,
1173 local MYSTERY_FOREST_SPREAD = { x=500, y=500, z=500 }
1174 local MYSTERY_FOREST_OFFSET = 0.001
1175 local MYSTERY_FOREST_OFFSET_STAIRCASE = -0.001
1176 local MYSTERY_FOREST_OFFSET_APPLES = -0.0005
1177 local MYSTERY_FOREST_SCALE = 0.008
1179 minetest.register_decoration(
1181 deco_type = "schematic",
1182 place_on = {"rp_default:dirt_with_grass"},
1183 sidelen = 16,
1184 biomes = {"Mystery Forest"},
1185 flags = "place_center_x, place_center_z",
1186 schematic = minetest.get_modpath("rp_default")
1187 .. "/schematics/rp_default_staircase_tree.mts",
1188 y_min = 1,
1189 y_max = 32000,
1190 noise_params = {
1191 octaves = 2,
1192 scale = -MYSTERY_FOREST_SCALE,
1193 offset = MYSTERY_FOREST_OFFSET_STAIRCASE,
1194 spread = MYSTERY_FOREST_SPREAD,
1195 lacunarity = 2.0,
1196 persistence = 0.5,
1197 seed = 49204,
1201 minetest.register_decoration(
1203 deco_type = "schematic",
1204 place_on = {"rp_default:dirt_with_grass"},
1205 sidelen = 16,
1206 biomes = {"Mystery Forest"},
1207 flags = "place_center_x, place_center_z",
1208 schematic = minetest.get_modpath("rp_default")
1209 .. "/schematics/rp_default_layer_birch.mts",
1210 y_min = 1,
1211 y_max = 32000,
1212 noise_params = {
1213 octaves = 2,
1214 scale = MYSTERY_FOREST_SCALE,
1215 offset = MYSTERY_FOREST_OFFSET,
1216 spread = MYSTERY_FOREST_SPREAD,
1217 lacunarity = 2.0,
1218 persistence = 0.5,
1219 seed = 49204,
1223 minetest.register_decoration(
1225 deco_type = "schematic",
1226 place_on = {"rp_default:dirt_with_grass"},
1227 sidelen = 16,
1228 biomes = {"Mystery Forest"},
1229 flags = "place_center_x, place_center_z",
1230 schematic = minetest.get_modpath("rp_default")
1231 .. "/schematics/rp_default_telephone_tree.mts",
1232 y_min = 1,
1233 y_max = 32000,
1234 noise_params = {
1235 octaves = 2,
1236 scale = -MYSTERY_FOREST_SCALE,
1237 offset = MYSTERY_FOREST_OFFSET,
1238 spread = MYSTERY_FOREST_SPREAD,
1239 lacunarity = 2.0,
1240 persistence = 0.5,
1241 seed = 49204,
1245 minetest.register_decoration(
1247 deco_type = "schematic",
1248 place_on = {"rp_default:dirt_with_grass"},
1249 sidelen = 16,
1250 biomes = {"Mystery Forest"},
1251 flags = "place_center_x, place_center_z",
1252 schematic = minetest.get_modpath("rp_default")
1253 .. "/schematics/rp_default_telephone_tree_apples.mts",
1254 y_min = 1,
1255 y_max = 32000,
1256 noise_params = {
1257 octaves = 2,
1258 scale = -MYSTERY_FOREST_SCALE,
1259 offset = MYSTERY_FOREST_OFFSET_APPLES,
1260 spread = MYSTERY_FOREST_SPREAD,
1261 lacunarity = 2.0,
1262 persistence = 0.5,
1263 seed = 49204,
1270 minetest.register_decoration(
1272 deco_type = "schematic",
1273 place_on = {"rp_default:dirt_with_grass"},
1274 sidelen = 16,
1275 biomes = {"Mystery Forest"},
1276 flags = "place_center_x, place_center_z",
1277 schematic = minetest.get_modpath("rp_default")
1278 .. "/schematics/rp_default_cross_birch.mts",
1279 y_min = 1,
1280 y_max = 32000,
1281 noise_params = {
1282 octaves = 2,
1283 scale = MYSTERY_FOREST_SCALE,
1284 offset = MYSTERY_FOREST_OFFSET,
1285 spread = MYSTERY_FOREST_SPREAD,
1286 lacunarity = 2.0,
1287 persistence = 0.5,
1288 seed = 49204,
1292 minetest.register_decoration(
1294 deco_type = "schematic",
1295 place_on = {"rp_default:dirt_with_grass"},
1296 sidelen = 16,
1297 biomes = {"Poplar Plains"},
1298 flags = "place_center_x, place_center_z",
1299 schematic = minetest.get_modpath("rp_default")
1300 .. "/schematics/rp_default_poplar_large.mts",
1301 y_min = 1,
1302 y_max = 32000,
1303 noise_params = {
1304 octaves = 2,
1305 scale = 0.01,
1306 offset = -0.004,
1307 spread = {x=50,y=50,z=50},
1308 lacunarity = 2.0,
1309 persistence = 0.5,
1310 seed = 94325,
1313 minetest.register_decoration(
1315 deco_type = "schematic",
1316 place_on = {"rp_default:dirt_with_grass"},
1317 sidelen = 16,
1318 biomes = {"Poplar Plains"},
1319 flags = "place_center_x, place_center_z",
1320 schematic = minetest.get_modpath("rp_default")
1321 .. "/schematics/rp_default_poplar_small.mts",
1322 y_min = 1,
1323 y_max = 32000,
1324 noise_params = {
1325 octaves = 2,
1326 scale = 0.01,
1327 offset = -0.001,
1328 spread = {x=50,y=50,z=50},
1329 lacunarity = 2.0,
1330 persistence = 0.5,
1331 seed = 94325,
1334 minetest.register_decoration(
1336 deco_type = "schematic",
1337 place_on = {"rp_default:dirt_with_grass"},
1338 fill_ratio = 0.0002,
1339 sidelen = 16,
1340 biomes = {"Poplar Plains"},
1341 flags = "place_center_x, place_center_z",
1342 schematic = minetest.get_modpath("rp_default")
1343 .. "/schematics/rp_default_poplar_small.mts",
1344 y_min = 1,
1345 y_max = 32000,
1348 -- Small poplar tree blobs
1349 minetest.register_decoration(
1351 deco_type = "schematic",
1352 place_on = {"rp_default:dirt_with_grass"},
1353 sidelen = 8,
1354 biomes = {"Baby Poplar Plains"},
1355 flags = "place_center_x, place_center_z",
1356 schematic = minetest.get_modpath("rp_default")
1357 .. "/schematics/rp_default_poplar_small.mts",
1358 y_min = 1,
1359 y_max = 32000,
1360 noise_params = {
1361 octaves = 2,
1362 scale = 0.05,
1363 offset = -0.032,
1364 spread = {x=24,y=24,z=24},
1365 lacunarity = 2.0,
1366 persistence = 0.5,
1367 seed = 94325,
1371 -- Occasional lonely poplars
1372 minetest.register_decoration(
1374 deco_type = "schematic",
1375 place_on = {"rp_default:dirt_with_grass"},
1376 sidelen = 16,
1377 fill_ratio = 0.0002,
1378 biomes = {"Baby Poplar Plains"},
1379 flags = "place_center_x, place_center_z",
1380 schematic = minetest.get_modpath("rp_default")
1381 .. "/schematics/rp_default_poplar_small.mts",
1382 y_min = 1,
1383 y_max = 32000,
1386 minetest.register_decoration(
1388 deco_type = "schematic",
1389 place_on = {"rp_default:dirt_with_grass"},
1390 sidelen = 16,
1391 biomes = {"Baby Poplar Plains"},
1392 flags = "place_center_x, place_center_z",
1393 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1394 y_min = 1,
1395 y_max = 32000,
1396 rotation = "0",
1397 noise_params = {
1398 octaves = 1,
1399 scale = 0.001,
1400 offset = -0.0000001,
1401 spread = { x = 50, y = 50, z = 50 },
1402 lacunarity = 2.0,
1403 persistence = 0.5,
1404 seed = 98421,
1408 minetest.register_decoration(
1410 deco_type = "schematic",
1411 place_on = {"rp_default:dirt_with_grass"},
1412 sidelen = 16,
1413 biomes = {"Thorny Shrubs"},
1414 flags = "place_center_x, place_center_z",
1415 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1416 y_min = 3,
1417 y_max = 32000,
1418 rotation = "0",
1419 noise_params = {
1420 octaves = 1,
1421 scale = -0.004,
1422 offset = 0.002,
1423 spread = { x = 82, y = 82, z = 82 },
1424 lacunarity = 2.0,
1425 persistence = 0.5,
1426 seed = 43905,
1435 minetest.register_decoration(
1437 deco_type = "schematic",
1438 place_on = {"rp_default:dirt_with_grass"},
1439 sidelen = 16,
1440 fill_ratio = 0.004,
1441 biomes = {"Grove"},
1442 flags = "place_center_x, place_center_z",
1443 schematic = minetest.get_modpath("rp_default")
1444 .. "/schematics/default_talltree.mts",
1445 y_min = 0,
1446 y_max = 32000,
1449 minetest.register_decoration(
1451 deco_type = "schematic",
1452 place_on = {"rp_default:dirt_with_grass"},
1453 sidelen = 16,
1454 fill_ratio = 0.015,
1455 biomes = {"Tall Birch Forest"},
1456 flags = "place_center_x, place_center_z",
1457 schematic = minetest.get_modpath("rp_default")
1458 .. "/schematics/rp_default_birch_tall.mts",
1459 y_min = -32000,
1460 y_max = 32000,
1463 minetest.register_decoration(
1465 deco_type = "schematic",
1466 place_on = {"rp_default:dirt_with_grass"},
1467 sidelen = 16,
1468 fill_ratio = 0.004,
1469 biomes = {"Wilderness"},
1470 flags = "place_center_x, place_center_z",
1471 replacements = {
1472 ["default:apple"] = "air",
1474 schematic = minetest.get_modpath("rp_default")
1475 .. "/schematics/default_appletree.mts",
1476 y_min = -32000,
1477 y_max = 32000,
1480 minetest.register_decoration(
1482 deco_type = "schematic",
1483 place_on = {"rp_default:dirt_with_grass", "rp_default:dirt"},
1484 sidelen = 16,
1485 fill_ratio = 0.0001,
1486 biomes = {"Dry Swamp"},
1487 flags = "place_center_x, place_center_z",
1488 schematic = minetest.get_modpath("rp_default")
1489 .. "/schematics/default_appletree.mts",
1490 y_min = -32000,
1491 y_max = 32000,
1494 minetest.register_decoration(
1496 deco_type = "schematic",
1497 place_on = {"rp_default:dirt_with_grass"},
1498 sidelen = 16,
1499 fill_ratio = 0.004,
1500 biomes = {"Wilderness"},
1501 flags = "place_center_x, place_center_z",
1502 schematic = minetest.get_modpath("rp_default")
1503 .. "/schematics/default_oaktree.mts",
1504 y_min = -32000,
1505 y_max = 32000,
1509 minetest.register_decoration(
1511 deco_type = "schematic",
1512 place_on = {"rp_default:dirt_with_grass"},
1513 sidelen = 16,
1514 fill_ratio = 0.001,
1515 biomes = {"Oak Shrubbery"},
1516 flags = "place_center_x, place_center_z",
1517 schematic = minetest.get_modpath("rp_default")
1518 .. "/schematics/default_oaktree.mts",
1519 y_min = 1,
1520 y_max = 32000,
1523 minetest.register_decoration(
1525 deco_type = "schematic",
1526 place_on = {"rp_default:dirt_with_grass"},
1527 sidelen = 16,
1528 fill_ratio = 0.02,
1529 biomes = {"Dense Oak Forest"},
1530 flags = "place_center_x, place_center_z",
1531 schematic = minetest.get_modpath("rp_default")
1532 .. "/schematics/default_oaktree.mts",
1533 y_min = 1,
1534 y_max = 32000,
1537 minetest.register_decoration(
1539 deco_type = "schematic",
1540 place_on = {"rp_default:dirt_with_grass"},
1541 sidelen = 16,
1542 fill_ratio = 0.0225,
1543 biomes = {"Oak Forest"},
1544 flags = "place_center_x, place_center_z",
1545 schematic = minetest.get_modpath("rp_default")
1546 .. "/schematics/default_oaktree.mts",
1547 y_min = 1,
1548 y_max = 32000,
1551 minetest.register_decoration(
1553 deco_type = "schematic",
1554 place_on = {"rp_default:dirt_with_grass"},
1555 sidelen = 16,
1556 fill_ratio = 0.0015,
1557 biomes = {"Tall Oak Forest"},
1558 flags = "place_center_x, place_center_z",
1559 schematic = minetest.get_modpath("rp_default")
1560 .. "/schematics/default_oaktree.mts",
1561 y_min = 1,
1562 y_max = 32000,
1569 -- Cactus decorations
1571 minetest.register_decoration(
1573 deco_type = "schematic",
1574 place_on = {"rp_default:sand"},
1575 sidelen = 16,
1576 fill_ratio = 0.004,
1577 biomes = {"Desert"},
1578 flags = "place_center_x, place_center_z",
1579 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_cactus.mts",
1580 y_min = 10,
1581 y_max = 500,
1582 rotation = "random",
1585 -- Rock decorations
1587 minetest.register_decoration(
1589 deco_type = "schematic",
1590 place_on = {"rp_default:dry_dirt"},
1591 sidelen = 16,
1592 fill_ratio = 0.006,
1593 biomes = {"Wasteland"},
1594 flags = "place_center_x, place_center_z",
1595 schematic = minetest.get_modpath("rp_default")
1596 .. "/schematics/default_small_rock.mts",
1597 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1598 y_min = 1,
1599 y_max = 32000,
1600 rotation = "random",
1603 minetest.register_decoration(
1605 deco_type = "schematic",
1606 place_on = {"rp_default:dry_dirt"},
1607 sidelen = 16,
1608 fill_ratio = 0.004,
1609 biomes = {"Wasteland"},
1610 flags = "place_center_x, place_center_z",
1611 schematic = minetest.get_modpath("rp_default")
1612 .. "/schematics/default_large_rock.mts",
1613 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1614 y_min = 1,
1615 y_max = 32000,
1616 rotation = "random",
1619 minetest.register_decoration(
1621 deco_type = "schematic",
1622 place_on = {"rp_default:stone", "rp_default:dry_dirt"},
1623 sidelen = 16,
1624 fill_ratio = 0.003,
1625 biomes = {"Rocky Dryland"},
1626 flags = "place_center_x, place_center_z",
1627 schematic = minetest.get_modpath("rp_default")
1628 .. "/schematics/default_small_rock.mts",
1629 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1630 y_min = 1,
1631 y_max = 32000,
1632 rotation = "random",
1635 minetest.register_decoration(
1637 deco_type = "schematic",
1638 place_on = {"rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
1639 sidelen = 16,
1640 fill_ratio = 0.001,
1641 biomes = {"Savannic Wasteland"},
1642 flags = "place_center_x, place_center_z",
1643 schematic = minetest.get_modpath("rp_default")
1644 .. "/schematics/default_small_rock.mts",
1645 replacements = {["default:dirt"] = "rp_default:dry_dirt"},
1646 y_min = 1,
1647 y_max = 32000,
1648 rotation = "random",
1652 -- Sulfur decorations
1654 minetest.register_decoration(
1656 deco_type = "simple",
1657 place_on = "rp_default:dry_dirt",
1658 sidelen = 16,
1659 fill_ratio = 0.005,
1660 biomes = {"Wasteland"},
1661 decoration = {"rp_default:stone_with_sulfur"},
1662 y_min = 2,
1663 y_max = 14,
1666 -- Tiny tree decorations
1668 minetest.register_decoration(
1670 deco_type = "schematic",
1671 place_on = {"rp_default:dry_dirt"},
1672 sidelen = 16,
1673 fill_ratio = 0.0001,
1674 biomes = {"Rocky Dryland"},
1675 flags = "place_center_x, place_center_z",
1676 schematic = minetest.get_modpath("rp_default")
1677 .. "/schematics/rp_default_tiny_birch.mts",
1678 y_min = 1,
1679 y_max = 32000,
1682 minetest.register_decoration(
1684 deco_type = "schematic",
1685 place_on = {"rp_default:dry_dirt"},
1686 sidelen = 16,
1687 fill_ratio = 0.00025,
1688 biomes = {"Rocky Dryland"},
1689 flags = "place_center_x, place_center_z",
1690 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1691 y_min = 3,
1692 y_max = 32000,
1694 minetest.register_decoration(
1696 deco_type = "schematic",
1697 place_on = {"rp_default:dry_dirt"},
1698 sidelen = 16,
1699 fill_ratio = 0.00025,
1700 biomes = {"Rocky Dryland"},
1701 flags = "place_center_x, place_center_z",
1702 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
1703 y_min = 3,
1704 y_max = 32000,
1706 minetest.register_decoration(
1708 deco_type = "schematic",
1709 place_on = {"rp_default:dry_dirt"},
1710 sidelen = 16,
1711 fill_ratio = 0.002,
1712 biomes = {"Rocky Dryland"},
1713 flags = "place_center_x, place_center_z",
1714 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1715 y_min = 3,
1716 y_max = 32000,
1718 minetest.register_decoration(
1720 deco_type = "schematic",
1721 place_on = {"rp_default:dry_dirt"},
1722 sidelen = 16,
1723 fill_ratio = 0.0001,
1724 biomes = {"Rocky Dryland"},
1725 flags = "place_center_x, place_center_z",
1726 schematic = minetest.get_modpath("rp_default")
1727 .. "/schematics/rp_default_tiny_birch.mts",
1728 y_min = 1,
1729 y_max = 32000,
1732 minetest.register_decoration(
1734 deco_type = "schematic",
1735 place_on = {"rp_default:dry_dirt"},
1736 sidelen = 16,
1737 fill_ratio = 0.00025,
1738 biomes = {"Rocky Dryland"},
1739 flags = "place_center_x, place_center_z",
1740 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1741 y_min = 3,
1742 y_max = 32000,
1744 minetest.register_decoration(
1746 deco_type = "schematic",
1747 place_on = {"rp_default:dry_dirt"},
1748 sidelen = 16,
1749 fill_ratio = 0.00025,
1750 biomes = {"Rocky Dryland"},
1751 flags = "place_center_x, place_center_z",
1752 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
1753 y_min = 3,
1754 y_max = 32000,
1756 minetest.register_decoration(
1758 deco_type = "schematic",
1759 place_on = {"rp_default:dry_dirt"},
1760 sidelen = 16,
1761 fill_ratio = 0.002,
1762 biomes = {"Rocky Dryland"},
1763 flags = "place_center_x, place_center_z",
1764 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1765 y_min = 3,
1766 y_max = 32000,
1769 minetest.register_decoration(
1771 deco_type = "schematic",
1772 place_on = {"rp_default:dry_dirt"},
1773 sidelen = 16,
1774 fill_ratio = 0.003,
1775 biomes = {"Wooded Dryland"},
1776 flags = "place_center_x, place_center_z",
1777 schematic = minetest.get_modpath("rp_default")
1778 .. "/schematics/rp_default_tiny_oak.mts",
1779 y_min = 1,
1780 y_max = 32000,
1783 minetest.register_decoration(
1785 deco_type = "schematic",
1786 place_on = {"rp_default:dry_dirt"},
1787 sidelen = 16,
1788 fill_ratio = 0.001,
1789 biomes = {"Wooded Dryland"},
1790 flags = "place_center_x, place_center_z",
1791 schematic = minetest.get_modpath("rp_default")
1792 .. "/schematics/rp_default_tiny_birch.mts",
1793 y_min = 1,
1794 y_max = 32000,
1798 minetest.register_decoration(
1800 deco_type = "schematic",
1801 place_on = {"rp_default:dry_dirt"},
1802 sidelen = 16,
1803 fill_ratio = 0.0002,
1804 biomes = {"Savannic Wasteland"},
1805 flags = "place_center_x, place_center_z",
1806 schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1807 y_min = 3,
1808 y_max = 32000,
1813 -- Bush/shrub decorations
1815 minetest.register_decoration(
1817 deco_type = "schematic",
1818 place_on = {"rp_default:dirt_with_grass"},
1819 sidelen = 16,
1820 fill_ratio = 0.0075,
1821 biomes = {"Oak Shrubbery"},
1822 flags = "place_center_x, place_center_z",
1823 schematic = minetest.get_modpath("rp_default")
1824 .. "/schematics/rp_default_oak_bush_wide.mts",
1825 y_min = 1,
1826 y_max = 32000,
1829 minetest.register_decoration(
1831 deco_type = "schematic",
1832 place_on = {"rp_default:dirt_with_grass"},
1833 sidelen = 16,
1834 fill_ratio = 0.03,
1835 biomes = {"Dense Oak Forest"},
1836 flags = "place_center_x, place_center_z",
1837 schematic = minetest.get_modpath("rp_default")
1838 .. "/schematics/rp_default_oak_bush_wide.mts",
1839 y_min = 1,
1840 y_max = 32000,
1843 minetest.register_decoration(
1845 deco_type = "schematic",
1846 place_on = {"rp_default:dirt_with_grass"},
1847 sidelen = 16,
1848 fill_ratio = 0.001,
1849 biomes = {"Oak Forest"},
1850 flags = "place_center_x, place_center_z",
1851 schematic = minetest.get_modpath("rp_default")
1852 .. "/schematics/rp_default_oak_bush_wide.mts",
1853 y_min = 1,
1854 y_max = 32000,
1857 minetest.register_decoration(
1859 deco_type = "schematic",
1860 place_on = {"rp_default:dirt_with_dry_grass"},
1861 sidelen = 16,
1862 fill_ratio = 0.005,
1863 biomes = {"Savanna", "Chaparral"},
1864 flags = "place_center_x, place_center_z",
1865 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
1866 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
1867 y_min = 3,
1868 y_max = 32000,
1869 rotation = "0",
1872 minetest.register_decoration(
1874 deco_type = "schematic",
1875 place_on = {"rp_default:dirt_with_dry_grass"},
1876 sidelen = 16,
1877 fill_ratio = 0.0025,
1878 biomes = {"Savannic Wasteland"},
1879 flags = "place_center_x, place_center_z",
1880 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
1881 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
1882 y_min = 3,
1883 y_max = 32000,
1884 rotation = "0",
1887 minetest.register_decoration(
1889 deco_type = "schematic",
1890 place_on = {"rp_default:dry_dirt"},
1891 sidelen = 16,
1892 fill_ratio = 0.001,
1893 biomes = {"Rocky Dryland", "Wooded Dryland"},
1894 flags = "place_center_x, place_center_z",
1895 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
1896 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
1897 y_min = 3,
1898 y_max = 32000,
1901 minetest.register_decoration(
1903 deco_type = "schematic",
1904 place_on = {"rp_default:dirt_with_dry_grass"},
1905 sidelen = 16,
1906 fill_ratio = 0.06,
1907 biomes = {"Chaparral"},
1908 flags = "place_center_x, place_center_z",
1909 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
1910 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_dry_bush.mts",
1911 y_min = 0,
1912 y_max = 32000,
1913 rotation = "0",
1915 minetest.register_decoration(
1917 deco_type = "schematic",
1918 place_on = {"rp_default:dirt_with_grass"},
1919 sidelen = 16,
1920 biomes = {"Thorny Shrubs"},
1921 flags = "place_center_x, place_center_z",
1922 replacements = {["default:leaves"] = "rp_default:dry_leaves"},
1923 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_dry_bush.mts",
1924 y_min = 5,
1925 y_max = 32000,
1926 rotation = "0",
1927 noise_params = {
1928 octaves = 1,
1929 scale = -0.004,
1930 offset = -0.001,
1931 spread = { x = 82, y = 82, z = 82 },
1932 lacunarity = 2.0,
1933 persistence = 0.5,
1934 seed = 493421,
1939 minetest.register_decoration(
1941 deco_type = "schematic",
1942 place_on = {"rp_default:dirt_with_grass"},
1943 sidelen = 16,
1944 fill_ratio = 0.0003,
1945 biomes = {"Oak Shrubbery"},
1946 flags = "place_center_x, place_center_z",
1947 schematic = minetest.get_modpath("rp_default")
1948 .. "/schematics/rp_default_normal_bush_small.mts",
1949 y_min = 1,
1950 y_max = 32000,
1955 minetest.register_decoration(
1957 deco_type = "schematic",
1958 place_on = {"rp_default:dirt_with_grass"},
1959 sidelen = 16,
1960 fill_ratio = 0.004,
1961 biomes = {"Wilderness", "Grove"},
1962 flags = "place_center_x, place_center_z",
1963 schematic = minetest.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1964 y_min = 3,
1965 y_max = 32000,
1966 rotation = "0",
1969 -- Thistle decorations
1971 minetest.register_decoration(
1973 deco_type = "simple",
1974 place_on = "rp_default:dirt_with_grass",
1975 sidelen = 16,
1976 fill_ratio = 0.024,
1977 biomes = {"Wilderness"},
1978 decoration = {"rp_default:thistle"},
1979 height = 2,
1980 y_min = -32000,
1981 y_max = 32000,
1983 minetest.register_decoration(
1985 deco_type = "simple",
1986 place_on = {"rp_default:dirt_with_grass", "rp_default:dry_dirt"},
1987 sidelen = 4,
1988 biomes = {"Thorny Shrubs"},
1989 decoration = {"rp_default:thistle"},
1990 height = 2,
1991 y_min = -32000,
1992 y_max = 32000,
1993 noise_params = {
1994 octaves = 2,
1995 scale = 1,
1996 offset = -0.5,
1997 spread = { x = 12, y = 12, z = 12 },
1998 lacunarity = 2.0,
1999 persistence = 0.5,
2000 seed = 43905,
2003 -- Papyrus decorations
2005 -- Beach papyrus
2006 minetest.register_decoration(
2008 deco_type = "simple",
2009 place_on = {"rp_default:sand", "rp_default:dirt", "rp_default:dirt_with_grass"},
2010 spawn_by = {"rp_default:water_source", "rp_default:water_flowing"},
2011 num_spawn_by = 1,
2012 sidelen = 16,
2013 fill_ratio = 0.08,
2014 biomes = {"Grassland Ocean", "Grassland", "Forest Ocean", "Forest", "Wilderness Ocean", "Wilderness", "Birch Forest Ocean", "Tall Birch Forest Ocean"},
2015 decoration = {"rp_default:papyrus"},
2016 height = 2,
2017 y_max = 3,
2018 y_min = 0,
2021 -- Grassland papyrus
2022 minetest.register_decoration(
2024 deco_type = "simple",
2025 place_on = {"rp_default:dirt_with_grass"},
2026 spawn_by = {"group:water"},
2027 num_spawn_by = 1,
2028 sidelen = 16,
2029 fill_ratio = 0.08,
2030 biomes = {"Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"},
2031 decoration = {"rp_default:papyrus"},
2032 height = 2,
2033 height_max = 3,
2034 y_max = 30,
2035 y_min = 4,
2039 -- Swamp papyrus
2040 minetest.register_decoration(
2042 deco_type = "simple",
2043 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2044 spawn_by = {"group:water"},
2045 num_spawn_by = 1,
2046 sidelen = 16,
2047 fill_ratio = 0.30,
2048 biomes = {"Mixed Swamp"},
2049 decoration = {"rp_default:papyrus"},
2050 height = 3,
2051 height_max = 4,
2052 y_max = 31000,
2053 y_min = -100,
2056 minetest.register_decoration(
2058 deco_type = "simple",
2059 place_on = {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2060 spawn_by = {"group:water"},
2061 num_spawn_by = 1,
2062 sidelen = 16,
2063 fill_ratio = 0.60,
2064 biomes = {"Papyrus Swamp"},
2065 decoration = {"rp_default:papyrus"},
2066 height = 4,
2067 height_max = 4,
2068 y_max = 31000,
2069 y_min = -100,
2072 -- Flower decorations
2074 minetest.register_decoration(
2076 deco_type = "simple",
2077 place_on = "rp_default:dirt_with_grass",
2078 sidelen = 16,
2079 fill_ratio = 0.04,
2080 biomes = {"Grassland", "Wilderness", "Orchard", "Baby Poplar Plains"},
2081 decoration = {"rp_default:flower"},
2082 y_min = -32000,
2083 y_max = 32000,
2086 -- Grass decorations
2088 if mg_name ~= "v6" then
2089 minetest.register_decoration(
2091 deco_type = "simple",
2092 place_on = "rp_default:dirt_with_grass",
2093 sidelen = 16,
2094 fill_ratio = 0.18,
2095 biomes = {"Grassland", "Orchard", "Swamp Meadow", "Baby Poplar Plains", "Poplar Plains", "Oak Shrubbery", "Thorny Shrubs"},
2096 decoration = {"rp_default:grass"},
2097 y_min = 10,
2098 y_max = 32000,
2102 minetest.register_decoration(
2104 deco_type = "simple",
2105 place_on = "rp_default:dirt_with_swamp_grass",
2106 sidelen = 16,
2107 fill_ratio = 0.04,
2108 biomes = {"Mixed Swamp", "Dry Swamp", "Swamp Meadow", "Swamp Papyrus", "Swamp Forest"},
2109 decoration = {"rp_default:swamp_grass"},
2110 y_min = 2,
2111 y_max = 40,
2114 minetest.register_decoration(
2116 deco_type = "simple",
2117 place_on = "rp_default:dirt_with_dry_grass",
2118 sidelen = 16,
2119 fill_ratio = 0.07,
2120 biomes = {"Desert", "Savanna", "Chaparral", "Savannic Wasteland"},
2121 decoration = {"rp_default:dry_grass"},
2122 y_min = 10,
2123 y_max = 500,
2126 if mg_name ~= "v6" then
2127 minetest.register_decoration(
2129 deco_type = "simple",
2130 place_on = "rp_default:dirt_with_grass",
2131 sidelen = 16,
2132 fill_ratio = 0.08,
2133 biomes = {"Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Mystery Forest"},
2134 decoration = {"rp_default:grass"},
2135 y_min = 0,
2136 y_max = 32000,
2139 minetest.register_decoration(
2141 deco_type = "simple",
2142 place_on = "rp_default:dirt_with_grass",
2143 sidelen = 16,
2144 fill_ratio = 0.08,
2145 biomes = {"Forest", "Marsh", "Grove", "Oak Shrubbery"},
2146 decoration = {"rp_default:tall_grass"},
2147 y_min = 0,
2148 y_max = 32000,
2151 minetest.register_decoration(
2153 deco_type = "simple",
2154 place_on = "rp_default:dirt_with_grass",
2155 sidelen = 16,
2156 fill_ratio = 0.15,
2157 biomes = {"Deep Forest", "Dense Oak Forest"},
2158 decoration = {"rp_default:tall_grass"},
2159 y_min = 0,
2160 y_max = 32000,
2163 minetest.register_decoration(
2165 deco_type = "simple",
2166 place_on = "rp_default:dirt_with_grass",
2167 sidelen = 16,
2168 fill_ratio = 0.05,
2169 biomes = {"Thorny Shrubs"},
2170 decoration = {"rp_default:tall_grass"},
2171 y_min = 0,
2172 y_max = 32000,
2174 minetest.register_decoration(
2176 deco_type = "simple",
2177 place_on = "rp_default:dirt_with_grass",
2178 sidelen = 16,
2179 fill_ratio = 0.1,
2180 biomes = {"Thorny Shrubs"},
2181 decoration = {"rp_default:grass"},
2182 y_min = 0,
2183 y_max = 32000,
2188 minetest.register_decoration(
2190 deco_type = "simple",
2191 place_on = "rp_default:dirt_with_grass",
2192 sidelen = 16,
2193 fill_ratio = 0.16,
2194 biomes = {"Wilderness", "Thorny Shrubs"},
2195 decoration = {"rp_default:grass"},
2196 y_min = -32000,
2197 y_max = 32000,
2200 minetest.register_decoration(
2202 deco_type = "simple",
2203 place_on = "rp_default:dirt_with_grass",
2204 sidelen = 16,
2205 fill_ratio = 0.12,
2206 biomes = {"Wilderness", "Thorny Shrubs"},
2207 decoration = {"rp_default:tall_grass"},
2208 y_min = -32000,
2209 y_max = 32000,
2212 -- Fern decorations
2214 minetest.register_decoration(
2216 deco_type = "simple",
2217 place_on = "rp_default:dirt_with_grass",
2218 sidelen = 16,
2219 fill_ratio = 0.02,
2220 biomes = {"Wilderness", "Grove", "Tall Oak Forest", "Mystery Forest"},
2221 decoration = {"rp_default:fern"},
2222 y_min = -32000,
2223 y_max = 32000,
2226 -- Clam decorations
2228 minetest.register_decoration(
2230 deco_type = "simple",
2231 place_on = {"rp_default:sand", "rp_default:gravel"},
2232 sidelen = 16,
2233 fill_ratio = 0.02,
2234 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"},
2235 decoration = {"rp_default:clam"},
2236 y_min = 0,
2237 y_max = 1,
2241 --[[ ORES ]]
2243 -- Graphite ore
2245 minetest.register_ore( -- Common above sea level mainly
2247 ore_type = "scatter",
2248 ore = "rp_default:stone_with_graphite",
2249 wherein = "rp_default:stone",
2250 clust_scarcity = 9*9*9,
2251 clust_num_ores = 8,
2252 clust_size = 8,
2253 y_min = -8,
2254 y_max = 32,
2257 minetest.register_ore( -- Slight scattering deeper down
2259 ore_type = "scatter",
2260 ore = "rp_default:stone_with_graphite",
2261 wherein = "rp_default:stone",
2262 clust_scarcity = 13*13*13,
2263 clust_num_ores = 6,
2264 clust_size = 8,
2265 y_min = -31000,
2266 y_max = -32,
2269 -- Coal ore
2271 minetest.register_ore( -- Even distribution
2273 ore_type = "scatter",
2274 ore = "rp_default:stone_with_coal",
2275 wherein = "rp_default:stone",
2276 clust_scarcity = 10*10*10,
2277 clust_num_ores = 8,
2278 clust_size = 4,
2279 y_min = -31000,
2280 y_max = 32,
2283 minetest.register_ore( -- Dense sheet
2285 ore_type = "scatter",
2286 ore = "rp_default:stone_with_coal",
2287 wherein = "rp_default:stone",
2288 clust_scarcity = 7*7*7,
2289 clust_num_ores = 10,
2290 clust_size = 8,
2291 y_min = -40,
2292 y_max = -32,
2295 minetest.register_ore( -- Deep ore sheet
2297 ore_type = "scatter",
2298 ore = "rp_default:stone_with_coal",
2299 wherein = "rp_default:stone",
2300 clust_scarcity = 6*6*6,
2301 clust_num_ores = 26,
2302 clust_size = 12,
2303 y_min = -130,
2304 y_max = -120,
2307 -- Iron ore
2309 minetest.register_ore( -- Even distribution
2311 ore_type = "scatter",
2312 ore = "rp_default:stone_with_iron",
2313 wherein = "rp_default:stone",
2314 clust_scarcity = 12*12*12,
2315 clust_num_ores = 4,
2316 clust_size = 3,
2317 y_min = -31000,
2318 y_max = -8,
2321 minetest.register_ore( -- Dense sheet
2323 ore_type = "scatter",
2324 ore = "rp_default:stone_with_iron",
2325 wherein = "rp_default:stone",
2326 clust_scarcity = 8*8*8,
2327 clust_num_ores = 20,
2328 clust_size = 12,
2329 y_min = -32,
2330 y_max = -24,
2333 minetest.register_ore( -- Dense sheet
2335 ore_type = "scatter",
2336 ore = "rp_default:stone_with_iron",
2337 wherein = "rp_default:stone",
2338 clust_scarcity = 7*7*7,
2339 clust_num_ores = 17,
2340 clust_size = 6,
2341 y_min = -80,
2342 y_max = -60,
2345 -- Tin ore
2347 minetest.register_ore( -- Even distribution
2349 ore_type = "scatter",
2350 ore = "rp_default:stone_with_tin",
2351 wherein = "rp_default:stone",
2352 clust_scarcity = 14*14*14,
2353 clust_num_ores = 8,
2354 clust_size = 4,
2355 y_min = -31000,
2356 y_max = -100,
2359 minetest.register_ore( -- Dense sheet
2361 ore_type = "scatter",
2362 ore = "rp_default:stone_with_tin",
2363 wherein = "rp_default:stone",
2364 clust_scarcity = 7*7*7,
2365 clust_num_ores = 10,
2366 clust_size = 6,
2367 y_min = -150,
2368 y_max = -140,
2371 -- Copper ore
2373 minetest.register_ore( -- Begin sheet
2375 ore_type = "scatter",
2376 ore = "rp_default:stone_with_copper",
2377 wherein = "rp_default:stone",
2378 clust_scarcity = 6*6*6,
2379 clust_num_ores = 12,
2380 clust_size = 5,
2381 y_min = -90,
2382 y_max = -80,
2385 minetest.register_ore( -- Rare even distribution
2387 ore_type = "scatter",
2388 ore = "rp_default:stone_with_copper",
2389 wherein = "rp_default:stone",
2390 clust_scarcity = 13*13*13,
2391 clust_num_ores = 10,
2392 clust_size = 5,
2393 y_min = -31000,
2394 y_max = -90,
2397 minetest.register_ore( -- Large clusters
2399 ore_type = "scatter",
2400 ore = "rp_default:stone_with_copper",
2401 wherein = "rp_default:stone",
2402 clust_scarcity = 8*8*8,
2403 clust_num_ores = 22,
2404 clust_size = 10,
2405 y_min = -230,
2406 y_max = -180,