diff --git a/mapgen.lua b/mapgen.lua index 362475a..e88f595 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -1,3 +1,8 @@ +-- what mapgen are we using +local mg_name = minetest.get_mapgen_setting("mg_name") + +-- temp vars +local tmp1, tmp2, tmp3 -- decoration function local function register_plant(name, min, max, spawnon, spawnby, num, rarety) @@ -35,9 +40,6 @@ end register_plant("potato_3", 15, 40, nil, "", -1, farming.potato) register_plant("tomato_7", 5, 20, nil, "", -1, farming.tomato) register_plant("corn_7", 12, 22, nil, "", -1, nil) -register_plant("coffee_5", 20, 45, {"default:dirt_with_dry_grass", - "default:dirt_with_rainforest_litter", - "default:dry_dirt_with_dry_grass"}, "", -1, farming.coffee) register_plant("raspberry_4", 3, 10, nil, "", -1, farming.raspberry) register_plant("rhubarb_3", 3, 15, nil, "", -1, farming.rhubarb) register_plant("blueberry_4", 3, 10, nil, "", -1, farming.blueberry) @@ -47,23 +49,24 @@ register_plant("onion_5", 5, 22, nil, "", -1, farming.onion) register_plant("garlic_5", 3, 30, nil, "group:tree", 1, farming.garlic) register_plant("pea_5", 25, 50, nil, "", -1, farming.peas) register_plant("beetroot_5", 1, 15, nil, "", -1, farming.beetroot) -register_plant("mint_4", 1, 75, {"default:dirt_with_grass", -"default:dirt_with_coniferous_litter"}, "group:water", 1, farming.mint) register_plant("cabbage_6", 2, 10, nil, "", -1, farming.cabbage) register_plant("lettuce_5", 5, 30, nil, "", -1, farming.lettuce) register_plant("blackberry_4", 3, 10, nil, "", -1, farming.blackberry) -register_plant("soy_6", 20, 50, {"default:dirt_with_dry_grass", - "default:dirt_with_rainforest_litter", - "default:dry_dirt_with_dry_grass"}, "", -1, farming.soy) register_plant("vanilla_7", 5, 35, nil, "", -1, farming.vanilla) +register_plant("mint_4", 1, 75, { + "default:dirt_with_grass", "default:dirt_with_coniferous_litter"}, + "group:water", 1, farming.mint) -if minetest.get_mapgen_setting("mg_name") == "v6" then +-- v6 mapgen compatibility for specific crops +if mg_name == "v6" then register_plant("carrot_8", 1, 30, nil, "group:water", 1, farming.carrot) register_plant("cucumber_4", 1, 20, nil, "group:water", 1, farming.cucumber) register_plant("melon_8", 1, 20, nil, "group:water", 1, farming.melon) register_plant("pumpkin_8", 1, 20, nil, "group:water", 1, farming.pumpkin) + register_plant("coffee_5", 20, 45, nil, "", -1, farming.coffee) + register_plant("soy_6", 20, 50, nil, "", -1, farming.soy) else -- v7 maps have a beach so plants growing near water is limited to 6 high register_plant("carrot_8", 1, 15, nil, "", -1, nil) @@ -71,8 +74,15 @@ else register_plant("melon_8", 1, 6, {"default:dirt_with_dry_grass", "default:dirt_with_rainforest_litter"}, "", -1, farming.melon) register_plant("pumpkin_8", 1, 6, nil, "", -1, farming.pumpkin) + register_plant("coffee_5", 20, 45, {"default:dirt_with_dry_grass", + "default:dirt_with_rainforest_litter", + "default:dry_dirt_with_dry_grass"}, "", -1, farming.coffee) + register_plant("soy_6", 20, 50, {"default:dirt_with_dry_grass", + "default:dirt_with_rainforest_litter", + "default:dry_dirt_with_dry_grass"}, "", -1, farming.soy) end + if farming.hemp then minetest.register_decoration({ deco_type = "simple", @@ -94,6 +104,7 @@ minetest.register_decoration({ }) end + if farming.chili then minetest.register_decoration({ deco_type = "simple", @@ -115,10 +126,18 @@ minetest.register_decoration({ }) end + if farming.pepper then + +local tmp1 = {"default:dirt_with_rainforest_litter"} -- v7 + +if mg_name == "v6" then + tmp1 = {"default:dirt_with_grass"} -- v6 +end + minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_rainforest_litter"}, + place_on = tmp1, sidelen = 16, noise_params = { offset = 0, @@ -136,10 +155,22 @@ minetest.register_decoration({ }) end + if farming.pineapple then + +tmp1 = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"} +tmp2 = nil +tmp3 = -1 + +if mg_name == "v6" then + tmp1 = {"default:dirt_with_grass"} + tmp2 = "default:desert_sand" + tmp3 = 1 +end + minetest.register_decoration({ deco_type = "simple", - place_on = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"}, + place_on = tmp1, sidelen = 16, noise_params = { offset = 0, @@ -151,14 +182,24 @@ minetest.register_decoration({ }, y_min = 18, y_max = 30, - decoration = {"farming:pineapple_8"} + decoration = {"farming:pineapple_8"}, + spawn_by = tmp2, + num_spawn_by = tmp3 }) end +tmp1 = {"default:dry_dirt_with_dry_grass"} +tmp2 = {"savanna"} + +if mg_name == "v6" then + tmp1 = {"default:dirt_with_grass"} + tmp2 = {"jungle"} +end + minetest.register_decoration({ name = "farming:cotton_wild", deco_type = "simple", - place_on = {"default:dry_dirt_with_dry_grass"}, + place_on = tmp1, sidelen = 16, noise_params = { offset = -0.1, @@ -168,7 +209,7 @@ minetest.register_decoration({ octaves = 3, persist = 0.7 }, - biomes = {"savanna"}, + biomes = tmp2, y_max = 31000, y_min = 1, decoration = "farming:cotton_wild"