Default/functions: Reduce lavacooling ABM/sound overload
[oweals/minetest_game.git] / mods / flowers / mapgen.lua
1 -- Mgv6
2
3 local function register_mgv6_flower(name)
4         minetest.register_decoration({
5                 deco_type = "simple",
6                 place_on = {"default:dirt_with_grass"},
7                 sidelen = 16,
8                 noise_params = {
9                         offset = 0,
10                         scale = 0.006,
11                         spread = {x=100, y=100, z=100},
12                         seed = 436,
13                         octaves = 3,
14                         persist = 0.6
15                 },
16                 y_min = 1,
17                 y_max = 30,
18                 decoration = "flowers:"..name,
19         })
20 end
21
22 local function register_mgv6_mushroom(name)
23         minetest.register_decoration({
24                 deco_type = "simple",
25                 place_on = {"default:dirt_with_grass"},
26                 sidelen = 16,
27                 noise_params = {
28                         offset = 0,
29                         scale = 0.006,
30                         spread = {x=100, y=100, z=100},
31                         seed = 7133,
32                         octaves = 3,
33                         persist = 0.6
34                 },
35                 y_min = 1,
36                 y_max = 30,
37                 decoration = "flowers:"..name,
38         })
39 end
40
41 function flowers.register_mgv6_decorations()
42         register_mgv6_flower("rose")
43         register_mgv6_flower("tulip")
44         register_mgv6_flower("dandelion_yellow")
45         register_mgv6_flower("geranium")
46         register_mgv6_flower("viola")
47         register_mgv6_flower("dandelion_white")
48
49         register_mgv6_mushroom("mushroom_brown")
50         register_mgv6_mushroom("mushroom_red")
51 end
52
53 -- All other biome API mapgens (not singlenode)
54
55 local function register_flower(seed, name)
56         minetest.register_decoration({
57                 deco_type = "simple",
58                 place_on = {"default:dirt_with_grass"},
59                 sidelen = 16,
60                 noise_params = {
61                         offset = -0.02,
62                         scale = 0.03,
63                         spread = {x=200, y=200, z=200},
64                         seed = seed,
65                         octaves = 3,
66                         persist = 0.6
67                 },
68                 biomes = {
69                         "stone_grassland",
70                         "sandstone_grassland",
71                         "deciduous_forest",
72                         "coniferous_forest",
73                 },
74                 y_min = 6,
75                 y_max = 31000,
76                 decoration = "flowers:"..name,
77         })
78 end
79
80 local function register_mushroom(name)
81         minetest.register_decoration({
82                 deco_type = "simple",
83                 place_on = {"default:dirt_with_grass"},
84                 sidelen = 16,
85                 noise_params = {
86                         offset = 0,
87                         scale = 0.006,
88                         spread = {x=200, y=200, z=200},
89                         seed = 7133,
90                         octaves = 3,
91                         persist = 0.6
92                 },
93                 biomes = {"deciduous_forest", "coniferous_forest"},
94                 y_min = 6,
95                 y_max = 31000,
96                 decoration = "flowers:"..name,
97         })
98 end
99
100 function flowers.register_decorations()
101         register_flower(436,     "rose")
102         register_flower(19822,   "tulip")
103         register_flower(1220999, "dandelion_yellow")
104         register_flower(36662,   "geranium")
105         register_flower(1133,    "viola")
106         register_flower(73133,   "dandelion_white")
107
108         register_mushroom("mushroom_brown")
109         register_mushroom("mushroom_red")
110 end
111
112 -- Detect mapgen to select functions
113
114 -- Mods using singlenode mapgen can call these functions to enable
115 -- the use of minetest.generate_ores or minetest.generate_decorations
116
117 local mg_params = minetest.get_mapgen_params()
118 if mg_params.mgname == "v6" then
119         flowers.register_mgv6_decorations()
120 elseif mg_params.mgname ~= "singlenode" then
121         flowers.register_decorations()
122 end