forked from VoxeLibre/VoxeLibre
emerge before geode and surface pool placement
otherwise they can be cut off
This commit is contained in:
parent
ef14006f15
commit
6ad00e4170
|
@ -17,6 +17,8 @@ local function makegeode(pos,def,pr)
|
||||||
local size = pr:next(5,7)
|
local size = pr:next(5,7)
|
||||||
local p1 = vector.offset(pos,-size,-size,-size)
|
local p1 = vector.offset(pos,-size,-size,-size)
|
||||||
local p2 = vector.offset(pos,size,size,size)
|
local p2 = vector.offset(pos,size,size,size)
|
||||||
|
minetest.emerge_area(p1, p2, function(blockpos, action, calls_remaining, param)
|
||||||
|
if calls_remaining ~= 0 then return end
|
||||||
local calcite = {}
|
local calcite = {}
|
||||||
local nn = minetest.find_nodes_in_area(p1,p2,{"group:material_stone"})
|
local nn = minetest.find_nodes_in_area(p1,p2,{"group:material_stone"})
|
||||||
table.sort(nn,function(a, b)
|
table.sort(nn,function(a, b)
|
||||||
|
@ -62,6 +64,8 @@ local function makegeode(pos,def,pr)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
|
end)
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
mcl_structures.register_structure("geode",{
|
mcl_structures.register_structure("geode",{
|
||||||
|
|
|
@ -33,6 +33,8 @@ local function makelake(pos,size,liquid,placein,border,pr)
|
||||||
local node_under = minetest.get_node(vector.offset(pos,0,-1,0))
|
local node_under = minetest.get_node(vector.offset(pos,0,-1,0))
|
||||||
local p1 = vector.offset(pos,-size,-1,-size)
|
local p1 = vector.offset(pos,-size,-1,-size)
|
||||||
local p2 = vector.offset(pos,size,-1,size)
|
local p2 = vector.offset(pos,size,-1,size)
|
||||||
|
minetest.emerge_area(p1, p2, function(blockpos, action, calls_remaining, param)
|
||||||
|
if calls_remaining ~= 0 then return end
|
||||||
local nn = minetest.find_nodes_in_area(p1,p2,placein)
|
local nn = minetest.find_nodes_in_area(p1,p2,placein)
|
||||||
table.sort(nn,function(a, b)
|
table.sort(nn,function(a, b)
|
||||||
return vector.distance(vector.new(pos.x,0,pos.z), a) < vector.distance(vector.new(pos.x,0,pos.z), b)
|
return vector.distance(vector.new(pos.x,0,pos.z), a) < vector.distance(vector.new(pos.x,0,pos.z), b)
|
||||||
|
@ -79,6 +81,8 @@ local function makelake(pos,size,liquid,placein,border,pr)
|
||||||
minetest.bulk_set_node(br,{name=border})
|
minetest.bulk_set_node(br,{name=border})
|
||||||
minetest.bulk_set_node(air,{name="air"})
|
minetest.bulk_set_node(air,{name="air"})
|
||||||
return true
|
return true
|
||||||
|
end)
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
mcl_structures.register_structure("lavapool",{
|
mcl_structures.register_structure("lavapool",{
|
||||||
|
|
Loading…
Reference in New Issue