biomegen/biomelist.lua

59 lines
1.4 KiB
Lua

-- biomelist.lua
local function make_biomelist()
local biomes = {}
local cid = minetest.get_content_id
for _, a in pairs(minetest.registered_biomes) do
local b = {}
b.name = a.name
biomes[b.name] = b
if a.node_dust then
b.node_dust_name = a.node_dust
b.node_dust = cid(a.node_dust)
end
b.node_top = cid(a.node_top or "mapgen_stone")
b.depth_top = a.depth_top or 0
b.node_filler = cid(a.node_filler or "mapgen_stone")
b.depth_filler = a.depth_filler or 0
b.node_stone = cid(a.node_stone or "mapgen_stone")
b.node_water_top = cid(a.node_water_top or "mapgen_water_source")
b.depth_water_top = a.depth_water_top or 0
b.node_water = cid(a.node_water or "mapgen_water_source")
b.node_river_water = cid(a.node_river_water or "mapgen_river_water_source")
b.node_riverbed = cid(a.node_riverbed or "mapgen_stone")
b.depth_riverbed = a.depth_riverbed or 0
-- b.node_cave_liquid = ...
-- b.node_dungeon = ...
-- b.node_dungeon_alt = ...
-- b.node_dungeon_stair = ...
b.min_pos = a.min_pos or {x=-31000, y=-31000, z=-31000}
if a.y_min then
b.min_pos.y = math.max(b.min_pos.y, a.y_min)
end
b.max_pos = a.max_pos or {x=31000, y=31000, z=31000}
if a.y_max then
b.max_pos.y = math.min(b.max_pos.y, a.y_max)
end
b.vertical_blend = a.vertical_blend or 0
b.heat_point = a.heat_point or 50
b.humidity_point = a.humidity_point or 50
end
return biomes
end
return make_biomelist