Add pyramids.

Needs more monsters.
This commit is contained in:
Duane 2016-06-28 10:23:31 -05:00
parent 6bea364511
commit c2ac5a93be
4 changed files with 167 additions and 10 deletions

View file

@ -364,7 +364,7 @@ local function generate(p_minp, p_maxp, seed)
math.randomseed(minetest.get_perlin(seed_noise):get2d({x=minp.x, y=minp.z}))
local write = false
local write_p2 = false
local write_p2, write_p4 = false, false
local underzone
for _, uz in pairs(fun_caves.underzones) do
local avg = (minp.y + maxp.y) / 2
@ -374,6 +374,7 @@ local function generate(p_minp, p_maxp, seed)
end
local aster = false
local true_casket
if minp.y > 17200 then
-- nop
elseif minp.y > 11000 then
@ -388,21 +389,29 @@ local function generate(p_minp, p_maxp, seed)
fun_caves.fortress(minp, maxp, data, area, node)
write = true
else
local write1, write2, write3, h2
local write1, write2, write3, write4, h2
write1, h2 = fun_caves.cavegen(minp, maxp, data, area, node, heightmap, underzone)
if h2 then
heightmap = h2
end
write2, write_p2 = fun_caves.decogen(minp, maxp, data, p2data, area, node, heightmap, biome_ids, underzone)
local biomemap
if fun_caves.use_bi_hi then
biomemap = minetest.get_mapgen_object("biomemap")
end
write2, write_p2 = fun_caves.decogen(minp, maxp, data, p2data, area, node, heightmap, biomemap, biome_ids, underzone)
write3 = fun_caves.treegen(minp, maxp, data, p2data, area, node)
write = write1 or write2 or write3
if not write3 then
write4, write_p4, true_casket = fun_caves.pyramid(minp, maxp, data, p2data, area, biomemap, biome_ids, node, heightmap)
end
write = write1 or write2 or write3 or write4
end
if write then
vm:set_data(data)
if write_p2 then
if write_p2 or write_p4 then
vm:set_param2_data(p2data)
end
@ -418,6 +427,13 @@ local function generate(p_minp, p_maxp, seed)
end
vm:update_liquids()
vm:write_to_map()
if true_casket then
vm:update_map()
local meta = minetest.get_meta(true_casket)
local id = meta:set_string('true', 'true')
--print('* True casket at '..minetest.pos_to_string(true_casket))
end
end
-- Deal with memory issues. This, of course, is supposed to be automatic.
@ -435,6 +451,7 @@ dofile(fun_caves.path .. "/cavegen.lua")
dofile(fun_caves.path .. "/cloudgen.lua")
dofile(fun_caves.path .. "/decogen.lua")
dofile(fun_caves.path .. "/fortress.lua")
dofile(fun_caves.path .. "/pyramid.lua")
dofile(fun_caves.path .. "/treegen.lua")
dofile(fun_caves.path .. "/skyseagen.lua")