Skip to content
Snippets Groups Projects
Commit fb89aa62 authored by Duane Robertson's avatar Duane Robertson
Browse files

Add decorations.

Using simple random checks.
parent e195b2c6
No related branches found
No related tags found
No related merge requests found
default
flowers
......@@ -25,12 +25,15 @@ if default then
if default.register_blobs then
default.register_blobs()
end
--if default.register_biomes then
-- default.register_biomes()
--end
--if default.register_decorations then
-- default.register_decorations()
--end
if default.register_biomes then
default.register_biomes()
end
if default.register_decorations then
default.register_decorations()
end
if flowers.register_decorations then
flowers.register_decorations()
end
end
......@@ -82,3 +85,12 @@ dofile(loud_walking.path .. "/mapgen.lua")
minetest.register_on_newplayer(loud_walking.respawn)
minetest.register_on_respawnplayer(loud_walking.respawn)
minetest.register_on_generated(loud_walking.generate)
local function deco_list()
for i, deco in pairs(minetest.registered_decorations) do
print(dump(deco))
end
end
--deco_list()
......@@ -128,6 +128,29 @@ local function get_biome(px, pz)
return "deciduous_forest"
end
local function get_decoration(biome)
for i, deco in pairs(minetest.registered_decorations) do
local biome_match = false
if deco.biomes then
for _, b in pairs(deco.biomes) do
if biome == b then
biome_match = true
end
end
else
biome_match = true
end
if biome_match and deco.deco_type == "simple" then
if deco.fill_ratio and math.random(1000) < deco.fill_ratio * 1000 then
return deco.decoration
elseif math.random(1000) < 10 then
return deco.decoration
end
end
end
end
function loud_walking.generate(p_minp, p_maxp, seed)
minp, maxp = p_minp, p_maxp
......@@ -209,6 +232,12 @@ function loud_walking.generate(p_minp, p_maxp, seed)
write = true
end
in_cave = false
elseif not in_cave and dy == terr + 41 then
local deco = get_decoration(biome)
if deco then
data[ivm] = node(deco)
end
write = true
elseif dy > terr + 40 then
data[ivm] = node("air")
in_cave = false
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment