mcl_mapgen_core: Make mcl_flowers an optional dependency.

mcl_flowers was previously an undeclared dependency of mcl_mapgen_core.
Now it is both optional and declared.
This commit is contained in:
Daniel Cassidy 2022-01-06 02:30:24 +00:00
parent 7c72ce1d0d
commit 1d03a3d150
2 changed files with 52 additions and 48 deletions

View File

@ -1039,15 +1039,17 @@ local function register_mgv6_decorations()
end end
-- Add a small amount of tall grass everywhere to avoid areas completely empty devoid of tall grass -- Add a small amount of tall grass everywhere to avoid areas completely empty devoid of tall grass
minetest.register_decoration({ if minetest.get_modpath("mcl_flowers") then
deco_type = "simple", minetest.register_decoration({
place_on = {"group:grass_block_no_snow"}, deco_type = "simple",
sidelen = 8, place_on = {"group:grass_block_no_snow"},
fill_ratio = 0.004, sidelen = 8,
y_min = 1, fill_ratio = 0.004,
y_max = mcl_vars.overworld_max, y_min = 1,
decoration = "mcl_flowers:tallgrass", y_max = mcl_vars.overworld_max,
}) decoration = "mcl_flowers:tallgrass",
})
end
local mushrooms = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown"} local mushrooms = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown"}
local mseeds = { 7133, 8244 } local mseeds = { 7133, 8244 }
@ -1091,46 +1093,48 @@ local function register_mgv6_decorations()
decoration = "mcl_core:deadbush", decoration = "mcl_core:deadbush",
}) })
local function register_mgv6_flower(name, seed, offset, y_max) if minetest.get_modpath("mcl_flowers") then
if offset == nil then local function register_mgv6_flower(name, seed, offset, y_max)
offset = 0 if offset == nil then
offset = 0
end
if y_max == nil then
y_max = mcl_vars.mg_overworld_max
end
minetest.register_decoration({
deco_type = "simple",
place_on = {"group:grass_block_no_snow"},
sidelen = 16,
noise_params = {
offset = offset,
scale = 0.006,
spread = {x = 100, y = 100, z = 100},
seed = seed,
octaves = 3,
persist = 0.6
},
y_min = 1,
y_max = y_max,
decoration = "mcl_flowers:"..name,
})
end end
if y_max == nil then
y_max = mcl_vars.mg_overworld_max
end
minetest.register_decoration({
deco_type = "simple",
place_on = {"group:grass_block_no_snow"},
sidelen = 16,
noise_params = {
offset = offset,
scale = 0.006,
spread = {x = 100, y = 100, z = 100},
seed = seed,
octaves = 3,
persist = 0.6
},
y_min = 1,
y_max = y_max,
decoration = "mcl_flowers:"..name,
})
end
register_mgv6_flower("tulip_red", 436) register_mgv6_flower("tulip_red", 436)
register_mgv6_flower("tulip_orange", 536) register_mgv6_flower("tulip_orange", 536)
register_mgv6_flower("tulip_pink", 636) register_mgv6_flower("tulip_pink", 636)
register_mgv6_flower("tulip_white", 736) register_mgv6_flower("tulip_white", 736)
register_mgv6_flower("azure_bluet", 800) register_mgv6_flower("azure_bluet", 800)
register_mgv6_flower("dandelion", 8) register_mgv6_flower("dandelion", 8)
-- Allium is supposed to only appear in flower forest in MC. There are no flower forests in v6. -- Allium is supposed to only appear in flower forest in MC. There are no flower forests in v6.
-- We compensate by making it slightly rarer in v6. -- We compensate by making it slightly rarer in v6.
register_mgv6_flower("allium", 0, -0.001) register_mgv6_flower("allium", 0, -0.001)
--[[ Blue orchid is supposed to appear in swamplands. There are no swamplands in v6. --[[ Blue orchid is supposed to appear in swamplands. There are no swamplands in v6.
We emulate swamplands by limiting the height to 5 levels above sea level, We emulate swamplands by limiting the height to 5 levels above sea level,
which should be close to the water. ]] which should be close to the water. ]]
register_mgv6_flower("blue_orchid", 64500, nil, mcl_worlds.layer_to_y(67)) register_mgv6_flower("blue_orchid", 64500, nil, mcl_worlds.layer_to_y(67))
register_mgv6_flower("oxeye_daisy", 3490) register_mgv6_flower("oxeye_daisy", 3490)
register_mgv6_flower("poppy", 9439) register_mgv6_flower("poppy", 9439)
end
-- Put top snow on snowy grass blocks. The v6 mapgen does not generate the top snow on its own. -- Put top snow on snowy grass blocks. The v6 mapgen does not generate the top snow on its own.
minetest.register_decoration({ minetest.register_decoration({

View File

@ -2,4 +2,4 @@ name = mcl_mapgen_core
author = Wuzzy author = Wuzzy
description = The core of the MCL2 mapgen description = The core of the MCL2 mapgen
depends = mcl_init, mcl_core, biomeinfo, mcl_worlds depends = mcl_init, mcl_core, biomeinfo, mcl_worlds
optional_depends = mclx_core, mcl_cocoas, mcl_sponges, mcl_ocean, mcl_stairs, mcl_monster_eggs, mcl_structures optional_depends = mclx_core, mcl_cocoas, mcl_sponges, mcl_ocean, mcl_stairs, mcl_monster_eggs, mcl_structures, mcl_flowers