xpanes: fix code style (#2618)
[oweals/minetest_game.git] / mods / flowers / mapgen.lua
1 --
2 -- Mgv6
3 --
4
5 local function register_mgv6_flower(flower_name)
6         minetest.register_decoration({
7                 name = "flowers:"..flower_name,
8                 deco_type = "simple",
9                 place_on = {"default:dirt_with_grass"},
10                 sidelen = 16,
11                 noise_params = {
12                         offset = 0,
13                         scale = 0.006,
14                         spread = {x = 100, y = 100, z = 100},
15                         seed = 436,
16                         octaves = 3,
17                         persist = 0.6
18                 },
19                 y_max = 30,
20                 y_min = 1,
21                 decoration = "flowers:"..flower_name,
22         })
23 end
24
25 local function register_mgv6_mushroom(mushroom_name)
26         minetest.register_decoration({
27                 name = "flowers:"..mushroom_name,
28                 deco_type = "simple",
29                 place_on = {"default:dirt_with_grass"},
30                 sidelen = 16,
31                 noise_params = {
32                         offset = 0,
33                         scale = 0.04,
34                         spread = {x = 100, y = 100, z = 100},
35                         seed = 7133,
36                         octaves = 3,
37                         persist = 0.6
38                 },
39                 y_max = 30,
40                 y_min = 1,
41                 decoration = "flowers:"..mushroom_name,
42                 spawn_by = "default:tree",
43                 num_spawn_by = 1,
44         })
45 end
46
47 local function register_mgv6_waterlily()
48         minetest.register_decoration({
49                 name = "flowers:waterlily",
50                 deco_type = "simple",
51                 place_on = {"default:dirt"},
52                 sidelen = 16,
53                 noise_params = {
54                         offset = -0.12,
55                         scale = 0.3,
56                         spread = {x = 100, y = 100, z = 100},
57                         seed = 33,
58                         octaves = 3,
59                         persist = 0.7
60                 },
61                 y_max = 0,
62                 y_min = 0,
63                 decoration = "flowers:waterlily_waving",
64                 param2 = 0,
65                 param2_max = 3,
66                 place_offset_y = 1,
67         })
68 end
69
70 function flowers.register_mgv6_decorations()
71         register_mgv6_flower("rose")
72         register_mgv6_flower("tulip")
73         register_mgv6_flower("dandelion_yellow")
74         register_mgv6_flower("geranium")
75         register_mgv6_flower("viola")
76         register_mgv6_flower("dandelion_white")
77
78         register_mgv6_mushroom("mushroom_brown")
79         register_mgv6_mushroom("mushroom_red")
80
81         register_mgv6_waterlily()
82 end
83
84
85 --
86 -- All other biome API mapgens
87 --
88
89 local function register_flower(seed, flower_name)
90         minetest.register_decoration({
91                 name = "flowers:"..flower_name,
92                 deco_type = "simple",
93                 place_on = {"default:dirt_with_grass"},
94                 sidelen = 16,
95                 noise_params = {
96                         offset = -0.02,
97                         scale = 0.04,
98                         spread = {x = 200, y = 200, z = 200},
99                         seed = seed,
100                         octaves = 3,
101                         persist = 0.6
102                 },
103                 biomes = {"grassland", "deciduous_forest"},
104                 y_max = 31000,
105                 y_min = 1,
106                 decoration = "flowers:"..flower_name,
107         })
108 end
109
110 local function register_mushroom(mushroom_name)
111         minetest.register_decoration({
112                 name = "flowers:"..mushroom_name,
113                 deco_type = "simple",
114                 place_on = {"default:dirt_with_grass", "default:dirt_with_coniferous_litter"},
115                 sidelen = 16,
116                 noise_params = {
117                         offset = 0,
118                         scale = 0.006,
119                         spread = {x = 250, y = 250, z = 250},
120                         seed = 2,
121                         octaves = 3,
122                         persist = 0.66
123                 },
124                 biomes = {"deciduous_forest", "coniferous_forest"},
125                 y_max = 31000,
126                 y_min = 1,
127                 decoration = "flowers:"..mushroom_name,
128         })
129 end
130
131 local function register_waterlily()
132         minetest.register_decoration({
133                 name = "default:waterlily",
134                 deco_type = "simple",
135                 place_on = {"default:dirt"},
136                 sidelen = 16,
137                 noise_params = {
138                         offset = -0.12,
139                         scale = 0.3,
140                         spread = {x = 200, y = 200, z = 200},
141                         seed = 33,
142                         octaves = 3,
143                         persist = 0.7
144                 },
145                 biomes = {"rainforest_swamp", "savanna_shore", "deciduous_forest_shore"},
146                 y_max = 0,
147                 y_min = 0,
148                 decoration = "flowers:waterlily_waving",
149                 param2 = 0,
150                 param2_max = 3,
151                 place_offset_y = 1,
152         })
153 end
154
155 function flowers.register_decorations()
156         register_flower(436,     "rose")
157         register_flower(19822,   "tulip")
158         register_flower(1220999, "dandelion_yellow")
159         register_flower(800081,  "chrysanthemum_green")
160         register_flower(36662,   "geranium")
161         register_flower(1133,    "viola")
162         register_flower(73133,   "dandelion_white")
163         register_flower(42,      "tulip_black")
164
165         register_mushroom("mushroom_brown")
166         register_mushroom("mushroom_red")
167
168         register_waterlily()
169 end
170
171
172 --
173 -- Detect mapgen to select functions
174 --
175
176 local mg_name = minetest.get_mapgen_setting("mg_name")
177 if mg_name == "v6" then
178         flowers.register_mgv6_decorations()
179 else
180         flowers.register_decorations()
181 end