diff --git a/mapgen_oreplanet.lua b/mapgen_oreplanet.lua index a4d859a..bf3297c 100644 --- a/mapgen_oreplanet.lua +++ b/mapgen_oreplanet.lua @@ -55,7 +55,15 @@ planetoids.mapgen_oreplanet = function(minp, maxp, vm, area) data[index] = c_base for _,ore in pairs(planetoids.ores) do if planet_n > ore.chance then - data[index] = ore.id + if ore.id then + -- "plain" layer + data[index] = ore.id + + elseif ore.id_list then + -- mixed layer + data[index] = ore.id_list[math.random(1,#ore.id_list)] + end + break end end diff --git a/ores.lua b/ores.lua index 9a71e4d..6e9b178 100644 --- a/ores.lua +++ b/ores.lua @@ -10,22 +10,20 @@ register_ore({ }) register_ore({ - id = minetest.get_content_id("default:stone_with_mese"), - chance = 1.1 -}) - -register_ore({ - id = minetest.get_content_id("default:stone_with_iron"), + id_list = { + minetest.get_content_id("default:stone_with_mese"), + minetest.get_content_id("default:stone_with_copper"), + minetest.get_content_id("default:stone_with_iron"), + }, chance = 1.0 }) register_ore({ - id = minetest.get_content_id("default:stone_with_gold"), - chance = 0.99 -}) - -register_ore({ - id = minetest.get_content_id("default:stone_with_copper"), + id_list = { + minetest.get_content_id("default:stone_with_iron"), + minetest.get_content_id("default:stone_with_gold"), + minetest.get_content_id("default:stone_with_copper"), + }, chance = 0.98 })