summaryrefslogtreecommitdiff
path: root/farming/mapgen.lua
blob: 36d4792a25dfde021c63ca30814c4ae30f9d60de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
-- decoration function
local function register_plant(name, min, max, spawnby, num)
	minetest.register_decoration({
		deco_type = "simple",
		place_on = {"default:dirt_with_grass"},
		sidelen = 16,
		noise_params = {
			offset = 0,
			scale = 0.006,
			spread = {x = 100, y = 100, z = 100},
			seed = 329,
			octaves = 3,
			persist = 0.6
		},
		y_min = min,
		y_max = max,
		decoration = "farming:" .. name,
		spawn_by = spawnby,
		num_spawn_by = num,
	})
end

function farming.register_mgv6_decorations()
	register_plant("potato_3", 15, 40, "", -1)
	register_plant("tomato_7", 5, 20, "", -1)
	register_plant("carrot_8", 1, 30, "group:water", 1)
	register_plant("cucumber_4", 1, 20, "group:water", 1)
	register_plant("corn_7", 12, 22, "", -1)
	register_plant("corn_8", 10, 20, "", -1)
	register_plant("coffee_5", 20, 45, "", -1)
	register_plant("melon_8", 1, 20, "group:water", 1)
	register_plant("pumpkin_8", 1, 20, "group:water", 1)
	register_plant("raspberry_4", 3, 10, "", -1)
	register_plant("rhubarb_3", 3, 15, "", -1)
	register_plant("blueberry_4", 3, 10, "", -1)
	register_plant("beanbush", 18, 35, "", -1)
	register_plant("grapebush", 25, 45, "", -1)
end

-- v7 maps have a beach so plants growing near water is limited to 6 high
function farming.register_mgv7_decorations()
	register_plant("potato_3", 15, 40, "", -1)
	register_plant("tomato_7", 5, 20, "", -1)
	register_plant("carrot_8", 1, 6, "", -1)
	register_plant("cucumber_4", 1, 6, "", -1)
	register_plant("corn_7", 12, 22, "", -1)
	register_plant("corn_8", 10, 20, "", -1)
	register_plant("coffee_5", 20, 45, "", -1)
	register_plant("melon_8", 1, 6, "", -1)
	register_plant("pumpkin_8", 1, 6, "", -1)
	register_plant("raspberry_4", 3, 10, "", -1)
	register_plant("rhubarb_3", 3, 15, "", -1)
	register_plant("blueberry_4", 3, 10, "", -1)
	register_plant("beanbush", 18, 35, "", -1)
	register_plant("grapebush", 25, 45, "", -1)
end

-- detect mapgen
local mg_name = minetest.get_mapgen_params().mgname

if mg_name == "v6" then
	farming.register_mgv6_decorations()
else
	farming.register_mgv7_decorations()
end