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
69 local register_ocean_and_beach
= function(biomename
, node_ocean
, beach_depth
, node_beach
)
70 local orig_biome
= minetest
.registered_biomes
[biomename
]
71 if not orig_biome
then
74 local newdef
= table.copy(orig_biome
)
75 newdef
.name
= biomename
.. " Ocean"
76 newdef
.node_top
= node_ocean
or "rp_default:sand"
77 newdef
.node_filler
= newdef
.node_top
78 newdef
.y_min
= UNDERGROUND_Y_MAX
+ 1
80 if beach_depth
and beach_depth
> 0 then
81 newdef
.y_max
= orig_biome
.y_min
- beach_depth
- 1
83 newdef
.y_max
= orig_biome
.y_min
- 1
85 minetest
.register_biome(newdef
)
87 if beach_depth
and beach_depth
> 0 then
89 local newdef2
= table.copy(orig_biome
)
90 newdef2
.name
= biomename
.. " Beach"
91 newdef2
.node_top
= node_beach
or "rp_default:sand"
92 newdef2
.node_filler
= newdef2
.node_top
93 newdef2
.y_min
= orig_biome
.y_min
- beach_depth
94 newdef2
.y_max
= orig_biome
.y_min
- 1
95 minetest
.register_biome(newdef2
)
99 if mg_name
~= "v6" then
101 minetest
.register_biome(
105 node_top
= "rp_default:dirt_with_grass",
106 node_filler
= "rp_default:dirt",
107 node_cave_liquid
= "rp_default:swamp_water_source",
108 node_riverbed
= "rp_default:dirt",
120 register_ocean_and_beach("Marsh", "rp_default:dirt", 2, "rp_default:sand")
121 default
.set_biome_info("Marsh", "grassy")
123 minetest
.register_biome(
125 name
= "Deep Forest",
127 node_top
= "rp_default:dirt_with_grass",
128 node_filler
= "rp_default:dirt",
129 node_riverbed
= "rp_default:sand",
141 default
.set_biome_info("Deep Forest", "grassy")
143 -- TODO: Replace with an actual biome
144 minetest
.register_biome(
146 name
= "Deep Forest Lowland",
148 node_top
= "rp_default:dirt_with_grass",
149 node_filler
= "rp_default:dirt",
150 node_riverbed
= "rp_default:sand",
162 register_ocean_and_beach("Deep Forest Lowland", "rp_default:dirt")
163 default
.set_biome_info("Deep Forest Lowland", "grassy")
165 minetest
.register_biome(
169 node_top
= "rp_default:dirt_with_grass",
170 node_filler
= "rp_default:dirt",
171 node_riverbed
= "rp_default:sand",
183 register_ocean_and_beach("Forest", "rp_default:sand")
184 default
.set_biome_info("Forest", "grassy")
186 minetest
.register_biome(
190 node_top
= "rp_default:dirt_with_grass",
191 node_filler
= "rp_default:dirt",
192 node_riverbed
= "rp_default:sand",
204 register_ocean_and_beach("Grove", "rp_default:sand")
205 default
.set_biome_info("Grove", "grassy")
207 minetest
.register_biome(
211 node_top
= "rp_default:dirt_with_grass",
212 node_filler
= "rp_default:dirt",
213 node_riverbed
= "rp_default:sand",
225 register_ocean_and_beach("Wilderness", "rp_default:sand")
226 default
.set_biome_info("Wilderness", "grassy")
228 -- Note: Grassland is below Orchard
229 minetest
.register_biome(
233 node_top
= "rp_default:dirt_with_grass",
234 node_filler
= "rp_default:dirt",
235 node_riverbed
= "rp_default:sand",
242 y_max
= ORCHARD_Y_MIN
- 1,
247 register_ocean_and_beach("Grassland", "rp_default:sand")
248 default
.set_biome_info("Grassland", "grassy")
250 -- Note: Orchard is the 'highland' version of Grassland
251 minetest
.register_biome(
255 node_top
= "rp_default:dirt_with_grass",
256 node_filler
= "rp_default:dirt",
257 node_riverbed
= "rp_default:sand",
263 y_min
= ORCHARD_Y_MIN
,
269 default
.set_biome_info("Orchard", "grassy")
271 -- Note: Shrubbery is below Chaparral
272 minetest
.register_biome(
276 node_top
= "rp_default:dirt_with_grass",
277 node_filler
= "rp_default:dirt",
278 node_riverbed
= "rp_default:sand",
290 register_ocean_and_beach("Shrubbery", "rp_default:sand")
291 default
.set_biome_info("Shrubbery", "grassy")
293 -- Note: High biome. This is the highland version of Shrubbery
294 minetest
.register_biome(
298 node_top
= "rp_default:dirt_with_dry_grass",
299 node_filler
= "rp_default:dry_dirt",
300 node_riverbed
= "rp_default:sand",
312 default
.set_biome_info("Chaparral", "savannic")
314 minetest
.register_biome(
318 node_top
= "rp_default:dirt_with_dry_grass",
319 node_filler
= "rp_default:dry_dirt",
320 node_riverbed
= "rp_default:gravel",
332 register_ocean_and_beach("Savanna", "rp_default:sand")
333 default
.set_biome_info("Savanna", "savannic")
335 minetest
.register_biome(
339 node_top
= "rp_default:sand",
340 node_filler
= "rp_default:sandstone",
341 node_riverbed
= "rp_default:sand",
342 node_dungeon
= "rp_default:sandstone",
354 register_ocean_and_beach("Desert", "rp_default:sand")
355 default
.set_biome_info("Desert", "desertic")
357 minetest
.register_biome(
361 node_top
= "rp_default:dry_dirt",
362 node_filler
= "rp_default:sandstone",
363 node_riverbed
= "rp_default:sandstone",
375 register_ocean_and_beach("Wasteland", "rp_default:dry_dirt", 5, "rp_default:gravel")
376 default
.set_biome_info("Wasteland", "drylandic")
378 minetest
.register_biome(
380 name
= "Rocky Dryland",
382 node_top
= "rp_default:dry_dirt",
383 node_filler
= "rp_default:dry_dirt",
384 node_riverbed
= "rp_default:gravel",
396 register_ocean_and_beach("Rocky Dryland", "rp_default:gravel")
397 default
.set_biome_info("Rocky Dryland", "drylandic")
399 minetest
.register_biome(
401 name
= "Wooded Dryland",
403 node_top
= "rp_default:dry_dirt",
404 node_filler
= "rp_default:dry_dirt",
405 node_riverbed
= "rp_default:gravel",
417 register_ocean_and_beach("Wooded Dryland", "rp_default:dry_dirt")
418 default
.set_biome_info("Wooded Dryland", "drylandic")
420 minetest
.register_biome(
422 name
= "Savannic Wasteland",
424 node_top
= "rp_default:dry_dirt",
425 node_filler
= "rp_default:sandstone",
426 node_riverbed
= "rp_default:gravel",
438 register_ocean_and_beach("Savannic Wasteland", "rp_default:sand")
439 default
.set_biome_info("Savannic Wasteland", "savannic")
441 minetest
.register_biome(
443 name
= "Thorny Shrubs",
445 node_top
= "rp_default:dirt_with_grass",
446 node_filler
= "rp_default:dirt",
447 node_riverbed
= "rp_default:gravel",
459 register_ocean_and_beach("Thorny Shrubs", "rp_default:sand")
460 default
.set_biome_info("Thorny Shrubs", "grassy")
462 minetest
.register_biome(
464 name
= "Mystery Forest",
466 node_top
= "rp_default:dirt_with_grass",
467 node_filler
= "rp_default:dirt",
468 node_riverbed
= "rp_default:gravel",
480 register_ocean_and_beach("Mystery Forest", "rp_default:dirt")
481 default
.set_biome_info("Mystery Forest", "grassy")
483 minetest
.register_biome(
485 name
= "Poplar Plains",
487 node_top
= "rp_default:dirt_with_grass",
488 node_filler
= "rp_default:dirt",
489 node_riverbed
= "rp_default:sand",
501 register_ocean_and_beach("Poplar Plains", "rp_default:dirt")
502 default
.set_biome_info("Poplar Plains", "grassy")
504 minetest
.register_biome(
506 name
= "Baby Poplar Plains",
508 node_top
= "rp_default:dirt_with_grass",
509 node_filler
= "rp_default:dirt",
510 node_riverbed
= "rp_default:sand",
522 register_ocean_and_beach("Baby Poplar Plains", "rp_default:sand")
523 default
.set_biome_info("Baby Poplar Plains", "grassy")
525 minetest
.register_biome(
527 name
= "Tall Birch Forest",
529 node_top
= "rp_default:dirt_with_grass",
530 node_filler
= "rp_default:dirt",
531 node_riverbed
= "rp_default:sand",
543 register_ocean_and_beach("Tall Birch Forest", "rp_default:sand")
544 default
.set_biome_info("Tall Birch Forest", "grassy")
546 minetest
.register_biome(
548 name
= "Birch Forest",
550 node_top
= "rp_default:dirt_with_grass",
551 node_filler
= "rp_default:dirt",
552 node_riverbed
= "rp_default:sand",
564 register_ocean_and_beach("Birch Forest", "rp_default:sand")
565 default
.set_biome_info("Birch Forest", "grassy")
567 minetest
.register_biome(
569 name
= "Oak Shrubbery",
571 node_top
= "rp_default:dirt_with_grass",
572 node_filler
= "rp_default:dirt",
573 node_riverbed
= "rp_default:gravel",
585 register_ocean_and_beach("Oak Shrubbery", "rp_default:dirt")
586 default
.set_biome_info("Oak Shrubbery", "grassy")
588 minetest
.register_biome(
592 node_top
= "rp_default:dirt_with_grass",
593 node_filler
= "rp_default:dirt",
594 node_riverbed
= "rp_default:gravel",
606 register_ocean_and_beach("Oak Forest", "rp_default:sand")
607 default
.set_biome_info("Oak Forest", "grassy")
609 minetest
.register_biome(
611 name
= "Tall Oak Forest",
613 node_top
= "rp_default:dirt_with_grass",
614 node_filler
= "rp_default:dirt",
615 node_riverbed
= "rp_default:gravel",
627 register_ocean_and_beach("Tall Oak Forest", "rp_default:sand")
628 default
.set_biome_info("Tall Oak Forest", "grassy")
630 minetest
.register_biome(
632 name
= "Dense Oak Forest",
634 node_top
= "rp_default:dirt_with_grass",
635 node_filler
= "rp_default:dirt",
636 node_riverbed
= "rp_default:gravel",
648 register_ocean_and_beach("Dense Oak Forest", "rp_default:sand")
649 default
.set_biome_info("Dense Oak Forest", "grassy")
651 -- Equivalent to Pixture's original 'Swamp' biome
652 minetest
.register_biome(
654 name
= "Swamp Meadow",
656 node_top
= "rp_default:dirt_with_swamp_grass",
657 node_filler
= "rp_default:swamp_dirt",
658 node_cave_liquid
= "rp_default:swamp_water_source",
659 node_riverbed
= "rp_default:swamp_dirt",
671 register_ocean_and_beach("Swamp Meadow", "rp_default:dirt", 5, "rp_default:swamp_dirt")
672 default
.set_biome_info("Swamp Meadow", "swampy")
674 minetest
.register_biome(
676 name
= "Mixed Swamp",
678 node_top
= "rp_default:dirt_with_swamp_grass",
679 node_filler
= "rp_default:swamp_dirt",
680 node_cave_liquid
= "rp_default:swamp_water_source",
681 node_riverbed
= "rp_default:swamp_dirt",
693 register_ocean_and_beach("Mixed Swamp", "rp_default:dirt", 5, "rp_default:swamp_dirt")
694 default
.set_biome_info("Mixed Swamp", "swamp")
696 minetest
.register_biome(
698 name
= "Swamp Forest",
700 node_top
= "rp_default:dirt_with_swamp_grass",
701 node_filler
= "rp_default:swamp_dirt",
702 node_cave_liquid
= "rp_default:swamp_water_source",
703 node_riverbed
= "rp_default:swamp_dirt",
715 register_ocean_and_beach("Swamp Forest", "rp_default:dirt", 5, "rp_default:swamp_dirt")
716 default
.set_biome_info("Swamp Forest", "swampy")
718 minetest
.register_biome(
722 node_top
= "rp_default:dirt_with_swamp_grass",
723 node_filler
= "rp_default:swamp_dirt",
724 node_riverbed
= "rp_default:swamp_dirt",
736 register_ocean_and_beach("Dry Swamp", "rp_default:dirt", 5, "rp_default:dirt") -- force creation of beach sub-biome
737 default
.set_biome_info("Dry Swamp", "swampy")
739 minetest
.register_biome(
741 name
= "Papyrus Swamp",
743 node_top
= "rp_default:dirt_with_swamp_grass",
744 node_filler
= "rp_default:swamp_dirt",
745 node_cave_liquid
= "rp_default:swamp_water_source",
746 node_riverbed
= "rp_default:swamp_dirt",
758 register_ocean_and_beach("Papyrus Swamp", "rp_default:swamp_dirt", 2, "rp_default:sand")
759 default
.set_biome_info("Papyrus Swamp", "swampy")
761 -- Special Underground biome
762 minetest
.register_biome(
764 name
= "Underground",
767 y_max
= UNDERGROUND_Y_MAX
,
772 default
.set_biome_info("Underground", "undergroundy")
776 local function spring_ore_np(seed
)
780 spread
= {x
=250, y
=250, z
=250},
781 seed
= seed
or 12345,
791 minetest
.register_ore( -- Springs
794 ore
= "rp_default:water_source",
795 wherein
= "rp_default:dirt_with_grass",
796 biomes
= {"Grassland"},
797 clust_scarcity
= 26*26*26,
802 noise_params
= spring_ore_np(),
805 minetest
.register_ore( -- Pools
808 ore
= "rp_default:water_source",
809 wherein
= "rp_default:dirt_with_grass",
810 biomes
= {"Wilderness"},
811 clust_scarcity
= 32*32*32,
816 noise_params
= spring_ore_np(),
818 if mg_name
~= "v6" then
819 minetest
.register_ore( -- Swamp (big springs)
822 ore
= "rp_default:swamp_water_source",
823 wherein
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
824 biomes
= {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
825 clust_scarcity
= 7*7*7,
830 noise_params
= spring_ore_np(13943),
832 minetest
.register_ore( -- Swamp (medium springs)
835 ore
= "rp_default:swamp_water_source",
836 wherein
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
837 biomes
= {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
838 clust_scarcity
= 5*5*5,
843 noise_params
= spring_ore_np(49494),
846 minetest
.register_ore( -- Swamp (small springs)
849 ore
= "rp_default:swamp_water_source",
850 wherein
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
851 biomes
= {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"},
852 clust_scarcity
= 6*6*6,
857 noise_params
= spring_ore_np(59330),
860 minetest
.register_ore( -- Marsh
863 ore
= "rp_default:swamp_water_source",
864 wherein
= {"rp_default:dirt_with_grass", "rp_default:dirt"},
866 clust_scarcity
= 8*8*8,
871 noise_params
= spring_ore_np(),
874 minetest
.register_ore(
877 ore
= "rp_default:gravel",
878 wherein
= "rp_default:dry_dirt",
879 biomes
= {"Rocky Dryland"},
880 clust_scarcity
= 8*8*8,
888 spread
= { x
= 100, y
= 100, z
= 100 },
894 minetest
.register_ore(
897 ore
= "rp_default:stone",
898 wherein
= "rp_default:dry_dirt",
899 biomes
= {"Rocky Dryland"},
900 clust_scarcity
= 8*8*8,
908 spread
= { x
= 100, y
= 100, z
= 100 },
915 minetest
.register_ore( -- Dry Swamp (dirt)
918 ore
= "rp_default:dirt_with_grass",
919 wherein
= {"rp_default:dirt_with_swamp_grass"},
920 biomes
= {"Dry Swamp"},
921 clust_scarcity
= 3*3*3,
926 noise_params
= spring_ore_np(13943),
928 minetest
.register_ore( -- Dry Swamp (dirt)
931 ore
= "rp_default:dirt",
932 wherein
= {"rp_default:swamp_dirt"},
933 biomes
= {"Dry Swamp"},
934 clust_scarcity
= 3*3*3,
939 noise_params
= spring_ore_np(13943),
941 minetest
.register_ore(
943 ore_type
= "scatter",
944 ore
= "rp_default:dirt_with_dry_grass",
945 wherein
= "rp_default:dry_dirt",
946 biomes
= {"Savannic Wasteland"},
947 clust_scarcity
= 6*6*6,
956 spread
= { x
= 100, y
= 100, z
= 100 },
963 minetest
.register_ore(
966 ore
= "rp_default:dirt_with_dry_grass",
967 wherein
= "rp_default:dry_dirt",
968 biomes
= {"Savannic Wasteland"},
969 clust_scarcity
= 7*7*7,
977 spread
= { x
= 100, y
= 100, z
= 100 },
984 minetest
.register_ore(
986 ore_type
= "scatter",
987 ore
= "rp_default:stone_with_sulfur",
988 wherein
= "rp_default:stone",
989 biomes
= { "Rocky Dryland", "Wooded Dryland"},
990 clust_scarcity
= 9*9*9,
1002 -- The decorations are roughly ordered by size;
1003 -- largest decorations first.
1007 if mg_name
~= "v6" then
1008 minetest
.register_decoration(
1010 deco_type
= "schematic",
1011 place_on
= {"rp_default:dirt_with_grass"},
1014 biomes
= {"Forest"},
1015 flags
= "place_center_x, place_center_z",
1017 ["default:leaves"] = "rp_default:leaves_birch",
1018 ["default:tree"] = "rp_default:tree_birch",
1019 ["default:apple"] = "air"
1021 schematic
= minetest
.get_modpath("rp_default")
1022 .. "/schematics/default_squaretree.mts",
1027 minetest
.register_decoration(
1029 deco_type
= "schematic",
1030 place_on
= {"rp_default:dirt_with_grass"},
1033 biomes
= {"Birch Forest"},
1034 flags
= "place_center_x, place_center_z",
1036 ["default:leaves"] = "rp_default:leaves_birch",
1037 ["default:tree"] = "rp_default:tree_birch",
1038 ["default:apple"] = "air"
1040 schematic
= minetest
.get_modpath("rp_default")
1041 .. "/schematics/default_squaretree.mts",
1046 minetest
.register_decoration(
1048 deco_type
= "schematic",
1049 place_on
= {"rp_default:dirt_with_grass"},
1052 biomes
= {"Dry Swamp"},
1053 flags
= "place_center_x, place_center_z",
1055 ["default:leaves"] = "rp_default:leaves_birch",
1056 ["default:tree"] = "rp_default:tree_birch",
1057 ["default:apple"] = "air"
1059 schematic
= minetest
.get_modpath("rp_default")
1060 .. "/schematics/default_squaretree.mts",
1066 minetest
.register_decoration(
1068 deco_type
= "schematic",
1069 place_on
= {"rp_default:dirt_with_grass"},
1071 fill_ratio
= 0.0001,
1072 biomes
= {"Thorny Shrubs"},
1073 flags
= "place_center_x, place_center_z",
1074 schematic
= minetest
.get_modpath("rp_default")
1075 .. "/schematics/default_appletree.mts",
1082 minetest
.register_decoration(
1084 deco_type
= "schematic",
1085 place_on
= {"rp_default:dirt_with_grass"},
1088 biomes
= {"Orchard"},
1089 flags
= "place_center_x, place_center_z",
1090 schematic
= minetest
.get_modpath("rp_default")
1091 .. "/schematics/default_appletree.mts",
1096 minetest
.register_decoration(
1098 deco_type
= "schematic",
1099 place_on
= {"rp_default:dirt_with_grass"},
1102 biomes
= {"Forest", "Deep Forest"},
1103 flags
= "place_center_x, place_center_z",
1104 schematic
= minetest
.get_modpath("rp_default")
1105 .. "/schematics/default_appletree.mts",
1110 minetest
.register_decoration(
1112 deco_type
= "schematic",
1113 place_on
= {"rp_default:dirt_with_grass"},
1116 biomes
= {"Forest"},
1117 flags
= "place_center_x, place_center_z",
1118 schematic
= minetest
.get_modpath("rp_default")
1119 .. "/schematics/default_megatree.mts",
1124 minetest
.register_decoration(
1126 name
= "rp_default:gigatree",
1127 deco_type
= "schematic",
1128 place_on
= {"rp_default:dirt_with_grass"},
1131 biomes
= {"Deep Forest"},
1132 flags
= "place_center_x, place_center_z",
1133 schematic
= minetest
.get_modpath("rp_default")
1134 .. "/schematics/default_gigatree.mts",
1139 minetest
.register_decoration(
1141 deco_type
= "schematic",
1142 place_on
= {"rp_default:dirt_with_grass"},
1144 fill_ratio
= 0.0009,
1145 biomes
= {"Oak Forest"},
1146 flags
= "place_center_x, place_center_z",
1147 schematic
= minetest
.get_modpath("rp_default")
1148 .. "/schematics/rp_default_oak_tree_big_1.mts",
1153 minetest
.register_decoration(
1155 deco_type
= "schematic",
1156 place_on
= {"rp_default:dirt_with_grass"},
1158 fill_ratio
= 0.0045,
1159 biomes
= {"Tall Oak Forest"},
1160 flags
= "place_center_x, place_center_z",
1161 schematic
= minetest
.get_modpath("rp_default")
1162 .. "/schematics/rp_default_oak_tree_big_1.mts",
1166 minetest
.register_decoration(
1168 deco_type
= "schematic",
1169 place_on
= {"rp_default:dirt_with_grass"},
1171 fill_ratio
= 0.0045,
1172 biomes
= {"Tall Oak Forest"},
1173 flags
= "place_center_x, place_center_z",
1174 schematic
= minetest
.get_modpath("rp_default")
1175 .. "/schematics/rp_default_oak_tree_big_2.mts",
1181 minetest
.register_decoration(
1183 deco_type
= "schematic",
1184 place_on
= {"rp_default:dirt_with_grass"},
1187 biomes
= {"Dense Oak Forest"},
1188 flags
= "place_center_x, place_center_z",
1189 schematic
= minetest
.get_modpath("rp_default")
1190 .. "/schematics/rp_default_oak_tree_big_1.mts",
1194 minetest
.register_decoration(
1196 deco_type
= "schematic",
1197 place_on
= {"rp_default:dirt_with_grass"},
1200 biomes
= {"Dense Oak Forest"},
1201 flags
= "place_center_x, place_center_z",
1202 schematic
= minetest
.get_modpath("rp_default")
1203 .. "/schematics/rp_default_oak_tree_big_2.mts",
1210 minetest
.register_decoration(
1212 deco_type
= "schematic",
1213 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1215 fill_ratio
= 0.0008,
1216 biomes
= {"Mixed Swamp", "Mixed Swamp Beach"},
1217 flags
= "place_center_x, place_center_z",
1218 schematic
= minetest
.get_modpath("rp_default")
1219 .. "/schematics/rp_default_swamp_oak.mts",
1224 minetest
.register_decoration(
1226 deco_type
= "schematic",
1227 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"},
1230 biomes
= {"Swamp Forest", "Swamp Forest Beach"},
1231 flags
= "place_center_x, place_center_z",
1232 schematic
= minetest
.get_modpath("rp_default")
1233 .. "/schematics/rp_default_swamp_oak.mts",
1238 minetest
.register_decoration(
1240 deco_type
= "schematic",
1241 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1243 fill_ratio
= 0.0001,
1244 biomes
= {"Swamp Forest", "Swamp Forest Beach"},
1245 flags
= "place_center_x, place_center_z",
1246 schematic
= minetest
.get_modpath("rp_default")
1247 .. "/schematics/rp_default_swamp_birch.mts",
1251 minetest
.register_decoration(
1253 deco_type
= "schematic",
1254 place_on
= {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"},
1257 biomes
= {"Dry Swamp", "Dry Swamp Beach"},
1258 flags
= "place_center_x, place_center_z",
1259 schematic
= minetest
.get_modpath("rp_default")
1260 .. "/schematics/rp_default_swamp_birch.mts",
1267 local MYSTERY_FOREST_SPREAD
= { x
=500, y
=500, z
=500 }
1268 local MYSTERY_FOREST_OFFSET
= 0.001
1269 local MYSTERY_FOREST_OFFSET_STAIRCASE
= -0.001
1270 local MYSTERY_FOREST_OFFSET_APPLES
= -0.0005
1271 local MYSTERY_FOREST_SCALE
= 0.008
1273 minetest
.register_decoration(
1275 deco_type
= "schematic",
1276 place_on
= {"rp_default:dirt_with_grass"},
1278 biomes
= {"Mystery Forest"},
1279 flags
= "place_center_x, place_center_z",
1280 schematic
= minetest
.get_modpath("rp_default")
1281 .. "/schematics/rp_default_staircase_tree.mts",
1286 scale
= -MYSTERY_FOREST_SCALE
,
1287 offset
= MYSTERY_FOREST_OFFSET_STAIRCASE
,
1288 spread
= MYSTERY_FOREST_SPREAD
,
1295 minetest
.register_decoration(
1297 deco_type
= "schematic",
1298 place_on
= {"rp_default:dirt_with_grass"},
1300 biomes
= {"Mystery Forest"},
1301 flags
= "place_center_x, place_center_z",
1302 schematic
= minetest
.get_modpath("rp_default")
1303 .. "/schematics/rp_default_layer_birch.mts",
1308 scale
= MYSTERY_FOREST_SCALE
,
1309 offset
= MYSTERY_FOREST_OFFSET
,
1310 spread
= MYSTERY_FOREST_SPREAD
,
1317 minetest
.register_decoration(
1319 deco_type
= "schematic",
1320 place_on
= {"rp_default:dirt_with_grass"},
1322 biomes
= {"Mystery Forest"},
1323 flags
= "place_center_x, place_center_z",
1324 schematic
= minetest
.get_modpath("rp_default")
1325 .. "/schematics/rp_default_telephone_tree.mts",
1330 scale
= -MYSTERY_FOREST_SCALE
,
1331 offset
= MYSTERY_FOREST_OFFSET
,
1332 spread
= MYSTERY_FOREST_SPREAD
,
1339 minetest
.register_decoration(
1341 deco_type
= "schematic",
1342 place_on
= {"rp_default:dirt_with_grass"},
1344 biomes
= {"Mystery Forest"},
1345 flags
= "place_center_x, place_center_z",
1346 schematic
= minetest
.get_modpath("rp_default")
1347 .. "/schematics/rp_default_telephone_tree_apples.mts",
1352 scale
= -MYSTERY_FOREST_SCALE
,
1353 offset
= MYSTERY_FOREST_OFFSET_APPLES
,
1354 spread
= MYSTERY_FOREST_SPREAD
,
1364 minetest
.register_decoration(
1366 deco_type
= "schematic",
1367 place_on
= {"rp_default:dirt_with_grass"},
1369 biomes
= {"Mystery Forest"},
1370 flags
= "place_center_x, place_center_z",
1371 schematic
= minetest
.get_modpath("rp_default")
1372 .. "/schematics/rp_default_cross_birch.mts",
1377 scale
= MYSTERY_FOREST_SCALE
,
1378 offset
= MYSTERY_FOREST_OFFSET
,
1379 spread
= MYSTERY_FOREST_SPREAD
,
1386 minetest
.register_decoration(
1388 deco_type
= "schematic",
1389 place_on
= {"rp_default:dirt_with_grass"},
1391 biomes
= {"Poplar Plains"},
1392 flags
= "place_center_x, place_center_z",
1393 schematic
= minetest
.get_modpath("rp_default")
1394 .. "/schematics/rp_default_poplar_large.mts",
1401 spread
= {x
=50,y
=50,z
=50},
1407 minetest
.register_decoration(
1409 deco_type
= "schematic",
1410 place_on
= {"rp_default:dirt_with_grass"},
1412 biomes
= {"Poplar Plains"},
1413 flags
= "place_center_x, place_center_z",
1414 schematic
= minetest
.get_modpath("rp_default")
1415 .. "/schematics/rp_default_poplar_small.mts",
1422 spread
= {x
=50,y
=50,z
=50},
1428 minetest
.register_decoration(
1430 deco_type
= "schematic",
1431 place_on
= {"rp_default:dirt_with_grass"},
1432 fill_ratio
= 0.0002,
1434 biomes
= {"Poplar Plains"},
1435 flags
= "place_center_x, place_center_z",
1436 schematic
= minetest
.get_modpath("rp_default")
1437 .. "/schematics/rp_default_poplar_small.mts",
1442 -- Small poplar tree blobs
1443 minetest
.register_decoration(
1445 deco_type
= "schematic",
1446 place_on
= {"rp_default:dirt_with_grass"},
1448 biomes
= {"Baby Poplar Plains"},
1449 flags
= "place_center_x, place_center_z",
1450 schematic
= minetest
.get_modpath("rp_default")
1451 .. "/schematics/rp_default_poplar_small.mts",
1458 spread
= {x
=24,y
=24,z
=24},
1465 -- Occasional lonely poplars
1466 minetest
.register_decoration(
1468 deco_type
= "schematic",
1469 place_on
= {"rp_default:dirt_with_grass"},
1471 fill_ratio
= 0.0002,
1472 biomes
= {"Baby Poplar Plains"},
1473 flags
= "place_center_x, place_center_z",
1474 schematic
= minetest
.get_modpath("rp_default")
1475 .. "/schematics/rp_default_poplar_small.mts",
1480 minetest
.register_decoration(
1482 deco_type
= "schematic",
1483 place_on
= {"rp_default:dirt_with_grass"},
1485 biomes
= {"Baby Poplar Plains"},
1486 flags
= "place_center_x, place_center_z",
1487 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1494 offset
= -0.0000001,
1495 spread
= { x
= 50, y
= 50, z
= 50 },
1502 minetest
.register_decoration(
1504 deco_type
= "schematic",
1505 place_on
= {"rp_default:dirt_with_grass"},
1507 biomes
= {"Thorny Shrubs"},
1508 flags
= "place_center_x, place_center_z",
1509 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1517 spread
= { x
= 82, y
= 82, z
= 82 },
1524 minetest
.register_decoration(
1526 deco_type
= "schematic",
1527 place_on
= {"rp_default:dirt_with_grass"},
1530 biomes
= {"Shrubbery"},
1531 flags
= "place_center_x, place_center_z",
1532 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_bush.mts",
1539 minetest
.register_decoration(
1541 deco_type
= "schematic",
1542 place_on
= {"rp_default:dirt_with_grass"},
1546 flags
= "place_center_x, place_center_z",
1547 schematic
= minetest
.get_modpath("rp_default")
1548 .. "/schematics/default_talltree.mts",
1553 minetest
.register_decoration(
1555 deco_type
= "schematic",
1556 place_on
= {"rp_default:dirt_with_grass"},
1559 biomes
= {"Tall Birch Forest"},
1560 flags
= "place_center_x, place_center_z",
1561 schematic
= minetest
.get_modpath("rp_default")
1562 .. "/schematics/rp_default_birch_tall.mts",
1567 minetest
.register_decoration(
1569 deco_type
= "schematic",
1570 place_on
= {"rp_default:dirt_with_grass"},
1573 biomes
= {"Wilderness"},
1574 flags
= "place_center_x, place_center_z",
1576 ["default:apple"] = "air",
1578 schematic
= minetest
.get_modpath("rp_default")
1579 .. "/schematics/default_appletree.mts",
1584 minetest
.register_decoration(
1586 deco_type
= "schematic",
1587 place_on
= {"rp_default:dirt_with_grass", "rp_default:dirt"},
1589 fill_ratio
= 0.0001,
1590 biomes
= {"Dry Swamp"},
1591 flags
= "place_center_x, place_center_z",
1592 schematic
= minetest
.get_modpath("rp_default")
1593 .. "/schematics/default_appletree.mts",
1598 minetest
.register_decoration(
1600 deco_type
= "schematic",
1601 place_on
= {"rp_default:dirt_with_grass"},
1604 biomes
= {"Wilderness"},
1605 flags
= "place_center_x, place_center_z",
1606 schematic
= minetest
.get_modpath("rp_default")
1607 .. "/schematics/default_oaktree.mts",
1613 minetest
.register_decoration(
1615 deco_type
= "schematic",
1616 place_on
= {"rp_default:dirt_with_grass"},
1619 biomes
= {"Oak Shrubbery"},
1620 flags
= "place_center_x, place_center_z",
1621 schematic
= minetest
.get_modpath("rp_default")
1622 .. "/schematics/default_oaktree.mts",
1627 minetest
.register_decoration(
1629 deco_type
= "schematic",
1630 place_on
= {"rp_default:dirt_with_grass"},
1633 biomes
= {"Dense Oak Forest"},
1634 flags
= "place_center_x, place_center_z",
1635 schematic
= minetest
.get_modpath("rp_default")
1636 .. "/schematics/default_oaktree.mts",
1641 minetest
.register_decoration(
1643 deco_type
= "schematic",
1644 place_on
= {"rp_default:dirt_with_grass"},
1646 fill_ratio
= 0.0225,
1647 biomes
= {"Oak Forest"},
1648 flags
= "place_center_x, place_center_z",
1649 schematic
= minetest
.get_modpath("rp_default")
1650 .. "/schematics/default_oaktree.mts",
1655 minetest
.register_decoration(
1657 deco_type
= "schematic",
1658 place_on
= {"rp_default:dirt_with_grass"},
1660 fill_ratio
= 0.0015,
1661 biomes
= {"Tall Oak Forest"},
1662 flags
= "place_center_x, place_center_z",
1663 schematic
= minetest
.get_modpath("rp_default")
1664 .. "/schematics/default_oaktree.mts",
1673 -- Cactus decorations
1675 minetest
.register_decoration(
1677 deco_type
= "schematic",
1678 place_on
= {"rp_default:sand"},
1681 biomes
= {"Desert"},
1682 flags
= "place_center_x, place_center_z",
1683 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_cactus.mts",
1686 rotation
= "random",
1691 minetest
.register_decoration(
1693 deco_type
= "schematic",
1694 place_on
= {"rp_default:dry_dirt"},
1697 biomes
= {"Wasteland"},
1698 flags
= "place_center_x, place_center_z",
1699 schematic
= minetest
.get_modpath("rp_default")
1700 .. "/schematics/default_small_rock.mts",
1701 replacements
= {["default:dirt"] = "rp_default:dry_dirt"},
1704 rotation
= "random",
1707 minetest
.register_decoration(
1709 deco_type
= "schematic",
1710 place_on
= {"rp_default:dry_dirt"},
1713 biomes
= {"Wasteland"},
1714 flags
= "place_center_x, place_center_z",
1715 schematic
= minetest
.get_modpath("rp_default")
1716 .. "/schematics/default_large_rock.mts",
1717 replacements
= {["default:dirt"] = "rp_default:dry_dirt"},
1720 rotation
= "random",
1723 minetest
.register_decoration(
1725 deco_type
= "schematic",
1726 place_on
= {"rp_default:stone", "rp_default:dry_dirt"},
1729 biomes
= {"Rocky Dryland"},
1730 flags
= "place_center_x, place_center_z",
1731 schematic
= minetest
.get_modpath("rp_default")
1732 .. "/schematics/default_small_rock.mts",
1733 replacements
= {["default:dirt"] = "rp_default:dry_dirt"},
1736 rotation
= "random",
1739 minetest
.register_decoration(
1741 deco_type
= "schematic",
1742 place_on
= {"rp_default:dry_dirt", "rp_default:dirt_with_dry_grass"},
1745 biomes
= {"Savannic Wasteland"},
1746 flags
= "place_center_x, place_center_z",
1747 schematic
= minetest
.get_modpath("rp_default")
1748 .. "/schematics/default_small_rock.mts",
1749 replacements
= {["default:dirt"] = "rp_default:dry_dirt"},
1752 rotation
= "random",
1756 -- Sulfur decorations
1758 minetest
.register_decoration(
1760 deco_type
= "simple",
1761 place_on
= "rp_default:dry_dirt",
1764 biomes
= {"Wasteland"},
1765 decoration
= {"rp_default:stone_with_sulfur"},
1770 -- Tiny tree decorations
1772 minetest
.register_decoration(
1774 deco_type
= "schematic",
1775 place_on
= {"rp_default:dry_dirt"},
1777 fill_ratio
= 0.0001,
1778 biomes
= {"Rocky Dryland"},
1779 flags
= "place_center_x, place_center_z",
1780 schematic
= minetest
.get_modpath("rp_default")
1781 .. "/schematics/rp_default_tiny_birch.mts",
1786 minetest
.register_decoration(
1788 deco_type
= "schematic",
1789 place_on
= {"rp_default:dry_dirt"},
1791 fill_ratio
= 0.00025,
1792 biomes
= {"Rocky Dryland"},
1793 flags
= "place_center_x, place_center_z",
1794 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1798 minetest
.register_decoration(
1800 deco_type
= "schematic",
1801 place_on
= {"rp_default:dry_dirt"},
1803 fill_ratio
= 0.00025,
1804 biomes
= {"Rocky Dryland"},
1805 flags
= "place_center_x, place_center_z",
1806 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
1810 minetest
.register_decoration(
1812 deco_type
= "schematic",
1813 place_on
= {"rp_default:dry_dirt"},
1816 biomes
= {"Rocky Dryland"},
1817 flags
= "place_center_x, place_center_z",
1818 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1822 minetest
.register_decoration(
1824 deco_type
= "schematic",
1825 place_on
= {"rp_default:dry_dirt"},
1827 fill_ratio
= 0.0001,
1828 biomes
= {"Rocky Dryland"},
1829 flags
= "place_center_x, place_center_z",
1830 schematic
= minetest
.get_modpath("rp_default")
1831 .. "/schematics/rp_default_tiny_birch.mts",
1836 minetest
.register_decoration(
1838 deco_type
= "schematic",
1839 place_on
= {"rp_default:dry_dirt"},
1841 fill_ratio
= 0.00025,
1842 biomes
= {"Rocky Dryland"},
1843 flags
= "place_center_x, place_center_z",
1844 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts",
1848 minetest
.register_decoration(
1850 deco_type
= "schematic",
1851 place_on
= {"rp_default:dry_dirt"},
1853 fill_ratio
= 0.00025,
1854 biomes
= {"Rocky Dryland"},
1855 flags
= "place_center_x, place_center_z",
1856 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts",
1860 minetest
.register_decoration(
1862 deco_type
= "schematic",
1863 place_on
= {"rp_default:dry_dirt"},
1866 biomes
= {"Rocky Dryland"},
1867 flags
= "place_center_x, place_center_z",
1868 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1873 minetest
.register_decoration(
1875 deco_type
= "schematic",
1876 place_on
= {"rp_default:dry_dirt"},
1879 biomes
= {"Wooded Dryland"},
1880 flags
= "place_center_x, place_center_z",
1881 schematic
= minetest
.get_modpath("rp_default")
1882 .. "/schematics/rp_default_tiny_oak.mts",
1887 minetest
.register_decoration(
1889 deco_type
= "schematic",
1890 place_on
= {"rp_default:dry_dirt"},
1893 biomes
= {"Wooded Dryland"},
1894 flags
= "place_center_x, place_center_z",
1895 schematic
= minetest
.get_modpath("rp_default")
1896 .. "/schematics/rp_default_tiny_birch.mts",
1902 minetest
.register_decoration(
1904 deco_type
= "schematic",
1905 place_on
= {"rp_default:dry_dirt"},
1907 fill_ratio
= 0.0002,
1908 biomes
= {"Savannic Wasteland"},
1909 flags
= "place_center_x, place_center_z",
1910 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts",
1917 -- Bush/shrub decorations
1919 minetest
.register_decoration(
1921 deco_type
= "schematic",
1922 place_on
= {"rp_default:dirt_with_grass"},
1924 fill_ratio
= 0.0075,
1925 biomes
= {"Oak Shrubbery"},
1926 flags
= "place_center_x, place_center_z",
1927 schematic
= minetest
.get_modpath("rp_default")
1928 .. "/schematics/rp_default_oak_bush_wide.mts",
1933 minetest
.register_decoration(
1935 deco_type
= "schematic",
1936 place_on
= {"rp_default:dirt_with_grass"},
1939 biomes
= {"Dense Oak Forest"},
1940 flags
= "place_center_x, place_center_z",
1941 schematic
= minetest
.get_modpath("rp_default")
1942 .. "/schematics/rp_default_oak_bush_wide.mts",
1947 minetest
.register_decoration(
1949 deco_type
= "schematic",
1950 place_on
= {"rp_default:dirt_with_grass"},
1953 biomes
= {"Oak Forest"},
1954 flags
= "place_center_x, place_center_z",
1955 schematic
= minetest
.get_modpath("rp_default")
1956 .. "/schematics/rp_default_oak_bush_wide.mts",
1961 minetest
.register_decoration(
1963 deco_type
= "schematic",
1964 place_on
= {"rp_default:dirt_with_dry_grass"},
1967 biomes
= {"Savanna", "Chaparral"},
1968 flags
= "place_center_x, place_center_z",
1969 replacements
= {["default:leaves"] = "rp_default:dry_leaves"},
1970 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
1976 minetest
.register_decoration(
1978 deco_type
= "schematic",
1979 place_on
= {"rp_default:dirt_with_dry_grass"},
1981 fill_ratio
= 0.0025,
1982 biomes
= {"Savannic Wasteland"},
1983 flags
= "place_center_x, place_center_z",
1984 replacements
= {["default:leaves"] = "rp_default:dry_leaves"},
1985 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
1991 minetest
.register_decoration(
1993 deco_type
= "schematic",
1994 place_on
= {"rp_default:dry_dirt"},
1997 biomes
= {"Rocky Dryland", "Wooded Dryland"},
1998 flags
= "place_center_x, place_center_z",
1999 replacements
= {["default:leaves"] = "rp_default:dry_leaves"},
2000 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_shrub.mts",
2005 minetest
.register_decoration(
2007 deco_type
= "schematic",
2008 place_on
= {"rp_default:dirt_with_dry_grass"},
2011 biomes
= {"Chaparral"},
2012 flags
= "place_center_x, place_center_z",
2013 replacements
= {["default:leaves"] = "rp_default:dry_leaves"},
2014 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_dry_bush.mts",
2019 minetest
.register_decoration(
2021 deco_type
= "schematic",
2022 place_on
= {"rp_default:dirt_with_grass"},
2024 biomes
= {"Thorny Shrubs"},
2025 flags
= "place_center_x, place_center_z",
2026 replacements
= {["default:leaves"] = "rp_default:dry_leaves"},
2027 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_dry_bush.mts",
2035 spread
= { x
= 82, y
= 82, z
= 82 },
2043 minetest
.register_decoration(
2045 deco_type
= "schematic",
2046 place_on
= {"rp_default:dirt_with_grass"},
2048 fill_ratio
= 0.0003,
2049 biomes
= {"Oak Shrubbery"},
2050 flags
= "place_center_x, place_center_z",
2051 schematic
= minetest
.get_modpath("rp_default")
2052 .. "/schematics/rp_default_normal_bush_small.mts",
2057 minetest
.register_decoration(
2059 deco_type
= "schematic",
2060 place_on
= {"rp_default:dirt_with_grass"},
2063 biomes
= {"Shrubbery"},
2064 flags
= "place_center_x, place_center_z",
2065 schematic
= minetest
.get_modpath("rp_default")
2066 .. "/schematics/rp_default_normal_bush_small.mts",
2073 minetest
.register_decoration(
2075 deco_type
= "schematic",
2076 place_on
= {"rp_default:dirt_with_grass"},
2079 biomes
= {"Wilderness", "Grove"},
2080 flags
= "place_center_x, place_center_z",
2081 schematic
= minetest
.get_modpath("rp_default") .. "/schematics/default_bush.mts",
2087 -- Thistle decorations
2089 minetest
.register_decoration(
2091 deco_type
= "simple",
2092 place_on
= "rp_default:dirt_with_grass",
2095 biomes
= {"Wilderness"},
2096 decoration
= {"rp_default:thistle"},
2101 minetest
.register_decoration(
2103 deco_type
= "simple",
2104 place_on
= {"rp_default:dirt_with_grass", "rp_default:dry_dirt"},
2106 biomes
= {"Thorny Shrubs"},
2107 decoration
= {"rp_default:thistle"},
2115 spread
= { x
= 12, y
= 12, z
= 12 },
2121 -- Papyrus decorations
2124 minetest
.register_decoration(
2126 deco_type
= "simple",
2127 place_on
= {"rp_default:sand", "rp_default:dirt", "rp_default:dirt_with_grass"},
2128 spawn_by
= {"rp_default:water_source", "rp_default:water_flowing"},
2132 biomes
= {"Grassland Ocean", "Grassland", "Forest Ocean", "Forest", "Wilderness Ocean", "Wilderness", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Marsh Beach"},
2133 decoration
= {"rp_default:papyrus"},
2139 -- Grassland papyrus
2140 minetest
.register_decoration(
2142 deco_type
= "simple",
2143 place_on
= {"rp_default:dirt_with_grass"},
2144 spawn_by
= {"group:water"},
2148 biomes
= {"Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"},
2149 decoration
= {"rp_default:papyrus"},
2158 minetest
.register_decoration(
2160 deco_type
= "simple",
2161 place_on
= {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2162 spawn_by
= {"group:water"},
2166 biomes
= {"Mixed Swamp"},
2167 decoration
= {"rp_default:papyrus"},
2174 minetest
.register_decoration(
2176 deco_type
= "simple",
2177 place_on
= {"rp_default:swamp_dirt", "rp_default:dirt_with_swamp_grass"},
2178 spawn_by
= {"group:water"},
2182 biomes
= {"Papyrus Swamp"},
2183 decoration
= {"rp_default:papyrus"},
2190 -- Flower decorations
2192 minetest
.register_decoration(
2194 deco_type
= "simple",
2195 place_on
= "rp_default:dirt_with_grass",
2198 biomes
= {"Grassland", "Wilderness", "Orchard", "Baby Poplar Plains"},
2199 decoration
= {"rp_default:flower"},
2204 -- Grass decorations
2206 if mg_name
~= "v6" then
2207 minetest
.register_decoration(
2209 deco_type
= "simple",
2210 place_on
= "rp_default:dirt_with_grass",
2213 biomes
= {"Grassland", "Orchard", "Swamp Meadow", "Baby Poplar Plains", "Poplar Plains", "Shrubbery", "Oak Shrubbery", "Thorny Shrubs", "Dry Swamp"},
2214 decoration
= {"rp_default:grass"},
2220 minetest
.register_decoration(
2222 deco_type
= "simple",
2223 place_on
= "rp_default:dirt_with_swamp_grass",
2226 biomes
= {"Mixed Swamp", "Dry Swamp", "Swamp Meadow", "Swamp Papyrus", "Swamp Forest"},
2227 decoration
= {"rp_default:swamp_grass"},
2232 minetest
.register_decoration(
2234 deco_type
= "simple",
2235 place_on
= "rp_default:dirt_with_dry_grass",
2238 biomes
= {"Desert", "Savanna", "Chaparral", "Savannic Wasteland"},
2239 decoration
= {"rp_default:dry_grass"},
2244 if mg_name
~= "v6" then
2245 minetest
.register_decoration(
2247 deco_type
= "simple",
2248 place_on
= "rp_default:dirt_with_grass",
2251 biomes
= {"Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Tall Oak Forest", "Mystery Forest"},
2252 decoration
= {"rp_default:grass"},
2257 minetest
.register_decoration(
2259 deco_type
= "simple",
2260 place_on
= "rp_default:dirt_with_grass",
2263 biomes
= {"Forest", "Marsh", "Grove", "Shrubbery", "Oak Shrubbery"},
2264 decoration
= {"rp_default:tall_grass"},
2269 minetest
.register_decoration(
2271 deco_type
= "simple",
2272 place_on
= "rp_default:dirt_with_grass",
2275 biomes
= {"Deep Forest", "Dense Oak Forest"},
2276 decoration
= {"rp_default:tall_grass"},
2281 minetest
.register_decoration(
2283 deco_type
= "simple",
2284 place_on
= "rp_default:dirt_with_grass",
2287 biomes
= {"Thorny Shrubs"},
2288 decoration
= {"rp_default:tall_grass"},
2292 minetest
.register_decoration(
2294 deco_type
= "simple",
2295 place_on
= "rp_default:dirt_with_grass",
2298 biomes
= {"Thorny Shrubs"},
2299 decoration
= {"rp_default:grass"},
2306 minetest
.register_decoration(
2308 deco_type
= "simple",
2309 place_on
= "rp_default:dirt_with_grass",
2312 biomes
= {"Wilderness", "Thorny Shrubs"},
2313 decoration
= {"rp_default:grass"},
2318 minetest
.register_decoration(
2320 deco_type
= "simple",
2321 place_on
= "rp_default:dirt_with_grass",
2324 biomes
= {"Wilderness", "Thorny Shrubs"},
2325 decoration
= {"rp_default:tall_grass"},
2332 minetest
.register_decoration(
2334 deco_type
= "simple",
2335 place_on
= "rp_default:dirt_with_grass",
2338 biomes
= {"Wilderness", "Grove", "Tall Oak Forest", "Mystery Forest"},
2339 decoration
= {"rp_default:fern"},
2346 minetest
.register_decoration(
2348 deco_type
= "simple",
2349 place_on
= {"rp_default:sand", "rp_default:gravel"},
2352 biomes
= {"Grassland Ocean", "Wasteland Beach", "Forest Ocean", "Wilderness Ocean", "Grove Ocean", "Thorny Shrubs Ocean", "Birch Forest Ocean", "Tall Birch Forest Ocean", "Savanna Ocean", "Rocky Dryland Ocean", "Savannic Wasteland Ocean", "Desert Ocean", "Baby Poplar Plains"},
2353 decoration
= {"rp_default:clam"},
2363 minetest
.register_ore( -- Common above sea level mainly
2365 ore_type
= "scatter",
2366 ore
= "rp_default:stone_with_graphite",
2367 wherein
= "rp_default:stone",
2368 clust_scarcity
= 9*9*9,
2375 minetest
.register_ore( -- Slight scattering deeper down
2377 ore_type
= "scatter",
2378 ore
= "rp_default:stone_with_graphite",
2379 wherein
= "rp_default:stone",
2380 clust_scarcity
= 13*13*13,
2389 minetest
.register_ore( -- Even distribution
2391 ore_type
= "scatter",
2392 ore
= "rp_default:stone_with_coal",
2393 wherein
= "rp_default:stone",
2394 clust_scarcity
= 10*10*10,
2401 minetest
.register_ore( -- Dense sheet
2403 ore_type
= "scatter",
2404 ore
= "rp_default:stone_with_coal",
2405 wherein
= "rp_default:stone",
2406 clust_scarcity
= 7*7*7,
2407 clust_num_ores
= 10,
2413 minetest
.register_ore( -- Deep ore sheet
2415 ore_type
= "scatter",
2416 ore
= "rp_default:stone_with_coal",
2417 wherein
= "rp_default:stone",
2418 clust_scarcity
= 6*6*6,
2419 clust_num_ores
= 26,
2427 minetest
.register_ore( -- Even distribution
2429 ore_type
= "scatter",
2430 ore
= "rp_default:stone_with_iron",
2431 wherein
= "rp_default:stone",
2432 clust_scarcity
= 12*12*12,
2439 minetest
.register_ore( -- Dense sheet
2441 ore_type
= "scatter",
2442 ore
= "rp_default:stone_with_iron",
2443 wherein
= "rp_default:stone",
2444 clust_scarcity
= 8*8*8,
2445 clust_num_ores
= 20,
2451 minetest
.register_ore( -- Dense sheet
2453 ore_type
= "scatter",
2454 ore
= "rp_default:stone_with_iron",
2455 wherein
= "rp_default:stone",
2456 clust_scarcity
= 7*7*7,
2457 clust_num_ores
= 17,
2465 minetest
.register_ore( -- Even distribution
2467 ore_type
= "scatter",
2468 ore
= "rp_default:stone_with_tin",
2469 wherein
= "rp_default:stone",
2470 clust_scarcity
= 14*14*14,
2477 minetest
.register_ore( -- Dense sheet
2479 ore_type
= "scatter",
2480 ore
= "rp_default:stone_with_tin",
2481 wherein
= "rp_default:stone",
2482 clust_scarcity
= 7*7*7,
2483 clust_num_ores
= 10,
2491 minetest
.register_ore( -- Begin sheet
2493 ore_type
= "scatter",
2494 ore
= "rp_default:stone_with_copper",
2495 wherein
= "rp_default:stone",
2496 clust_scarcity
= 6*6*6,
2497 clust_num_ores
= 12,
2503 minetest
.register_ore( -- Rare even distribution
2505 ore_type
= "scatter",
2506 ore
= "rp_default:stone_with_copper",
2507 wherein
= "rp_default:stone",
2508 clust_scarcity
= 13*13*13,
2509 clust_num_ores
= 10,
2515 minetest
.register_ore( -- Large clusters
2517 ore_type
= "scatter",
2518 ore
= "rp_default:stone_with_copper",
2519 wherein
= "rp_default:stone",
2520 clust_scarcity
= 8*8*8,
2521 clust_num_ores
= 22,
2527 -- Small gravel blobs
2528 minetest
.register_ore({
2530 ore
= "rp_default:gravel",
2531 wherein
= "rp_default:stone",
2532 clust_scarcity
= 10*10*10,
2533 clust_num_ores
= 33,
2540 spread
= {x
=150, y
=150, z
=150},
2550 minetest
.register_ore({
2552 ore
= "rp_default:sand",
2553 wherein
= "rp_default:stone",
2554 clust_scarcity
= 10*10*10,
2555 clust_num_ores
= 40,
2562 spread
= {x
=150, y
=150, z
=150},
2572 -- Dirt, Dry Dirt and Swamp Dirt blobs.
2573 -- These get generated depending on the biome.
2574 -- The following code is to generate the list
2575 -- of biomes that include either dirt, dry dirt or swamp dirt.
2577 -- Returns a list of biomes that use the specified nodename
2578 -- as its dirt blob, by using the data from
2579 -- default.get_biome_info.
2580 -- * nodename: A name of the node (a dirt node)
2581 local get_dirt_biomes
= function(nodename
)
2582 local biomes
= default
.get_core_biomes()
2583 local out_biomes
= {}
2585 local biome_info
= default
.get_biome_info(biomes
[b
])
2586 -- Add biome to list iff it uses the specified node as dirt blob
2587 if biome_info
.dirt_blob
~= nil and biome_info
.dirt_blob
== nodename
then
2588 table.insert(out_biomes
, biomes
[b
])
2594 local dirt_biomes
= get_dirt_biomes("rp_default:dirt")
2595 local dry_dirt_biomes
= get_dirt_biomes("rp_default:dry_dirt")
2596 local swamp_dirt_biomes
= get_dirt_biomes("rp_default:swamp_dirt")
2598 minetest
.log("verbose", "[rp_default] List of builtin biomes with Dirt blobs: "..dump(dirt_biomes
))
2599 minetest
.log("verbose", "[rp_default] List of builtin biomes with Dry Dirt blobs: "..dump(dry_dirt_biomes
))
2600 minetest
.log("verbose", "[rp_default] List of builtin biomes with Swamp Dirt blobs: "..dump(swamp_dirt_biomes
))
2602 local np_dirtlike
= {
2605 spread
= {x
=150, y
=150, z
=150},
2613 minetest
.register_ore({
2615 ore
= "rp_default:dirt",
2616 wherein
= "rp_default:stone",
2617 clust_scarcity
= 10*10*10,
2618 clust_num_ores
= 33,
2622 biomes
= dirt_biomes
,
2623 noise_params
= np_dirtlike
,
2626 minetest
.register_ore({
2628 ore
= "rp_default:dry_dirt",
2629 wherein
= "rp_default:stone",
2630 clust_scarcity
= 10*10*10,
2631 clust_num_ores
= 33,
2635 biomes
= dry_dirt_biomes
,
2636 noise_params
= np_dirtlike
,
2639 minetest
.register_ore({
2641 ore
= "rp_default:swamp_dirt",
2642 wherein
= "rp_default:stone",
2643 clust_scarcity
= 10*10*10,
2644 clust_num_ores
= 33,
2648 biomes
= swamp_dirt_biomes
,
2649 noise_params
= np_dirtlike
,