Skip to content

Commit

Permalink
mixed layers
Browse files Browse the repository at this point in the history
  • Loading branch information
NatureFreshMilk committed Jan 9, 2020
1 parent bc6cd87 commit 8b36b8a
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 47 deletions.
11 changes: 10 additions & 1 deletion mapgen.lua
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,16 @@ minetest.register_on_generated(function(minp, maxp)
data[index] = c_base
for _,ore in pairs(planet_moon.ores) do
if ore_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
Expand Down
80 changes: 34 additions & 46 deletions ores.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ local register_ore = function(def)
planet_moon.min_chance = math.min(def.chance, planet_moon.min_chance)
end


-- inner core of the veins
if has_vacuum_mod then

c_vacuum = minetest.get_content_id("vacuum:vacuum")
Expand All @@ -22,59 +22,37 @@ else
})
end

register_ore({
id = minetest.get_content_id("default:stone_with_diamond"),
chance = 0.998
})

register_ore({
id = minetest.get_content_id("default:stone_with_mese"),
chance = 0.995
})

register_ore({
id = minetest.get_content_id("default:stone_with_gold"),
-- prepare layers
local layer1 = {
id_list = {
minetest.get_content_id("default:stone_with_diamond"),
minetest.get_content_id("default:stone_with_mese"),
minetest.get_content_id("default:stone_with_gold")
},
chance = 0.99
})

register_ore({
id = minetest.get_content_id("default:stone_with_copper"),
chance = 0.98
})

register_ore({
id = minetest.get_content_id("default:stone_with_iron"),
chance = 0.9
})

register_ore({
id = minetest.get_content_id("default:stone_with_coal"),
}

local layer2 = {
id_list = {
minetest.get_content_id("default:stone_with_copper"),
minetest.get_content_id("default:stone_with_iron"),
minetest.get_content_id("default:stone_with_coal")
},
chance = 0.8
})
}

register_ore({
id = minetest.get_content_id("default:ice"),
chance = 0.45
})

if has_technic_mod then
register_ore({
id = minetest.get_content_id("technic:mineral_uranium"),
chance = 0.95
})

register_ore({
id = minetest.get_content_id("technic:mineral_chromium"),
chance = 0.82
})
-- populate technic stuff

register_ore({
id = minetest.get_content_id("technic:mineral_zinc"),
chance = 0.75
})
table.insert(layer2.id_list, minetest.get_content_id("technic:mineral_chromium"))
table.insert(layer2.id_list, minetest.get_content_id("technic:mineral_uranium"))

register_ore({
id = minetest.get_content_id("technic:mineral_lead"),
id_list = {
minetest.get_content_id("technic:mineral_lead"),
minetest.get_content_id("technic:mineral_zinc")
},
chance = 0.7
})

Expand All @@ -85,6 +63,16 @@ if has_technic_mod then

end

-- register prepared layers
register_ore(layer1)
register_ore(layer2)

register_ore({
id = minetest.get_content_id("default:ice"),
chance = 0.45
})


-- sort ores
table.sort(planet_moon.ores, function(a,b)
return b.chance < a.chance
Expand Down

0 comments on commit 8b36b8a

Please sign in to comment.