I am trying to remove generated world below some level (-7000 for example).
Code: Select all
local c_ignore = minetest.get_content_id("ignore")
local c_air = minetest.get_content_id("air")
minetest.register_on_generated(function(minp, maxp, blockseed)
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
local data = vm:get_data()
local area = VoxelArea:new({MinEdge=emin, MaxEdge=emax})
if (minp.y>=-8000) and (minp.y<=-7000)
and (maxp.y>=-8000) and (maxp.y<=-7000) then
for i in area:iter(minp.x, minp.y, minp.z, maxp.x, maxp.y, maxp.z) do
data[i] = c_air;
end
vm:set_data(data)
vm:set_lighting({day=15, night=0})
vm:write_to_map()
end
end)
It looks similar when v6 mapgen is used.
So, it looks like mapgens generate lava/water after on_generate function is called.
Can be this behaviour fixed by same way?