6 -- Uncomment this to cut a big portion of ground out for visualizing ore spawning
9 local function on_generated(minp, maxp, blockseed)
10 for x = minp.x, maxp.x do
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})
25 minetest.register_on_generated(on_generated)
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")
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
68 local SWAMP_HIGH_Y_MAX
= 24
70 local register_ocean_and_beach
= function(biomename
, node_ocean
, beach_depth
, node_beach
)
71 local orig_biome
= minetest
.registered_biomes
[biomename
]
72 if not orig_biome
then
75 local newdef
= table.copy(orig_biome
)
76 newdef
.name
= biomename
.. " Ocean"
77 newdef
.node_top
= node_ocean
or "rp_default:sand"
78 newdef
.node_filler
= newdef
.node_top
79 newdef
.y_min
= UNDERGROUND_Y_MAX
+ 1
81 if beach_depth
and beach_depth
> 0 then
82 newdef
.y_max
= orig_biome
.y_min
- beach_depth
- 1
84 newdef
.y_max
= orig_biome
.y_min
- 1
86 minetest
.register_biome(newdef
)
88 if beach_depth
and beach_depth
> 0 then
90 local newdef2
= table.copy(orig_biome
)
91 newdef2
.name
= biomename
.. " Beach"
92 newdef2
.node_top
= node_beach
or "rp_default:sand"
93 newdef2
.node_filler
= newdef2
.node_top
94 newdef2
.y_min
= orig_biome
.y_min
- beach_depth
95 newdef2
.y_max
= orig_biome
.y_min
- 1
96 minetest
.register_biome(newdef2
)
100 if mg_name
~= "v6" then
102 -- 'lowland' version of Dense Grassland biome
103 minetest
.register_biome(
107 node_top
= "rp_default:dirt_with_grass",
108 node_filler
= "rp_default:dirt",
109 node_cave_liquid
= "rp_default:swamp_water_source",
110 node_riverbed
= "rp_default:dirt",
122 register_ocean_and_beach("Marsh", "rp_default:dirt", 2, "rp_default:sand")
123 default
.set_biome_info("Marsh", "grassy")
125 -- 'highland' version of Marsh biome
126 minetest
.register_biome(
128 name
= "Dense Grassland",
130 node_top
= "rp_default:dirt_with_grass",
131 node_filler
= "rp_default:dirt",
132 node_riverbed
= "rp_default:dirt",
138 y_min
= SWAMP_Y_MAX
+ 1,
144 default
.set_biome_info("Dense Grassland", "grassy")
147 -- This special biome has the giant birch trees and is
148 -- limited to a very specific height.
149 -- It has no equivalent biome above or below.
150 minetest
.register_biome(
152 name
= "Deep Forest",
154 node_top
= "rp_default:dirt_with_grass",
155 node_filler
= "rp_default:dirt",
156 node_riverbed
= "rp_default:sand",
168 default
.set_biome_info("Deep Forest", "grassy")
170 minetest
.register_biome(
174 node_top
= "rp_default:dirt_with_grass",
175 node_filler
= "rp_default:dirt",
176 node_riverbed
= "rp_default:sand",
188 register_ocean_and_beach("Forest", "rp_default:sand")
189 default
.set_biome_info("Forest", "grassy")
191 minetest
.register_biome(
195 node_top
= "rp_default:dirt_with_grass",
196 node_filler
= "rp_default:dirt",
197 node_riverbed
= "rp_default:sand",
209 register_ocean_and_beach("Grove", "rp_default:sand")
210 default
.set_biome_info("Grove", "grassy")
212 minetest
.register_biome(
216 node_top
= "rp_default:dirt_with_grass",
217 node_filler
= "rp_default:dirt",
218 node_riverbed
= "rp_default:sand",
230 register_ocean_and_beach("Wilderness", "rp_default:sand")
231 default
.set_biome_info("Wilderness", "grassy")
233 -- Note: Grassland is below Orchard
234 minetest
.register_biome(
238 node_top
= "rp_default:dirt_with_grass",
239 node_filler
= "rp_default:dirt",
240 node_riverbed
= "rp_default:sand",
247 y_max
= ORCHARD_Y_MIN
- 1,
252 register_ocean_and_beach("Grassland", "rp_default:sand")
253 default
.set_biome_info("Grassland", "grassy")
255 -- Note: Orchard is the 'highland' version of Grassland
256 minetest
.register_biome(
260 node_top
= "rp_default:dirt_with_grass",
261 node_filler
= "rp_default:dirt",
262 node_riverbed
= "rp_default:sand",
268 y_min
= ORCHARD_Y_MIN
,
274 default
.set_biome_info("Orchard", "grassy")
276 -- Note: Shrubbery is below Chaparral
277 minetest
.register_biome(
281 node_top
= "rp_default:dirt_with_grass",
282 node_filler
= "rp_default:dirt",
283 node_riverbed
= "rp_default:sand",
295 register_ocean_and_beach("Shrubbery", "rp_default:sand")
296 default
.set_biome_info("Shrubbery", "grassy")
298 -- Note: High biome. This is the highland version of Shrubbery
299 minetest
.register_biome(
303 node_top
= "rp_default:dirt_with_dry_grass",
304 node_filler
= "rp_default:dry_dirt",
305 node_riverbed
= "rp_default:sand",
317 default
.set_biome_info("Chaparral", "savannic")
319 minetest
.register_biome(
323 node_top
= "rp_default:dirt_with_dry_grass",
324 node_filler
= "rp_default:dry_dirt",
325 node_riverbed
= "rp_default:gravel",
337 register_ocean_and_beach("Savanna", "rp_default:sand")
338 default
.set_biome_info("Savanna", "savannic")
340 minetest
.register_biome(
344 node_top
= "rp_default:dry_dirt",
345 node_filler
= "rp_default:sandstone",
346 node_riverbed
= "rp_default:sandstone",
358 register_ocean_and_beach("Wasteland", "rp_default:dry_dirt", 5, "rp_default:gravel")
359 default
.set_biome_info("Wasteland", "drylandic")
361 minetest
.register_biome(
363 name
= "Rocky Dryland",
365 node_top
= "rp_default:dry_dirt",
366 node_filler
= "rp_default:dry_dirt",
367 node_riverbed
= "rp_default:gravel",
379 register_ocean_and_beach("Rocky Dryland", "rp_default:gravel")
380 default
.set_biome_info("Rocky Dryland", "drylandic")
382 minetest
.register_biome(
384 name
= "Wooded Dryland",
386 node_top
= "rp_default:dry_dirt",
387 node_filler
= "rp_default:dry_dirt",
388 node_riverbed
= "rp_default:gravel",
400 register_ocean_and_beach("Wooded Dryland", "rp_default:dry_dirt")
401 default
.set_biome_info("Wooded Dryland", "drylandic")
403 minetest
.register_biome(
405 name
= "Savannic Wasteland",
407 node_top
= "rp_default:dry_dirt",
408 node_filler
= "rp_default:sandstone",
409 node_riverbed
= "rp_default:gravel",
421 register_ocean_and_beach("Savannic Wasteland", "rp_default:sand")
422 default
.set_biome_info("Savannic Wasteland", "savannic")
424 minetest
.register_biome(
426 name
= "Thorny Shrubs",
428 node_top
= "rp_default:dirt_with_grass",
429 node_filler
= "rp_default:dirt",
430 node_riverbed
= "rp_default:gravel",
442 register_ocean_and_beach("Thorny Shrubs", "rp_default:sand")
443 default
.set_biome_info("Thorny Shrubs", "grassy")
445 minetest
.register_biome(
447 name
= "Mystery Forest",
449 node_top
= "rp_default:dirt_with_grass",
450 node_filler
= "rp_default:dirt",
451 node_riverbed
= "rp_default:gravel",
463 register_ocean_and_beach("Mystery Forest", "rp_default:dirt")
464 default
.set_biome_info("Mystery Forest", "grassy")
466 minetest
.register_biome(
468 name
= "Poplar Plains",
470 node_top
= "rp_default:dirt_with_grass",
471 node_filler
= "rp_default:dirt",
472 node_riverbed
= "rp_default:sand",
484 register_ocean_and_beach("Poplar Plains", "rp_default:dirt")
485 default
.set_biome_info("Poplar Plains", "grassy")
487 minetest
.register_biome(
489 name
= "Baby Poplar Plains",
491 node_top
= "rp_default:dirt_with_grass",
492 node_filler
= "rp_default:dirt",
493 node_riverbed
= "rp_default:sand",
505 register_ocean_and_beach("Baby Poplar Plains", "rp_default:sand")
506 default
.set_biome_info("Baby Poplar Plains", "grassy")
508 minetest
.register_biome(
510 name
= "Tall Birch Forest",
512 node_top
= "rp_default:dirt_with_grass",
513 node_filler
= "rp_default:dirt",
514 node_riverbed
= "rp_default:sand",
526 register_ocean_and_beach("Tall Birch Forest", "rp_default:sand")
527 default
.set_biome_info("Tall Birch Forest", "grassy")
529 minetest
.register_biome(
531 name
= "Birch Forest",
533 node_top
= "rp_default:dirt_with_grass",
534 node_filler
= "rp_default:dirt",
535 node_riverbed
= "rp_default:sand",
547 register_ocean_and_beach("Birch Forest", "rp_default:sand")
548 default
.set_biome_info("Birch Forest", "grassy")
550 minetest
.register_biome(
552 name
= "Oak Shrubbery",
554 node_top
= "rp_default:dirt_with_grass",
555 node_filler
= "rp_default:dirt",
556 node_riverbed
= "rp_default:gravel",
568 register_ocean_and_beach("Oak Shrubbery", "rp_default:dirt")
569 default
.set_biome_info("Oak Shrubbery", "grassy")
571 minetest
.register_biome(
575 node_top
= "rp_default:dirt_with_grass",
576 node_filler
= "rp_default:dirt",
577 node_riverbed
= "rp_default:gravel",
589 register_ocean_and_beach("Oak Forest", "rp_default:sand")
590 default
.set_biome_info("Oak Forest", "grassy")
592 minetest
.register_biome(
594 name
= "Tall Oak Forest",
596 node_top
= "rp_default:dirt_with_grass",
597 node_filler
= "rp_default:dirt",
598 node_riverbed
= "rp_default:gravel",
610 register_ocean_and_beach("Tall Oak Forest", "rp_default:sand")
611 default
.set_biome_info("Tall Oak Forest", "grassy")
613 minetest
.register_biome(
615 name
= "Dense Oak Forest",
617 node_top
= "rp_default:dirt_with_grass",
618 node_filler
= "rp_default:dirt",
619 node_riverbed
= "rp_default:gravel",
631 default
.set_biome_info("Dense Oak Forest", "grassy")
633 -- Equivalent to Pixture's original 'Swamp' biome
634 minetest
.register_biome(
636 name
= "Swamp Meadow",
638 node_top
= "rp_default:dirt_with_swamp_grass",
639 node_filler
= "rp_default:swamp_dirt",
640 node_cave_liquid
= "rp_default:swamp_water_source",
641 node_riverbed
= "rp_default:swamp_dirt",
653 register_ocean_and_beach("Swamp Meadow", "rp_default:swamp_dirt", 3, "rp_default:sand")
654 default
.set_biome_info("Swamp Meadow", "swampy")
656 minetest
.register_biome(
658 name
= "Swamp Meadow Highland",
660 node_top
= "rp_default:dirt_with_swamp_grass",
661 node_filler
= "rp_default:swamp_dirt",
662 node_cave_liquid
= "rp_default:swamp_water_source",
663 node_riverbed
= "rp_default:swamp_dirt",
669 y_min
= SWAMP_Y_MAX
+1,
670 y_max
= SWAMP_HIGH_Y_MAX
,
673 humidity_point
= 133,
675 default
.set_biome_info("Swamp Meadow Highland", "swampy")
677 minetest
.register_biome(
679 name
= "Mixed Swamp",
681 node_top
= "rp_default:dirt_with_swamp_grass",
682 node_filler
= "rp_default:swamp_dirt",
683 node_cave_liquid
= "rp_default:swamp_water_source",
684 node_riverbed
= "rp_default:swamp_dirt",
696 register_ocean_and_beach("Mixed Swamp", "rp_default:dirt", 5, "rp_default:swamp_dirt")
697 default
.set_biome_info("Mixed Swamp", "swampy")
699 minetest
.register_biome(
701 name
= "Mixed Swamp Highland",
703 node_top
= "rp_default:dirt_with_swamp_grass",
704 node_filler
= "rp_default:swamp_dirt",
705 node_cave_liquid
= "rp_default:swamp_water_source",
706 node_riverbed
= "rp_default:swamp_dirt",
712 y_min
= SWAMP_Y_MAX
+ 1,
713 y_max
= SWAMP_HIGH_Y_MAX
,
716 humidity_point
= 133,
718 default
.set_biome_info("Mixed Swamp Highland", "swampy")
720 minetest
.register_biome(
722 name
= "Swamp Forest",
724 node_top
= "rp_default:dirt_with_swamp_grass",
725 node_filler
= "rp_default:swamp_dirt",
726 node_cave_liquid
= "rp_default:swamp_water_source",
727 node_riverbed
= "rp_default:swamp_dirt",
739 register_ocean_and_beach("Swamp Forest", "rp_default:dirt", 5, "rp_default:swamp_dirt")
740 default
.set_biome_info("Swamp Forest", "swampy")
742 minetest
.register_biome(
744 name
= "Swamp Forest Highland",
746 node_top
= "rp_default:dirt_with_swamp_grass",
747 node_filler
= "rp_default:swamp_dirt",
748 node_cave_liquid
= "rp_default:swamp_water_source",
749 node_riverbed
= "rp_default:swamp_dirt",
755 y_min
= SWAMP_Y_MAX
+ 1,
756 y_max
= SWAMP_HIGH_Y_MAX
,
759 humidity_point
= 133,
761 default
.set_biome_info("Swamp Forest Highland", "swampy")
764 minetest
.register_biome(
768 node_top
= "rp_default:dirt_with_swamp_grass",
769 node_filler
= "rp_default:swamp_dirt",
770 node_riverbed
= "rp_default:swamp_dirt",
782 register_ocean_and_beach("Dry Swamp", "rp_default:dirt", 3, "rp_default:swamp_dirt") -- force creation of beach sub-biome
783 default
.set_biome_info("Dry Swamp", "swampy")
785 minetest
.register_biome(
787 name
= "Dry Swamp Highland",
789 node_top
= "rp_default:dirt_with_swamp_grass",
790 node_filler
= "rp_default:swamp_dirt",
791 node_riverbed
= "rp_default:swamp_dirt",
797 y_min
= SWAMP_Y_MAX
+ 1,
798 y_max
= SWAMP_HIGH_Y_MAX
,
801 humidity_point
= 129,
803 default
.set_biome_info("Dry Swamp Highland", "swampy")
805 minetest
.register_biome(
807 name
= "Papyrus Swamp",
809 node_top
= "rp_default:dirt_with_swamp_grass",
810 node_filler
= "rp_default:swamp_dirt",
811 node_cave_liquid
= "rp_default:swamp_water_source",
812 node_riverbed
= "rp_default:swamp_dirt",
824 register_ocean_and_beach("Papyrus Swamp", "rp_default:swamp_dirt")
825 default
.set_biome_info("Papyrus Swamp", "swampy")
827 -- Special Underground biome
828 minetest
.register_biome(
830 name
= "Underground",
833 y_max
= UNDERGROUND_Y_MAX
,
838 default
.set_biome_info("Underground", "undergroundy")
842 local function spring_ore_np(seed
)
846 spread
= {x
=250, y
=250, z
=250},
847 seed
= seed
or 12345,
857 minetest
.register_ore( -- Springs
860 ore
= "rp_default:water_source",
861 wherein
= "rp_default:dirt_with_grass",
862 biomes
= {"Grassland", "Dense Grassland"},
863 clust_scarcity
= 26*26*26,
868 noise_params
= spring_ore_np(),
871 minetest
.register_ore( -- Pools
874 ore
= "rp_default:water_source",
875 wherein
= "rp_default:dirt_with_grass",
876 biomes
= {"Wilderness"},
877 clust_scarcity
= 32*32*32,
882 noise_params
= spring_ore_np(),
884 if mg_name
~= "v6" then
885 minetest
.register_ore( -- Swamp (big springs)
888 ore
= "rp_default:swamp_water_source",
889 wherein
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
890 biomes
= {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"},
891 clust_scarcity
= 7*7*7,
896 noise_params
= spring_ore_np(13943),
898 minetest
.register_ore( -- Swamp (medium springs)
901 ore
= "rp_default:swamp_water_source",
902 wherein
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
903 biomes
= {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"},
904 clust_scarcity
= 5*5*5,
909 noise_params
= spring_ore_np(49494),
912 minetest
.register_ore( -- Swamp (small springs)
915 ore
= "rp_default:swamp_water_source",
916 wherein
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
917 biomes
= {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"},
918 clust_scarcity
= 6*6*6,
923 noise_params
= spring_ore_np(59330),
926 minetest
.register_ore( -- Marsh
929 ore
= "rp_default:swamp_water_source",
930 wherein
= {"rp_default:dirt_with_grass", "rp_default:dirt"},
932 clust_scarcity
= 8*8*8,
937 noise_params
= spring_ore_np(),
940 minetest
.register_ore(
943 ore
= "rp_default:gravel",
944 wherein
= "rp_default:dry_dirt",
945 biomes
= {"Rocky Dryland"},
946 clust_scarcity
= 8*8*8,
954 spread
= { x
= 100, y
= 100, z
= 100 },
960 minetest
.register_ore(
963 ore
= "rp_default:stone",
964 wherein
= "rp_default:dry_dirt",
965 biomes
= {"Rocky Dryland"},
966 clust_scarcity
= 8*8*8,
974 spread
= { x
= 100, y
= 100, z
= 100 },
981 minetest
.register_ore( -- Dry Swamp (dirt with grass)
984 ore
= "rp_default:dirt_with_grass",
985 wherein
= {"rp_default:dirt_with_swamp_grass"},
986 biomes
= {"Dry Swamp", "Dry Swamp Highland"},
987 clust_scarcity
= 3*3*3,
992 noise_params
= spring_ore_np(13943),
994 minetest
.register_ore( -- Dry Swamp (dirt)
997 ore
= "rp_default:dirt",
998 wherein
= {"rp_default:swamp_dirt"},
999 biomes
= {"Dry Swamp", "Dry Swamp Beach", "Dry Swamp Highland"},
1000 clust_scarcity
= 3*3*3,
1001 clust_num_ores
= 10,
1005 noise_params
= spring_ore_np(13943),
1007 minetest
.register_ore(
1009 ore_type
= "scatter",
1010 ore
= "rp_default:dirt_with_dry_grass",
1011 wherein
= "rp_default:dry_dirt",
1012 biomes
= {"Savannic Wasteland"},
1013 clust_scarcity
= 6*6*6,
1015 clust_num_ores
= 40,
1022 spread
= { x
= 100, y
= 100, z
= 100 },
1029 minetest
.register_ore(
1032 ore
= "rp_default:dirt_with_dry_grass",
1033 wherein
= "rp_default:dry_dirt",
1034 biomes
= {"Savannic Wasteland"},
1035 clust_scarcity
= 7*7*7,
1043 spread
= { x
= 100, y
= 100, z
= 100 },
1050 minetest
.register_ore(
1052 ore_type
= "scatter",
1053 ore
= "rp_default:stone_with_sulfur",
1054 wherein
= "rp_default:stone",
1055 biomes
= { "Rocky Dryland", "Wooded Dryland"},
1056 clust_scarcity
= 9*9*9,
1068 -- The decorations are roughly ordered by size;
1069 -- largest decorations first.
1073 if mg_name
~= "v6" then
1074 minetest
.register_decoration(
1076 name
= "rp_default:giga_birch_tree",
1077 deco_type
= "schematic",
1078 place_on
= {"rp_default:dirt_with_grass"},
1081 biomes
= {"Deep Forest"},
1082 flags
= "place_center_x, place_center_z",
1083 schematic
= minetest
.get_modpath("rp_default")
1084 .. "/schematics/rp_default_giga_birch_tree.mts",
1085 rotation
= "random",
1090 minetest
.register_decoration(
1092 deco_type
= "schematic",
1093 place_on
= {"rp_default:dirt_with_grass"},
1097 flags
= "place_center_x, place_center_z",
1098 schematic
= minetest
.get_modpath("rp_default")
1099 .. "/schematics/rp_default_tall_grove_tree.mts",
1104 minetest
.register_decoration(
1106 deco_type
= "schematic",
1107 place_on
= {"rp_default:dirt_with_grass"},
1110 biomes
= {"Forest"},
1111 flags
= "place_center_x, place_center_z",
1112 schematic
= minetest
.get_modpath("rp_default")
1113 .. "/schematics/rp_default_coniferlike_tree.mts",
1118 minetest
.register_decoration(
1120 deco_type
= "schematic",
1121 place_on
= {"rp_default:dirt_with_grass"},
1124 biomes
= {"Tall Birch Forest"},
1125 flags
= "place_center_x, place_center_z",
1126 schematic
= minetest
.get_modpath("rp_default")
1127 .. "/schematics/rp_default_birch_cuboid_tall.mts",
1131 minetest
.register_decoration(
1133 deco_type
= "schematic",
1134 place_on
= {"rp_default:dirt_with_grass"},
1136 fill_ratio
= 0.0001,
1137 biomes
= {"Tall Birch Forest"},
1138 flags
= "place_center_x, place_center_z",
1139 schematic
= minetest
.get_modpath("rp_default")
1140 .. "/schematics/rp_default_layer_birch_2.mts",
1144 minetest
.register_decoration(
1146 deco_type
= "schematic",
1147 place_on
= {"rp_default:dirt_with_grass"},
1149 fill_ratio
= 0.00075,
1150 biomes
= {"Tall Birch Forest"},
1151 flags
= "place_center_x, place_center_z",
1152 schematic
= minetest
.get_modpath("rp_default")
1153 .. "/schematics/rp_default_birch_candlestick.mts",
1159 minetest
.register_decoration(
1161 deco_type
= "schematic",
1162 place_on
= {"rp_default:dirt_with_grass"},
1165 biomes
= {"Forest"},
1166 flags
= "place_center_x, place_center_z",
1167 schematic
= minetest
.get_modpath("rp_default")
1168 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1173 minetest
.register_decoration(
1175 deco_type
= "schematic",
1176 place_on
= {"rp_default:dirt_with_grass"},
1178 fill_ratio
= 0.0003,
1179 biomes
= {"Birch Forest"},
1180 flags
= "place_center_x, place_center_z",
1181 schematic
= minetest
.get_modpath("rp_default")
1182 .. "/schematics/rp_default_birch_cuboid_5x4.mts",
1186 minetest
.register_decoration(
1188 deco_type
= "schematic",
1189 place_on
= {"rp_default:dirt_with_grass"},
1192 biomes
= {"Birch Forest"},
1193 flags
= "place_center_x, place_center_z",
1194 schematic
= minetest
.get_modpath("rp_default")
1195 .. "/schematics/rp_default_birch_cuboid_3x4.mts",
1199 minetest
.register_decoration(
1201 deco_type
= "schematic",
1202 place_on
= {"rp_default:dirt_with_grass"},
1205 biomes
= {"Birch Forest"},
1206 flags
= "place_center_x, place_center_z",
1207 schematic
= minetest
.get_modpath("rp_default")
1208 .. "/schematics/rp_default_birch_cuboid_3x3_long.mts",
1212 minetest
.register_decoration(
1214 deco_type
= "schematic",
1215 place_on
= {"rp_default:dirt_with_grass"},
1218 biomes
= {"Birch Forest"},
1219 flags
= "place_center_x, place_center_z",
1220 schematic
= minetest
.get_modpath("rp_default")
1221 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1225 minetest
.register_decoration(
1227 deco_type
= "schematic",
1228 place_on
= {"rp_default:dirt_with_grass"},
1230 fill_ratio
= 0.0001,
1231 biomes
= {"Birch Forest"},
1232 flags
= "place_center_x, place_center_z",
1233 schematic
= minetest
.get_modpath("rp_default")
1234 .. "/schematics/rp_default_birch_plus.mts",
1238 minetest
.register_decoration(
1240 deco_type
= "schematic",
1241 place_on
= {"rp_default:dirt_with_grass"},
1243 fill_ratio
= 0.0002,
1244 biomes
= {"Birch Forest"},
1245 flags
= "place_center_x, place_center_z",
1246 schematic
= minetest
.get_modpath("rp_default")
1247 .. "/schematics/rp_default_apple_tree_empty.mts",
1254 minetest
.register_decoration(
1256 deco_type
= "schematic",
1257 place_on
= {"rp_default:dirt_with_grass"},
1260 biomes
= {"Dry Swamp"},
1261 flags
= "place_center_x, place_center_z",
1262 schematic
= minetest
.get_modpath("rp_default")
1263 .. "/schematics/rp_default_birch_cuboid_3x3_long.mts",
1267 minetest
.register_decoration(
1269 deco_type
= "schematic",
1270 place_on
= {"rp_default:dirt_with_grass"},
1272 fill_ratio
= 0.00133333,
1273 biomes
= {"Dry Swamp Highland"},
1274 flags
= "place_center_x, place_center_z",
1275 schematic
= minetest
.get_modpath("rp_default")
1276 .. "/schematics/rp_default_birch_cuboid_3x3_short.mts",
1281 minetest
.register_decoration(
1283 deco_type
= "schematic",
1284 place_on
= {"rp_default:dirt_with_grass"},
1286 fill_ratio
= 0.00035,
1287 biomes
= {"Orchard"},
1288 flags
= "place_center_x, place_center_z",
1289 schematic
= minetest
.get_modpath("rp_default")
1290 .. "/schematics/rp_default_apple_tree_big.mts",
1295 minetest
.register_decoration(
1297 deco_type
= "schematic",
1298 place_on
= {"rp_default:dirt_with_grass"},
1301 biomes
= {"Orchard"},
1302 flags
= "place_center_x, place_center_z",
1303 schematic
= minetest
.get_modpath("rp_default")
1304 .. "/schematics/rp_default_apple_tree.mts",
1309 minetest
.register_decoration(
1311 deco_type
= "schematic",
1312 place_on
= {"rp_default:dirt_with_grass"},
1314 fill_ratio
= 0.000033,
1315 biomes
= {"Thorny Shrubs"},
1316 flags
= "place_center_x, place_center_z",
1317 schematic
= minetest
.get_modpath("rp_default")
1318 .. "/schematics/rp_default_apple_tree.mts",
1322 minetest
.register_decoration(
1324 deco_type
= "schematic",
1325 place_on
= {"rp_default:dirt_with_grass"},
1327 fill_ratio
= 0.00067,
1328 biomes
= {"Thorny Shrubs"},
1329 flags
= "place_center_x, place_center_z",
1330 schematic
= minetest
.get_modpath("rp_default")
1331 .. "/schematics/rp_default_apple_tree_empty.mts",
1337 minetest
.register_decoration(
1339 deco_type
= "schematic",
1340 place_on
= {"rp_default:dirt_with_grass"},
1343 biomes
= {"Forest", "Deep Forest"},
1344 flags
= "place_center_x, place_center_z",
1345 schematic
= minetest
.get_modpath("rp_default")
1346 .. "/schematics/rp_default_apple_tree.mts",
1351 minetest
.register_decoration(
1353 deco_type
= "schematic",
1354 place_on
= {"rp_default:dirt_with_grass"},
1356 fill_ratio
= 0.0009,
1357 biomes
= {"Oak Forest"},
1358 flags
= "place_center_x, place_center_z",
1359 schematic
= minetest
.get_modpath("rp_default")
1360 .. "/schematics/rp_default_oak_tree_big_1.mts",
1365 minetest
.register_decoration(
1367 deco_type
= "schematic",
1368 place_on
= {"rp_default:dirt_with_grass"},
1370 fill_ratio
= 0.0045,
1371 biomes
= {"Tall Oak Forest"},
1372 flags
= "place_center_x, place_center_z",
1373 schematic
= minetest
.get_modpath("rp_default")
1374 .. "/schematics/rp_default_oak_tree_big_1.mts",
1378 minetest
.register_decoration(
1380 deco_type
= "schematic",
1381 place_on
= {"rp_default:dirt_with_grass"},
1383 fill_ratio
= 0.0045,
1384 biomes
= {"Tall Oak Forest"},
1385 flags
= "place_center_x, place_center_z",
1386 schematic
= minetest
.get_modpath("rp_default")
1387 .. "/schematics/rp_default_oak_tree_big_2.mts",
1393 minetest
.register_decoration(
1395 deco_type
= "schematic",
1396 place_on
= {"rp_default:dirt_with_grass"},
1399 biomes
= {"Dense Oak Forest"},
1400 flags
= "place_center_x, place_center_z",
1401 schematic
= minetest
.get_modpath("rp_default")
1402 .. "/schematics/rp_default_oak_tree_big_1.mts",
1406 minetest
.register_decoration(
1408 deco_type
= "schematic",
1409 place_on
= {"rp_default:dirt_with_grass"},
1412 biomes
= {"Dense Oak Forest"},
1413 flags
= "place_center_x, place_center_z",
1414 schematic
= minetest
.get_modpath("rp_default")
1415 .. "/schematics/rp_default_oak_tree_big_2.mts",
1422 minetest
.register_decoration(
1424 deco_type
= "schematic",
1425 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1427 fill_ratio
= 0.0008,
1428 biomes
= {"Mixed Swamp", "Mixed Swamp Highland", "Mixed Swamp Beach"},
1429 flags
= "place_center_x, place_center_z",
1430 schematic
= minetest
.get_modpath("rp_default")
1431 .. "/schematics/rp_default_swamp_oak.mts",
1436 minetest
.register_decoration(
1438 deco_type
= "schematic",
1439 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1442 biomes
= {"Swamp Forest", "Swamp Forest Highland", "Swamp Forest Beach"},
1443 flags
= "place_center_x, place_center_z",
1444 schematic
= minetest
.get_modpath("rp_default")
1445 .. "/schematics/rp_default_swamp_oak.mts",
1450 minetest
.register_decoration(
1452 deco_type
= "schematic",
1453 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1455 fill_ratio
= 0.0001,
1456 biomes
= {"Swamp Forest", "Swamp Forest Highland", "Swamp Forest Beach"},
1457 flags
= "place_center_x, place_center_z",
1458 schematic
= minetest
.get_modpath("rp_default")
1459 .. "/schematics/rp_default_swamp_birch.mts",
1463 minetest
.register_decoration(
1465 deco_type
= "schematic",
1466 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1469 biomes
= {"Dry Swamp", "Dry Swamp Beach"},
1470 flags
= "place_center_x, place_center_z",
1471 schematic
= minetest
.get_modpath("rp_default")
1472 .. "/schematics/rp_default_swamp_birch.mts",
1476 minetest
.register_decoration(
1478 deco_type
= "schematic",
1479 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1482 biomes
= {"Dry Swamp Highland"},
1483 flags
= "place_center_x, place_center_z",
1484 schematic
= minetest
.get_modpath("rp_default")
1485 .. "/schematics/rp_default_swamp_birch.mts",
1491 local MYSTERY_FOREST_SPREAD
= { x
=500, y
=500, z
=500 }
1492 local MYSTERY_FOREST_OFFSET
= 0.001
1493 local MYSTERY_FOREST_OFFSET_STAIRCASE
= -0.001
1494 local MYSTERY_FOREST_OFFSET_APPLES
= -0.0005
1495 local MYSTERY_FOREST_SCALE
= 0.008
1497 minetest
.register_decoration(
1499 deco_type
= "schematic",
1500 place_on
= {"rp_default:dirt_with_grass"},
1502 biomes
= {"Mystery Forest"},
1503 flags
= "place_center_x, place_center_z",
1504 schematic
= minetest
.get_modpath("rp_default")
1505 .. "/schematics/rp_default_staircase_tree.mts",
1510 scale
= -MYSTERY_FOREST_SCALE
,
1511 offset
= MYSTERY_FOREST_OFFSET_STAIRCASE
,
1512 spread
= MYSTERY_FOREST_SPREAD
,
1519 minetest
.register_decoration(
1521 deco_type
= "schematic",
1522 place_on
= {"rp_default:dirt_with_grass"},
1524 biomes
= {"Mystery Forest"},
1525 flags
= "place_center_x, place_center_z",
1526 schematic
= minetest
.get_modpath("rp_default")
1527 .. "/schematics/rp_default_layer_birch.mts",
1532 scale
= MYSTERY_FOREST_SCALE
,
1533 offset
= MYSTERY_FOREST_OFFSET
,
1534 spread
= MYSTERY_FOREST_SPREAD
,
1541 minetest
.register_decoration(
1543 deco_type
= "schematic",
1544 place_on
= {"rp_default:dirt_with_grass"},
1546 biomes
= {"Mystery Forest"},
1547 flags
= "place_center_x, place_center_z",
1548 schematic
= minetest
.get_modpath("rp_default")
1549 .. "/schematics/rp_default_telephone_tree.mts",
1554 scale
= -MYSTERY_FOREST_SCALE
,
1555 offset
= MYSTERY_FOREST_OFFSET
,
1556 spread
= MYSTERY_FOREST_SPREAD
,
1563 minetest
.register_decoration(
1565 deco_type
= "schematic",
1566 place_on
= {"rp_default:dirt_with_grass"},
1568 biomes
= {"Mystery Forest"},
1569 flags
= "place_center_x, place_center_z",
1570 schematic
= minetest
.get_modpath("rp_default")
1571 .. "/schematics/rp_default_telephone_tree_apples.mts",
1576 scale
= -MYSTERY_FOREST_SCALE
,
1577 offset
= MYSTERY_FOREST_OFFSET_APPLES
,
1578 spread
= MYSTERY_FOREST_SPREAD
,
1588 minetest
.register_decoration(
1590 deco_type
= "schematic",
1591 place_on
= {"rp_default:dirt_with_grass"},
1593 biomes
= {"Mystery Forest"},
1594 flags
= "place_center_x, place_center_z",
1595 schematic
= minetest
.get_modpath("rp_default")
1596 .. "/schematics/rp_default_cross_birch.mts",
1601 scale
= MYSTERY_FOREST_SCALE
,
1602 offset
= MYSTERY_FOREST_OFFSET
,
1603 spread
= MYSTERY_FOREST_SPREAD
,
1610 minetest
.register_decoration(
1612 deco_type
= "schematic",
1613 place_on
= {"rp_default:dirt_with_grass"},
1615 biomes
= {"Poplar Plains"},
1616 flags
= "place_center_x, place_center_z",
1617 schematic
= minetest
.get_modpath("rp_default")
1618 .. "/schematics/rp_default_poplar_large.mts",
1625 spread
= {x
=50,y
=50,z
=50},
1631 minetest
.register_decoration(
1633 deco_type
= "schematic",
1634 place_on
= {"rp_default:dirt_with_grass"},
1636 biomes
= {"Poplar Plains"},
1637 flags
= "place_center_x, place_center_z",
1638 schematic
= minetest
.get_modpath("rp_default")
1639 .. "/schematics/rp_default_poplar_small.mts",
1646 spread
= {x
=50,y
=50,z
=50},
1652 minetest
.register_decoration(
1654 deco_type
= "schematic",
1655 place_on
= {"rp_default:dirt_with_grass"},
1656 fill_ratio
= 0.0002,
1658 biomes
= {"Poplar Plains"},
1659 flags
= "place_center_x, place_center_z",
1660 schematic
= minetest
.get_modpath("rp_default")
1661 .. "/schematics/rp_default_poplar_small.mts",
1666 -- Small poplar tree blobs
1667 minetest
.register_decoration(
1669 deco_type
= "schematic",
1670 place_on
= {"rp_default:dirt_with_grass"},
1672 biomes
= {"Baby Poplar Plains"},
1673 flags
= "place_center_x, place_center_z",
1674 schematic
= minetest
.get_modpath("rp_default")
1675 .. "/schematics/rp_default_poplar_small.mts",
1682 spread
= {x
=24,y
=24,z
=24},
1689 -- Occasional lonely poplars
1690 minetest
.register_decoration(
1692 deco_type
= "schematic",
1693 place_on
= {"rp_default:dirt_with_grass"},
1695 fill_ratio
= 0.0002,
1696 biomes
= {"Baby Poplar Plains"},
1697 flags
= "place_center_x, place_center_z",
1698 schematic
= minetest
.get_modpath("rp_default")
1699 .. "/schematics/rp_default_poplar_small.mts",
1707 minetest
.register_decoration(
1709 deco_type
= "schematic",
1710 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1712 fill_ratio
= 0.0015,
1713 biomes
= {"Mixed Swamp", "Mixed Swamp Highland"},
1714 flags
= "place_center_x, place_center_z",
1715 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_swamp_oak_bush.mts",
1722 minetest
.register_decoration(
1724 deco_type
= "schematic",
1725 place_on
= {"rp_default:dirt_with_grass"},
1727 fill_ratio
= 0.00625,
1728 biomes
= {"Tall Birch Forest"},
1729 flags
= "place_center_x, place_center_z",
1730 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush_big.mts",
1736 minetest
.register_decoration(
1738 deco_type
= "schematic",
1739 place_on
= {"rp_default:dirt_with_grass"},
1742 biomes
= {"Birch Forest"},
1743 flags
= "place_center_x, place_center_z",
1744 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush.mts",
1749 minetest
.register_decoration(
1751 deco_type
= "schematic",
1752 place_on
= {"rp_default:dirt_with_grass"},
1754 fill_ratio
= 0.0001,
1755 biomes
= {"Tall Birch Forest"},
1756 flags
= "place_center_x, place_center_z",
1757 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_birch_bush.mts",
1763 minetest
.register_decoration(
1765 deco_type
= "schematic",
1766 place_on
= {"rp_default:dirt_with_grass"},
1768 biomes
= {"Baby Poplar Plains"},
1769 flags
= "place_center_x, place_center_z",
1770 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1777 offset
= -0.0000001,
1778 spread
= { x
= 50, y
= 50, z
= 50 },
1785 minetest
.register_decoration(
1787 deco_type
= "schematic",
1788 place_on
= {"rp_default:dirt_with_grass"},
1790 biomes
= {"Thorny Shrubs"},
1791 flags
= "place_center_x, place_center_z",
1792 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1800 spread
= { x
= 82, y
= 82, z
= 82 },
1807 minetest
.register_decoration(
1809 deco_type
= "schematic",
1810 place_on
= {"rp_default:dirt_with_grass"},
1813 biomes
= {"Shrubbery"},
1814 flags
= "place_center_x, place_center_z",
1815 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
1821 -- Wilderness apple trees: 50/50 split between
1822 -- trees with apples and those without.
1823 minetest
.register_decoration(
1825 deco_type
= "schematic",
1826 place_on
= {"rp_default:dirt_with_grass"},
1829 biomes
= {"Wilderness"},
1830 flags
= "place_center_x, place_center_z",
1831 schematic
= minetest
.get_modpath("rp_default")
1832 .. "/schematics/rp_default_apple_tree.mts",
1836 minetest
.register_decoration(
1838 deco_type
= "schematic",
1839 place_on
= {"rp_default:dirt_with_grass"},
1842 biomes
= {"Wilderness"},
1843 flags
= "place_center_x, place_center_z",
1844 schematic
= minetest
.get_modpath("rp_default")
1845 .. "/schematics/rp_default_apple_tree_empty.mts",
1850 minetest
.register_decoration(
1852 deco_type
= "schematic",
1853 place_on
= {"rp_default:dirt_with_grass", "rp_default:dirt"},
1855 fill_ratio
= 0.0001,
1856 biomes
= {"Dry Swamp"},
1857 flags
= "place_center_x, place_center_z",
1858 schematic
= minetest
.get_modpath("rp_default")
1859 .. "/schematics/rp_default_apple_tree.mts",
1863 minetest
.register_decoration(
1865 deco_type
= "schematic",
1866 place_on
= {"rp_default:dirt_with_grass", "rp_default:dirt"},
1868 fill_ratio
= 0.0002,
1869 biomes
= {"Dry Swamp Highland"},
1870 flags
= "place_center_x, place_center_z",
1871 schematic
= minetest
.get_modpath("rp_default")
1872 .. "/schematics/rp_default_apple_tree.mts",
1877 minetest
.register_decoration(
1879 deco_type
= "schematic",
1880 place_on
= {"rp_default:dirt_with_grass"},
1883 biomes
= {"Wilderness"},
1884 flags
= "place_center_x, place_center_z",
1885 schematic
= minetest
.get_modpath("rp_default")
1886 .. "/schematics/rp_default_oak_tree.mts",
1892 minetest
.register_decoration(
1894 deco_type
= "schematic",
1895 place_on
= {"rp_default:dirt_with_grass"},
1898 biomes
= {"Oak Shrubbery"},
1899 flags
= "place_center_x, place_center_z",
1900 schematic
= minetest
.get_modpath("rp_default")
1901 .. "/schematics/rp_default_oak_tree.mts",
1906 minetest
.register_decoration(
1908 deco_type
= "schematic",
1909 place_on
= {"rp_default:dirt_with_grass"},
1912 biomes
= {"Dense Oak Forest"},
1913 flags
= "place_center_x, place_center_z",
1914 schematic
= minetest
.get_modpath("rp_default")
1915 .. "/schematics/rp_default_oak_tree.mts",
1920 minetest
.register_decoration(
1922 deco_type
= "schematic",
1923 place_on
= {"rp_default:dirt_with_grass"},
1925 fill_ratio
= 0.0225,
1926 biomes
= {"Oak Forest"},
1927 flags
= "place_center_x, place_center_z",
1928 schematic
= minetest
.get_modpath("rp_default")
1929 .. "/schematics/rp_default_oak_tree.mts",
1934 minetest
.register_decoration(
1936 deco_type
= "schematic",
1937 place_on
= {"rp_default:dirt_with_grass"},
1939 fill_ratio
= 0.0015,
1940 biomes
= {"Tall Oak Forest"},
1941 flags
= "place_center_x, place_center_z",
1942 schematic
= minetest
.get_modpath("rp_default")
1943 .. "/schematics/rp_default_oak_tree.mts",
1954 if mg_name
~= "v6" then
1955 minetest
.register_decoration(
1957 deco_type
= "schematic",
1958 place_on
= {"rp_default:dry_dirt"},
1961 biomes
= {"Wasteland"},
1962 flags
= "place_center_x, place_center_z",
1963 schematic
= minetest
.get_modpath("rp_default")
1964 .. "/schematics/rp_default_small_rock.mts",
1967 rotation
= "random",
1970 minetest
.register_decoration(
1972 deco_type
= "schematic",
1973 place_on
= {"rp_default:dry_dirt"},
1976 biomes
= {"Wasteland"},
1977 flags
= "place_center_x, place_center_z",
1978 schematic
= minetest
.get_modpath("rp_default")
1979 .. "/schematics/rp_default_large_rock.mts",
1982 rotation
= "random",
1985 minetest
.register_decoration(
1987 deco_type
= "schematic",
1988 place_on
= {"rp_default:stone", "rp_default:dry_dirt"},
1991 biomes
= {"Rocky Dryland"},
1992 flags
= "place_center_x, place_center_z",
1993 schematic
= minetest
.get_modpath("rp_default")
1994 .. "/schematics/rp_default_small_rock.mts",
1997 rotation
= "random",
2000 minetest
.register_decoration(
2002 deco_type
= "schematic",
2003 place_on
= {"rp_default:sand", "rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
2005 fill_ratio
= 0.0005,
2006 biomes
= {"Savannic Wasteland", "Savannic Wasteland Ocean"},
2007 flags
= "place_center_x, place_center_z",
2008 schematic
= minetest
.get_modpath("rp_default")
2009 .. "/schematics/rp_default_small_sandstone_rock.mts",
2013 minetest
.register_decoration(
2015 deco_type
= "simple",
2016 place_on
= {"rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
2018 fill_ratio
= 0.0001,
2019 biomes
= {"Savannic Wasteland"},
2020 flags
= "place_center_x, place_center_z",
2021 decoration
= {"rp_default:stone"},
2027 -- Sulfur decorations
2029 minetest
.register_decoration(
2031 deco_type
= "simple",
2032 place_on
= "rp_default:dry_dirt",
2035 biomes
= {"Wasteland"},
2036 decoration
= {"rp_default:stone_with_sulfur"},
2040 minetest
.register_decoration(
2042 deco_type
= "simple",
2043 place_on
= {"rp_default:dry_dirt", "rp_default:stone"},
2045 fill_ratio
= 0.0001,
2046 biomes
= {"Rocky Dryland"},
2047 decoration
= {"rp_default:stone_with_sulfur"},
2052 -- Tiny tree decorations
2054 minetest
.register_decoration(
2056 deco_type
= "schematic",
2057 place_on
= {"rp_default:dry_dirt"},
2059 fill_ratio
= 0.0001,
2060 biomes
= {"Rocky Dryland"},
2061 flags
= "place_center_x, place_center_z",
2062 schematic
= minetest
.get_modpath("rp_default")
2063 .. "/schematics/rp_default_tiny_birch.mts",
2068 minetest
.register_decoration(
2070 deco_type
= "schematic",
2071 place_on
= {"rp_default:dry_dirt"},
2073 fill_ratio
= 0.00025,
2074 biomes
= {"Rocky Dryland"},
2075 flags
= "place_center_x, place_center_z",
2076 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
2080 minetest
.register_decoration(
2082 deco_type
= "schematic",
2083 place_on
= {"rp_default:dry_dirt"},
2085 fill_ratio
= 0.00025,
2086 biomes
= {"Rocky Dryland"},
2087 flags
= "place_center_x, place_center_z",
2088 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
2092 minetest
.register_decoration(
2094 deco_type
= "schematic",
2095 place_on
= {"rp_default:dry_dirt"},
2098 biomes
= {"Rocky Dryland"},
2099 flags
= "place_center_x, place_center_z",
2100 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2104 minetest
.register_decoration(
2106 deco_type
= "schematic",
2107 place_on
= {"rp_default:dry_dirt"},
2109 fill_ratio
= 0.0001,
2110 biomes
= {"Rocky Dryland"},
2111 flags
= "place_center_x, place_center_z",
2112 schematic
= minetest
.get_modpath("rp_default")
2113 .. "/schematics/rp_default_tiny_birch.mts",
2118 minetest
.register_decoration(
2120 deco_type
= "schematic",
2121 place_on
= {"rp_default:dry_dirt"},
2123 fill_ratio
= 0.00025,
2124 biomes
= {"Rocky Dryland"},
2125 flags
= "place_center_x, place_center_z",
2126 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
2130 minetest
.register_decoration(
2132 deco_type
= "schematic",
2133 place_on
= {"rp_default:dry_dirt"},
2135 fill_ratio
= 0.00025,
2136 biomes
= {"Rocky Dryland"},
2137 flags
= "place_center_x, place_center_z",
2138 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
2142 minetest
.register_decoration(
2144 deco_type
= "schematic",
2145 place_on
= {"rp_default:dry_dirt"},
2148 biomes
= {"Rocky Dryland"},
2149 flags
= "place_center_x, place_center_z",
2150 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2155 minetest
.register_decoration(
2157 deco_type
= "schematic",
2158 place_on
= {"rp_default:dry_dirt"},
2161 biomes
= {"Wooded Dryland"},
2162 flags
= "place_center_x, place_center_z",
2163 schematic
= minetest
.get_modpath("rp_default")
2164 .. "/schematics/rp_default_tiny_oak.mts",
2169 minetest
.register_decoration(
2171 deco_type
= "schematic",
2172 place_on
= {"rp_default:dry_dirt"},
2175 biomes
= {"Wooded Dryland"},
2176 flags
= "place_center_x, place_center_z",
2177 schematic
= minetest
.get_modpath("rp_default")
2178 .. "/schematics/rp_default_tiny_birch.mts",
2184 minetest
.register_decoration(
2186 deco_type
= "schematic",
2187 place_on
= {"rp_default:dry_dirt"},
2189 fill_ratio
= 0.0002,
2190 biomes
= {"Savannic Wasteland"},
2191 flags
= "place_center_x, place_center_z",
2192 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
2199 -- Bush/shrub decorations
2201 minetest
.register_decoration(
2203 deco_type
= "schematic",
2204 place_on
= {"rp_default:dirt_with_grass"},
2206 fill_ratio
= 0.0075,
2207 biomes
= {"Oak Shrubbery"},
2208 flags
= "place_center_x, place_center_z",
2209 schematic
= minetest
.get_modpath("rp_default")
2210 .. "/schematics/rp_default_oak_bush_wide.mts",
2215 minetest
.register_decoration(
2217 deco_type
= "schematic",
2218 place_on
= {"rp_default:dirt_with_grass"},
2221 biomes
= {"Dense Oak Forest"},
2222 flags
= "place_center_x, place_center_z",
2223 schematic
= minetest
.get_modpath("rp_default")
2224 .. "/schematics/rp_default_oak_bush_wide.mts",
2229 minetest
.register_decoration(
2231 deco_type
= "schematic",
2232 place_on
= {"rp_default:dirt_with_grass"},
2235 biomes
= {"Oak Forest"},
2236 flags
= "place_center_x, place_center_z",
2237 schematic
= minetest
.get_modpath("rp_default")
2238 .. "/schematics/rp_default_oak_bush_wide.mts",
2243 minetest
.register_decoration(
2245 deco_type
= "schematic",
2246 place_on
= {"rp_default:dirt_with_dry_grass"},
2249 biomes
= {"Savanna", "Chaparral"},
2250 flags
= "place_center_x, place_center_z",
2251 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2257 minetest
.register_decoration(
2259 deco_type
= "schematic",
2260 place_on
= {"rp_default:dirt_with_dry_grass"},
2262 fill_ratio
= 0.0025,
2263 biomes
= {"Savannic Wasteland"},
2264 flags
= "place_center_x, place_center_z",
2265 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2271 minetest
.register_decoration(
2273 deco_type
= "schematic",
2274 place_on
= {"rp_default:dry_dirt"},
2277 biomes
= {"Rocky Dryland", "Wooded Dryland"},
2278 flags
= "place_center_x, place_center_z",
2279 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush_small.mts",
2284 minetest
.register_decoration(
2286 deco_type
= "schematic",
2287 place_on
= {"rp_default:dirt_with_dry_grass"},
2290 biomes
= {"Chaparral"},
2291 flags
= "place_center_x, place_center_z",
2292 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2297 minetest
.register_decoration(
2299 deco_type
= "schematic",
2300 place_on
= {"rp_default:dirt_with_grass"},
2302 biomes
= {"Thorny Shrubs"},
2303 flags
= "place_center_x, place_center_z",
2304 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2312 spread
= { x
= 82, y
= 82, z
= 82 },
2320 minetest
.register_decoration(
2322 deco_type
= "schematic",
2323 place_on
= {"rp_default:dirt_with_grass"},
2325 fill_ratio
= 0.0003,
2326 biomes
= {"Oak Shrubbery"},
2327 flags
= "place_center_x, place_center_z",
2328 schematic
= minetest
.get_modpath("rp_default")
2329 .. "/schematics/rp_default_normal_bush_small.mts",
2334 minetest
.register_decoration(
2336 deco_type
= "schematic",
2337 place_on
= {"rp_default:dirt_with_grass"},
2340 biomes
= {"Shrubbery"},
2341 flags
= "place_center_x, place_center_z",
2342 schematic
= minetest
.get_modpath("rp_default")
2343 .. "/schematics/rp_default_normal_bush_small.mts",
2350 minetest
.register_decoration(
2352 deco_type
= "schematic",
2353 place_on
= {"rp_default:dirt_with_grass"},
2357 flags
= "place_center_x, place_center_z",
2358 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
2363 minetest
.register_decoration(
2365 deco_type
= "schematic",
2366 place_on
= {"rp_default:dirt_with_grass"},
2368 fill_ratio
= 0.0004,
2369 biomes
= {"Wilderness"},
2370 flags
= "place_center_x, place_center_z",
2371 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_bush.mts",
2376 minetest
.register_decoration(
2378 deco_type
= "schematic",
2379 place_on
= {"rp_default:dirt_with_grass"},
2381 fill_ratio
= 0.0036,
2382 biomes
= {"Wilderness"},
2383 flags
= "place_center_x, place_center_z",
2384 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_bush.mts",
2392 -- Thistle decorations
2394 minetest
.register_decoration(
2396 deco_type
= "simple",
2397 place_on
= "rp_default:dirt_with_grass",
2400 biomes
= {"Wilderness"},
2401 decoration
= {"rp_default:thistle"},
2406 minetest
.register_decoration(
2408 deco_type
= "simple",
2409 place_on
= {"rp_default:dirt_with_grass", "rp_default:dry_dirt"},
2411 biomes
= {"Thorny Shrubs"},
2412 decoration
= {"rp_default:thistle"},
2420 spread
= { x
= 12, y
= 12, z
= 12 },
2427 -- Papyrus decorations
2430 minetest
.register_decoration(
2432 deco_type
= "simple",
2433 place_on
= {"rp_default:sand", "rp_default:dirt", "rp_default:dirt_with_grass"},
2434 spawn_by
= {"rp_default:water_source", "rp_default:water_flowing"},
2438 biomes
= {"Grassland Ocean", "Grassland", "Forest Ocean", "Forest", "Wilderness Ocean", "Wilderness", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Marsh Beach", "Swamp Meadow Beach"},
2439 decoration
= {"rp_default:papyrus"},
2445 -- Grassland papyrus
2446 minetest
.register_decoration(
2448 deco_type
= "simple",
2449 place_on
= {"rp_default:dirt_with_grass"},
2450 spawn_by
= {"group:water"},
2454 biomes
= {"Grassland", "Dense Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"},
2455 decoration
= {"rp_default:papyrus"},
2464 minetest
.register_decoration(
2466 deco_type
= "simple",
2467 place_on
= {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2468 spawn_by
= {"group:water"},
2471 biomes
= {"Mixed Swamp", "Mixed Swamp Highland"},
2472 decoration
= {"rp_default:papyrus"},
2479 spread
= {x
=150, y
=150, z
=150},
2488 minetest
.register_decoration(
2490 deco_type
= "simple",
2491 place_on
= {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2492 spawn_by
= {"group:water"},
2496 biomes
= {"Papyrus Swamp"},
2497 decoration
= {"rp_default:papyrus"},
2504 -- Flower decorations
2506 minetest
.register_decoration(
2508 deco_type
= "simple",
2509 place_on
= "rp_default:dirt_with_grass",
2512 biomes
= {"Grassland", "Wilderness", "Orchard", "Baby Poplar Plains", "Birch Forest"},
2513 decoration
= {"rp_default:flower"},
2517 minetest
.register_decoration(
2519 deco_type
= "simple",
2520 place_on
= "rp_default:dirt_with_grass",
2523 biomes
= {"Dense Grassland"},
2524 decoration
= {"rp_default:flower"},
2530 -- Grass decorations
2532 if mg_name
~= "v6" then
2533 minetest
.register_decoration(
2535 deco_type
= "simple",
2536 place_on
= "rp_default:dirt_with_grass",
2539 biomes
= {"Grassland", "Dense Grassland", "Orchard", "Swamp Meadow", "Swamp Meadow Highland", "Baby Poplar Plains", "Poplar Plains", "Shrubbery", "Oak Shrubbery", "Thorny Shrubs", "Dry Swamp", "Dry Swamp Highland"},
2540 decoration
= {"rp_default:grass"},
2545 minetest
.register_decoration(
2547 deco_type
= "simple",
2548 place_on
= "rp_default:dirt_with_grass",
2551 biomes
= {"Grassland", "Dense Grassland", "Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Tall Oak Forest", "Mystery Forest", "Baby Poplar Plains", "Poplar Plains", "Dry Swamp", "Dry Swamp Highland", "Shrubbery", "Oak Shrubbery"},
2552 decoration
= {"rp_default:grass"},
2558 minetest
.register_decoration(
2560 deco_type
= "simple",
2561 place_on
= "rp_default:dirt_with_swamp_grass",
2564 biomes
= {"Mixed Swamp", "Mixed Swamp Highland", "Dry Swamp", "Dry Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland"},
2565 decoration
= {"rp_default:swamp_grass"},
2569 minetest
.register_decoration(
2571 deco_type
= "simple",
2572 place_on
= "rp_default:dirt_with_swamp_grass",
2575 biomes
= {"Swamp Meadow", "Swamp Meadow Highland"},
2576 decoration
= {"rp_default:swamp_grass"},
2581 minetest
.register_decoration(
2583 deco_type
= "simple",
2584 place_on
= "rp_default:dirt_with_dry_grass",
2587 biomes
= {"Savanna", "Chaparral", "Savannic Wasteland"},
2588 decoration
= {"rp_default:dry_grass"},
2593 if mg_name
~= "v6" then
2595 minetest
.register_decoration(
2597 deco_type
= "simple",
2598 place_on
= "rp_default:dirt_with_grass",
2601 biomes
= {"Forest", "Marsh", "Dense Grassland", "Grove", "Shrubbery", "Oak Shrubbery"},
2602 decoration
= {"rp_default:tall_grass"},
2607 minetest
.register_decoration(
2609 deco_type
= "simple",
2610 place_on
= "rp_default:dirt_with_grass",
2613 biomes
= {"Deep Forest", "Tall Oak Forest"},
2614 decoration
= {"rp_default:tall_grass"},
2619 minetest
.register_decoration(
2621 deco_type
= "simple",
2622 place_on
= "rp_default:dirt_with_grass",
2625 biomes
= {"Thorny Shrubs"},
2626 decoration
= {"rp_default:tall_grass"},
2630 minetest
.register_decoration(
2632 deco_type
= "simple",
2633 place_on
= "rp_default:dirt_with_grass",
2636 biomes
= {"Thorny Shrubs"},
2637 decoration
= {"rp_default:grass"},
2644 minetest
.register_decoration(
2646 deco_type
= "simple",
2647 place_on
= "rp_default:dirt_with_grass",
2650 biomes
= {"Wilderness", "Thorny Shrubs"},
2651 decoration
= {"rp_default:grass"},
2656 minetest
.register_decoration(
2658 deco_type
= "simple",
2659 place_on
= "rp_default:dirt_with_grass",
2662 biomes
= {"Wilderness", "Thorny Shrubs"},
2663 decoration
= {"rp_default:tall_grass"},
2670 minetest
.register_decoration(
2672 deco_type
= "simple",
2673 place_on
= "rp_default:dirt_with_grass",
2676 biomes
= {"Wilderness", "Grove", "Tall Oak Forest", "Mystery Forest"},
2677 decoration
= {"rp_default:fern"},
2684 minetest
.register_decoration(
2686 deco_type
= "simple",
2687 place_on
= {"rp_default:sand", "rp_default:gravel"},
2690 biomes
= {"Grassland Ocean", "Wasteland Beach", "Forest Ocean", "Wilderness Ocean", "Grove Ocean", "Thorny Shrubs Ocean", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Savanna Ocean", "Rocky Dryland Ocean", "Savannic Wasteland Ocean", "Baby Poplar Plains"},
2691 decoration
= {"rp_default:clam"},
2701 minetest
.register_ore( -- Common above sea level mainly
2703 ore_type
= "scatter",
2704 ore
= "rp_default:stone_with_graphite",
2705 wherein
= "rp_default:stone",
2706 clust_scarcity
= 9*9*9,
2713 minetest
.register_ore( -- Slight scattering deeper down
2715 ore_type
= "scatter",
2716 ore
= "rp_default:stone_with_graphite",
2717 wherein
= "rp_default:stone",
2718 clust_scarcity
= 13*13*13,
2727 minetest
.register_ore( -- Even distribution
2729 ore_type
= "scatter",
2730 ore
= "rp_default:stone_with_coal",
2731 wherein
= "rp_default:stone",
2732 clust_scarcity
= 10*10*10,
2739 minetest
.register_ore( -- Dense sheet
2741 ore_type
= "scatter",
2742 ore
= "rp_default:stone_with_coal",
2743 wherein
= "rp_default:stone",
2744 clust_scarcity
= 7*7*7,
2745 clust_num_ores
= 10,
2751 minetest
.register_ore( -- Deep ore sheet
2753 ore_type
= "scatter",
2754 ore
= "rp_default:stone_with_coal",
2755 wherein
= "rp_default:stone",
2756 clust_scarcity
= 6*6*6,
2757 clust_num_ores
= 26,
2765 minetest
.register_ore( -- Even distribution
2767 ore_type
= "scatter",
2768 ore
= "rp_default:stone_with_iron",
2769 wherein
= "rp_default:stone",
2770 clust_scarcity
= 12*12*12,
2777 minetest
.register_ore( -- Dense sheet
2779 ore_type
= "scatter",
2780 ore
= "rp_default:stone_with_iron",
2781 wherein
= "rp_default:stone",
2782 clust_scarcity
= 8*8*8,
2783 clust_num_ores
= 20,
2789 minetest
.register_ore( -- Dense sheet
2791 ore_type
= "scatter",
2792 ore
= "rp_default:stone_with_iron",
2793 wherein
= "rp_default:stone",
2794 clust_scarcity
= 7*7*7,
2795 clust_num_ores
= 17,
2803 minetest
.register_ore( -- Even distribution
2805 ore_type
= "scatter",
2806 ore
= "rp_default:stone_with_tin",
2807 wherein
= "rp_default:stone",
2808 clust_scarcity
= 14*14*14,
2815 minetest
.register_ore( -- Dense sheet
2817 ore_type
= "scatter",
2818 ore
= "rp_default:stone_with_tin",
2819 wherein
= "rp_default:stone",
2820 clust_scarcity
= 7*7*7,
2821 clust_num_ores
= 10,
2829 minetest
.register_ore( -- Begin sheet
2831 ore_type
= "scatter",
2832 ore
= "rp_default:stone_with_copper",
2833 wherein
= "rp_default:stone",
2834 clust_scarcity
= 6*6*6,
2835 clust_num_ores
= 12,
2841 minetest
.register_ore( -- Rare even distribution
2843 ore_type
= "scatter",
2844 ore
= "rp_default:stone_with_copper",
2845 wherein
= "rp_default:stone",
2846 clust_scarcity
= 13*13*13,
2847 clust_num_ores
= 10,
2853 minetest
.register_ore( -- Large clusters
2855 ore_type
= "scatter",
2856 ore
= "rp_default:stone_with_copper",
2857 wherein
= "rp_default:stone",
2858 clust_scarcity
= 8*8*8,
2859 clust_num_ores
= 22,
2865 -- Small gravel blobs
2866 minetest
.register_ore({
2868 ore
= "rp_default:gravel",
2869 wherein
= "rp_default:stone",
2870 clust_scarcity
= 10*10*10,
2871 clust_num_ores
= 33,
2878 spread
= {x
=150, y
=150, z
=150},
2888 minetest
.register_ore({
2890 ore
= "rp_default:sand",
2891 wherein
= "rp_default:stone",
2892 clust_scarcity
= 10*10*10,
2893 clust_num_ores
= 40,
2900 spread
= {x
=150, y
=150, z
=150},
2910 -- Dirt, Dry Dirt and Swamp Dirt blobs.
2911 -- These get generated depending on the biome.
2912 -- The following code is to generate the list
2913 -- of biomes that include either dirt, dry dirt or swamp dirt.
2915 -- Returns a list of biomes that use the specified nodename
2916 -- as its dirt blob, by using the data from
2917 -- default.get_biome_info.
2918 -- * nodename: A name of the node (a dirt node)
2919 local get_dirt_biomes
= function(nodename
)
2920 local biomes
= default
.get_core_biomes()
2921 local out_biomes
= {}
2923 local biome_info
= default
.get_biome_info(biomes
[b
])
2924 -- Add biome to list iff it uses the specified node as dirt blob
2925 if biome_info
.dirt_blob
~= nil and biome_info
.dirt_blob
== nodename
then
2926 table.insert(out_biomes
, biomes
[b
])
2932 local dirt_biomes
= get_dirt_biomes("rp_default:dirt")
2933 local dry_dirt_biomes
= get_dirt_biomes("rp_default:dry_dirt")
2934 local swamp_dirt_biomes
= get_dirt_biomes("rp_default:swamp_dirt")
2936 minetest
.log("verbose", "[rp_default] List of builtin biomes with Dirt blobs: "..dump(dirt_biomes
))
2937 minetest
.log("verbose", "[rp_default] List of builtin biomes with Dry Dirt blobs: "..dump(dry_dirt_biomes
))
2938 minetest
.log("verbose", "[rp_default] List of builtin biomes with Swamp Dirt blobs: "..dump(swamp_dirt_biomes
))
2940 local np_dirtlike
= {
2943 spread
= {x
=150, y
=150, z
=150},
2951 minetest
.register_ore({
2953 ore
= "rp_default:dirt",
2954 wherein
= "rp_default:stone",
2955 clust_scarcity
= 10*10*10,
2956 clust_num_ores
= 33,
2960 biomes
= dirt_biomes
,
2961 noise_params
= np_dirtlike
,
2964 minetest
.register_ore({
2966 ore
= "rp_default:dry_dirt",
2967 wherein
= "rp_default:stone",
2968 clust_scarcity
= 10*10*10,
2969 clust_num_ores
= 33,
2973 biomes
= dry_dirt_biomes
,
2974 noise_params
= np_dirtlike
,
2977 minetest
.register_ore({
2979 ore
= "rp_default:swamp_dirt",
2980 wherein
= "rp_default:stone",
2981 clust_scarcity
= 10*10*10,
2982 clust_num_ores
= 33,
2986 biomes
= swamp_dirt_biomes
,
2987 noise_params
= np_dirtlike
,