2022-06-18 05:07:32 +02:00
|
|
|
mcljepc_mapgen = {
|
2022-06-17 04:43:11 +02:00
|
|
|
blocks = {
|
|
|
|
grass = minetest.get_content_id("mcljepc_core:grass"),
|
|
|
|
dirt = minetest.get_content_id("mcljepc_core:cobblestone"),
|
|
|
|
},
|
|
|
|
size = 128,
|
|
|
|
depth = 64
|
|
|
|
}
|
|
|
|
|
2022-06-18 05:07:32 +02:00
|
|
|
local data = {}
|
|
|
|
|
2022-06-17 06:28:21 +02:00
|
|
|
if minetest.get_mapgen_setting('mg_name') ~= "singlenode" then return end
|
2022-06-17 04:43:11 +02:00
|
|
|
|
|
|
|
minetest.register_on_generated(function(minp, maxp, blockseed)
|
2022-06-18 05:07:32 +02:00
|
|
|
local mg = mcljepc_mapgen
|
2022-06-17 04:43:11 +02:00
|
|
|
local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
|
|
|
|
local area = VoxelArea:new{MinEdge = emin, MaxEdge = emax}
|
|
|
|
vm:get_data(data)
|
|
|
|
|
|
|
|
for z = minp.z, maxp.z do
|
|
|
|
for y = minp.y, maxp.y do
|
|
|
|
local posi = area:index(minp.x, y, z)
|
|
|
|
for x = minp.x, maxp.x do
|
|
|
|
if (x >= -mg.size and x <= mg.size) and (z >= -mg.size and z <= mg.size) then
|
|
|
|
if y >= -mg.depth and y <= -1 then
|
|
|
|
data[posi] = mg.blocks.dirt
|
|
|
|
elseif y == 0 then
|
|
|
|
data[posi] = mg.blocks.grass
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
posi = posi + 1
|
|
|
|
end
|
|
|
|
end end
|
|
|
|
|
|
|
|
vm:set_data(data)
|
|
|
|
vm:write_to_map()
|
|
|
|
end)
|