mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-17 00:21:07 +01:00
use swap_node instead of set_node in mapgen, tweaks to end
This commit is contained in:
parent
faf2408681
commit
9ba0337a36
11 changed files with 83 additions and 72 deletions
|
@ -1131,3 +1131,16 @@ if not vector.in_area then
|
||||||
(pos.z >= min.z) and (pos.z <= max.z)
|
(pos.z >= min.z) and (pos.z <= max.z)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if not minetest.bulk_swap_node then -- maybe in 5.10 https://github.com/minetest/minetest/pull/15043
|
||||||
|
minetest.bulk_swap_node = function(pos_list, node)
|
||||||
|
-- for dense and large sets, we could also try a VManip, but often this enough for now
|
||||||
|
local swap_node = minetest.swap_node
|
||||||
|
for _, pos in ipairs(pos_list) do
|
||||||
|
swap_node(pos, node)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- async emerge environment, untested:
|
||||||
|
if minetest.set_node == minetest.swap_node then minetest.bulk_swap_node = minetest.bulk_set_node end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
|
@ -3542,11 +3542,11 @@ local function mangrove_root_gennotify(t, minp, maxp, blockseed)
|
||||||
if minetest.get_item_group(n, "water") > 0 then
|
if minetest.get_item_group(n, "water") > 0 then
|
||||||
local wl = "mcl_mangrove:water_logged_roots"
|
local wl = "mcl_mangrove:water_logged_roots"
|
||||||
if n:find("river") then wl = "mcl_mangrove:river_water_logged_roots" end
|
if n:find("river") then wl = "mcl_mangrove:river_water_logged_roots" end
|
||||||
minetest.bulk_set_node(minetest.find_nodes_in_area(v, vector.offset(v, 0, -l, 0), {"group:water"}), {name = wl})
|
minetest.bulk_swap_node(minetest.find_nodes_in_area(v, vector.offset(v, 0, -l, 0), {"group:water"}), {name = wl})
|
||||||
elseif n == "mcl_mud:mud" then
|
elseif n == "mcl_mud:mud" then
|
||||||
minetest.bulk_set_node(minetest.find_nodes_in_area(v, vector.offset(v, 0, -l, 0), {"mcl_mud:mud"}), {name = "mcl_mangrove:mangrove_mud_roots"})
|
minetest.bulk_swap_node(minetest.find_nodes_in_area(v, vector.offset(v, 0, -l, 0), {"mcl_mud:mud"}), {name = "mcl_mangrove:mangrove_mud_roots"})
|
||||||
elseif n == "air" then
|
elseif n == "air" then
|
||||||
minetest.bulk_set_node(minetest.find_nodes_in_area(v, vector.offset(v, 0, -l, 0), {"air"}), {name = "mcl_mangrove:mangrove_roots"})
|
minetest.bulk_swap_node(minetest.find_nodes_in_area(v, vector.offset(v, 0, -l, 0), {"air"}), {name = "mcl_mangrove:mangrove_roots"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -432,7 +432,7 @@ minetest.register_lbm({
|
||||||
local grass_palette_index = mcl_util.get_palette_indexes_from_pos(pos).grass_palette_index
|
local grass_palette_index = mcl_util.get_palette_indexes_from_pos(pos).grass_palette_index
|
||||||
if node.param2 ~= grass_palette_index then
|
if node.param2 ~= grass_palette_index then
|
||||||
node.param2 = grass_palette_index
|
node.param2 = grass_palette_index
|
||||||
minetest.set_node(pos, node)
|
minetest.swap_node(pos, node)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -451,14 +451,14 @@ minetest.register_lbm({
|
||||||
minetest.place_node(vector.offset(pos, 0, 1, 0), node) -- Offset required, since otherwise the leaves sink one node for some reason.
|
minetest.place_node(vector.offset(pos, 0, 1, 0), node) -- Offset required, since otherwise the leaves sink one node for some reason.
|
||||||
elseif node.param2 ~= foliage_palette_index and node.name ~= "mcl_core:vine" then
|
elseif node.param2 ~= foliage_palette_index and node.name ~= "mcl_core:vine" then
|
||||||
node.param2 = foliage_palette_index
|
node.param2 = foliage_palette_index
|
||||||
minetest.set_node(pos, node)
|
minetest.swap_node(pos, node)
|
||||||
elseif node.name == "mcl_core:vine" then
|
elseif node.name == "mcl_core:vine" then
|
||||||
local biome_param2 = foliage_palette_index
|
local biome_param2 = foliage_palette_index
|
||||||
local rotation_param2 = mcl_util.get_colorwallmounted_rotation(pos)
|
local rotation_param2 = mcl_util.get_colorwallmounted_rotation(pos)
|
||||||
local final_param2 = (biome_param2 * 8) + rotation_param2
|
local final_param2 = (biome_param2 * 8) + rotation_param2
|
||||||
if node.param2 ~= final_param2 then
|
if node.param2 ~= final_param2 then
|
||||||
node.param2 = final_param2
|
node.param2 = final_param2
|
||||||
minetest.set_node(pos, node)
|
minetest.swap_node(pos, node)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -473,7 +473,7 @@ minetest.register_lbm({
|
||||||
local water_palette_index = mcl_util.get_palette_indexes_from_pos(pos).water_palette_index
|
local water_palette_index = mcl_util.get_palette_indexes_from_pos(pos).water_palette_index
|
||||||
if node.param2 ~= water_palette_index then
|
if node.param2 ~= water_palette_index then
|
||||||
node.param2 = water_palette_index
|
node.param2 = water_palette_index
|
||||||
minetest.set_node(pos, node)
|
minetest.swap_node(pos, node)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -486,7 +486,7 @@ minetest.register_lbm({
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
if node.param2 ~= 3 then
|
if node.param2 ~= 3 then
|
||||||
node.param2 = 3
|
node.param2 = 3
|
||||||
minetest.set_node(pos, node)
|
minetest.swap_node(pos, node)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -503,14 +503,14 @@ local function fix_foliage_missed(minp, maxp, blockseed)
|
||||||
local foliage_palette_index = mcl_util.get_palette_indexes_from_pos(fpos).foliage_palette_index
|
local foliage_palette_index = mcl_util.get_palette_indexes_from_pos(fpos).foliage_palette_index
|
||||||
if fnode.param2 ~= foliage_palette_index and fnode.name ~= "mcl_core:vine" then
|
if fnode.param2 ~= foliage_palette_index and fnode.name ~= "mcl_core:vine" then
|
||||||
fnode.param2 = foliage_palette_index
|
fnode.param2 = foliage_palette_index
|
||||||
minetest.set_node(fpos, fnode)
|
minetest.swap_node(fpos, fnode)
|
||||||
elseif fnode.name == "mcl_core:vine" then
|
elseif fnode.name == "mcl_core:vine" then
|
||||||
local biome_param2 = foliage_palette_index
|
local biome_param2 = foliage_palette_index
|
||||||
local rotation_param2 = mcl_util.get_colorwallmounted_rotation(fpos)
|
local rotation_param2 = mcl_util.get_colorwallmounted_rotation(fpos)
|
||||||
local final_param2 = (biome_param2 * 8) + rotation_param2
|
local final_param2 = (biome_param2 * 8) + rotation_param2
|
||||||
if fnode.param2 ~= final_param2 then
|
if fnode.param2 ~= final_param2 then
|
||||||
fnode.param2 = final_param2
|
fnode.param2 = final_param2
|
||||||
minetest.set_node(fpos, fnode)
|
minetest.swap_node(fpos, fnode)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -570,7 +570,7 @@ local function generate_mgv6_structures()
|
||||||
local function place_tree_if_free(pos, prev_result)
|
local function place_tree_if_free(pos, prev_result)
|
||||||
local nn = minetest.get_node(pos).name
|
local nn = minetest.get_node(pos).name
|
||||||
if nn == "mcl_flowers:waterlily" or nn == "mcl_core:water_source" or nn == "mcl_core:water_flowing" or nn == "air" then
|
if nn == "mcl_flowers:waterlily" or nn == "mcl_core:water_source" or nn == "mcl_core:water_flowing" or nn == "air" then
|
||||||
minetest.set_node(pos, {name="mcl_core:tree", param2=0})
|
minetest.swap_node(pos, {name="mcl_core:tree", param2=0})
|
||||||
return prev_result
|
return prev_result
|
||||||
else
|
else
|
||||||
return false
|
return false
|
||||||
|
@ -676,9 +676,9 @@ local function generate_underground_mushrooms(minp, maxp, seed)
|
||||||
local l = minetest.get_node_light(bpos, 0.5)
|
local l = minetest.get_node_light(bpos, 0.5)
|
||||||
if bpos.y >= min and bpos.y <= max and l and l <= 12 and pr_shroom:next(1,1000) < 4 then
|
if bpos.y >= min and bpos.y <= max and l and l <= 12 and pr_shroom:next(1,1000) < 4 then
|
||||||
if pr_shroom:next(1,2) == 1 then
|
if pr_shroom:next(1,2) == 1 then
|
||||||
minetest.set_node(bpos, {name = "mcl_mushrooms:mushroom_brown"})
|
minetest.swap_node(bpos, {name = "mcl_mushrooms:mushroom_brown"})
|
||||||
else
|
else
|
||||||
minetest.set_node(bpos, {name = "mcl_mushrooms:mushroom_red"})
|
minetest.swap_node(bpos, {name = "mcl_mushrooms:mushroom_red"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -715,14 +715,14 @@ local function generate_nether_decorations(minp, maxp, seed)
|
||||||
special_deco(rack, function(bpos)
|
special_deco(rack, function(bpos)
|
||||||
-- Eternal fire on netherrack
|
-- Eternal fire on netherrack
|
||||||
if pr_nether:next(1,100) <= 3 then
|
if pr_nether:next(1,100) <= 3 then
|
||||||
minetest.set_node(bpos, {name = "mcl_fire:eternal_fire"})
|
minetest.swap_node(bpos, {name = "mcl_fire:eternal_fire"})
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- Eternal fire on magma cubes
|
-- Eternal fire on magma cubes
|
||||||
special_deco(magma, function(bpos)
|
special_deco(magma, function(bpos)
|
||||||
if pr_nether:next(1,150) == 1 then
|
if pr_nether:next(1,150) == 1 then
|
||||||
minetest.set_node(bpos, {name = "mcl_fire:eternal_fire"})
|
minetest.swap_node(bpos, {name = "mcl_fire:eternal_fire"})
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
@ -733,9 +733,9 @@ local function generate_nether_decorations(minp, maxp, seed)
|
||||||
if bpos.y > mcl_vars.mg_lava_nether_max + 6 and l and l <= 12 and pr_nether:next(1,1000) <= 4 then
|
if bpos.y > mcl_vars.mg_lava_nether_max + 6 and l and l <= 12 and pr_nether:next(1,1000) <= 4 then
|
||||||
-- TODO: Make mushrooms appear in groups, use Perlin noise
|
-- TODO: Make mushrooms appear in groups, use Perlin noise
|
||||||
if pr_nether:next(1,2) == 1 then
|
if pr_nether:next(1,2) == 1 then
|
||||||
minetest.set_node(bpos, {name = "mcl_mushrooms:mushroom_brown"})
|
minetest.swap_node(bpos, {name = "mcl_mushrooms:mushroom_brown"})
|
||||||
else
|
else
|
||||||
minetest.set_node(bpos, {name = "mcl_mushrooms:mushroom_red"})
|
minetest.swap_node(bpos, {name = "mcl_mushrooms:mushroom_red"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
@ -744,7 +744,7 @@ local function generate_nether_decorations(minp, maxp, seed)
|
||||||
-- TODO: Spawn in Nether fortresses
|
-- TODO: Spawn in Nether fortresses
|
||||||
special_deco(ssand, function(bpos)
|
special_deco(ssand, function(bpos)
|
||||||
if pr_nether:next(1, nether_wart_chance) == 1 then
|
if pr_nether:next(1, nether_wart_chance) == 1 then
|
||||||
minetest.set_node(bpos, {name = "mcl_nether:nether_wart"})
|
minetest.swap_node(bpos, {name = "mcl_nether:nether_wart"})
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
|
@ -50,7 +50,7 @@ vl_structures.register_structure("nether_bridge",{
|
||||||
table.insert(bricks,leg)
|
table.insert(bricks,leg)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(bricks, {name = "mcl_nether:nether_brick", param2 = 2})
|
minetest.bulk_swap_node(bricks, {name = "mcl_nether:nether_brick", param2 = 2})
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ vl_structures.register_structure("nether_outpost_with_bridges",{
|
||||||
table.insert(bricks,leg)
|
table.insert(bricks,leg)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(bricks, {name = "mcl_nether:nether_brick", param2 = 2})
|
minetest.bulk_swap_node(bricks, {name = "mcl_nether:nether_brick", param2 = 2})
|
||||||
|
|
||||||
local p1, p2 = vector.offset(pos,-45,12,-45), vector.offset(pos,45,22,45)
|
local p1, p2 = vector.offset(pos,-45,12,-45), vector.offset(pos,45,22,45)
|
||||||
vl_structures.spawn_mobs("mobs_mc:witherskeleton",{"mcl_blackstone:blackstone_chiseled_polished"},p1,p2,pr,5)
|
vl_structures.spawn_mobs("mobs_mc:witherskeleton",{"mcl_blackstone:blackstone_chiseled_polished"},p1,p2,pr,5)
|
||||||
|
|
|
@ -14,9 +14,9 @@ mcl_structures.spawn_end_gateway_portal = function(pos)
|
||||||
vl_structures.place_schematic(pos, 0, schematic, "0", { name="end_gateway_portal", prepare = false })
|
vl_structures.place_schematic(pos, 0, schematic, "0", { name="end_gateway_portal", prepare = false })
|
||||||
end
|
end
|
||||||
|
|
||||||
local function make_endspike(pos, width, height)
|
local function make_endspike(pos, rad, height)
|
||||||
-- FIXME: why find_nodes, not just use the circle?
|
-- FIXME: why find_nodes, not just use the circle?
|
||||||
local nn = minetest.find_nodes_in_area(vector.offset(pos, -width/2, 0, -width/2), vector.offset(pos, width/2, 0, width/2), {"air", "group:solid"})
|
local nn = minetest.find_nodes_in_area(vector.offset(pos, -rad, 0, -rad), vector.offset(pos, rad, 0, rad), {"air", "group:solid"})
|
||||||
table.sort(nn,function(a, b)
|
table.sort(nn,function(a, b)
|
||||||
return vector.distance(pos, a) < vector.distance(pos, b)
|
return vector.distance(pos, a) < vector.distance(pos, b)
|
||||||
end)
|
end)
|
||||||
|
@ -26,20 +26,21 @@ local function make_endspike(pos, width, height)
|
||||||
table.insert(nodes, vector.offset(nn[i], 0, j, 0))
|
table.insert(nodes, vector.offset(nn[i], 0, j, 0))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(nodes, {name = "mcl_core:obsidian"})
|
minetest.bulk_swap_node(nodes, {name = "mcl_core:obsidian"})
|
||||||
return vector.offset(pos, 0, height, 0)
|
return vector.offset(pos, 0, height, 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
function make_cage(pos, width)
|
function make_cage(pos, rad)
|
||||||
if not xpanes then return end
|
if not xpanes then return end
|
||||||
local nodes = {}
|
local nodes = {}
|
||||||
local r = math.max(1, math.floor(width/2) - 2)
|
local r = math.max(1, rad - 2)
|
||||||
for x=-r,r do for y = 0,width do for z = -r,r do
|
for y = 0, rad * 2 do for xz = -r, r do
|
||||||
if x == r or x == -r or z==r or z == -r then
|
table.insert(nodes,vector.add(pos,vector.new(xz,y, r)))
|
||||||
table.insert(nodes,vector.add(pos,vector.new(x,y,z)))
|
table.insert(nodes,vector.add(pos,vector.new(xz,y,-r)))
|
||||||
end
|
table.insert(nodes,vector.add(pos,vector.new( r,y,xz)))
|
||||||
end end end
|
table.insert(nodes,vector.add(pos,vector.new(-r,y,xz)))
|
||||||
minetest.bulk_set_node(nodes, {name = "xpanes:bar_flat"} )
|
end end
|
||||||
|
minetest.bulk_swap_node(nodes, {name = "xpanes:bar_flat"} )
|
||||||
for _,p in pairs(nodes) do xpanes.update_pane(p) end
|
for _,p in pairs(nodes) do xpanes.update_pane(p) end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -60,35 +61,32 @@ mcl_mapgen_core.register_generator("end structures", nil, function(minp, maxp, b
|
||||||
if vector.in_area(pos, minp, maxp) then
|
if vector.in_area(pos, minp, maxp) then
|
||||||
local obby = minetest.find_nodes_in_area(vector.offset(pos,-2,0,-2),vector.offset(pos,2,0,2),{"air","mcl_end:end_stone"})
|
local obby = minetest.find_nodes_in_area(vector.offset(pos,-2,0,-2),vector.offset(pos,2,0,2),{"air","mcl_end:end_stone"})
|
||||||
local air = minetest.find_nodes_in_area(vector.offset(pos,-2,1,-2),vector.offset(pos,2,3,2),{"air","mcl_end:end_stone"})
|
local air = minetest.find_nodes_in_area(vector.offset(pos,-2,1,-2),vector.offset(pos,2,3,2),{"air","mcl_end:end_stone"})
|
||||||
minetest.bulk_set_node(obby,{name="mcl_core:obsidian"})
|
minetest.bulk_swap_node(obby,{name="mcl_core:obsidian"})
|
||||||
minetest.bulk_set_node(air,{name="air"})
|
minetest.bulk_swap_node(air,{name="air"})
|
||||||
end
|
end
|
||||||
-- end exit portal and pillars
|
-- end exit portal and pillars
|
||||||
local pos = mcl_vars.mg_end_exit_portal_pos
|
local pos = mcl_vars.mg_end_exit_portal_pos
|
||||||
if vector.in_area(pos, minp, maxp) then
|
if vector.in_area(pos, minp, maxp) then
|
||||||
pr = PcgRandom(worldseed)
|
local pr = PcgRandom(worldseed)
|
||||||
-- emerge pillars
|
-- emerge pillars
|
||||||
for _, pos in ipairs(get_points_on_circle(vector.offset(mcl_vars.mg_end_exit_portal_pos, 0, -20, 0), 43, 10)) do
|
local p1, p2 = vector.offset(pos, -43-6, -10, -43-6), vector.offset(pos, 43+6, 12*6-10, 43+6)
|
||||||
local d = pr:next(6,12)
|
|
||||||
local h = d * pr:next(4,6)
|
|
||||||
local p1, p2 = vector.offset(pos, -d / 2, 0, -d / 2), vector.offset(pos, d / 2, h + d, d / 2)
|
|
||||||
minetest.emerge_area(p1, p2, function(_, _, calls_remaining)
|
minetest.emerge_area(p1, p2, function(_, _, calls_remaining)
|
||||||
if calls_remaining ~= 0 then return end
|
if calls_remaining ~= 0 then return end
|
||||||
local s = make_endspike(pos,d,h)
|
for _, p in ipairs(get_points_on_circle(vector.offset(pos, 0, -10, 0), 43, 10)) do
|
||||||
minetest.set_node(vector.offset(s,0,1,0),{name="mcl_core:bedrock"})
|
local rad = pr:next(3,6)
|
||||||
minetest.add_entity(vector.offset(s,0,2,0),"mcl_end:crystal")
|
local top = make_endspike(p, rad, rad * 2 * pr:next(4,6) - 10)
|
||||||
if pr:next(1,3) == 1 then
|
minetest.swap_node(vector.offset(top, 0, 1, 0), {name = "mcl_core:bedrock"})
|
||||||
make_cage(vector.offset(s,0,1,0),d)
|
minetest.add_entity(vector.offset(top, 0, 2, 0), "mcl_end:crystal")
|
||||||
|
if pr:next(1, 3) == 1 then make_cage(vector.offset(top, 0, 1, 0), rad) end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
|
||||||
-- emerge end portal
|
-- emerge end portal
|
||||||
local schematic = vl_structures.load_schematic(modpath.."/schematics/mcl_structures_end_exit_portal.mts")
|
local schematic = vl_structures.load_schematic(modpath.."/schematics/mcl_structures_end_exit_portal.mts")
|
||||||
vl_structures.place_schematic(pos, 0, schematic, "0", { name = "end portal", prepare = false,
|
vl_structures.place_schematic(pos, 0, schematic, "0", { name = "end portal", prepare = false,
|
||||||
after_place = function(pos,def,pr,pmin,pmax,size,rot)
|
after_place = function(pos,def,pr,pmin,pmax,size,rot)
|
||||||
-- spawn ender dragon
|
-- spawn ender dragon
|
||||||
if minetest.settings:get_bool("only_peaceful_mobs", false) then return end
|
if minetest.settings:get_bool("only_peaceful_mobs", false) then return end
|
||||||
minetest.bulk_set_node(minetest.find_nodes_in_area(pmin, pmax, {"mcl_portals:portal_end"}), { name="air" })
|
minetest.bulk_swap_node(minetest.find_nodes_in_area(pmin, pmax, {"mcl_portals:portal_end"}), { name="air" })
|
||||||
local obj = minetest.add_entity(vector.offset(pos, 3, 11, 3), "mobs_mc:enderdragon")
|
local obj = minetest.add_entity(vector.offset(pos, 3, 11, 3), "mobs_mc:enderdragon")
|
||||||
if obj then
|
if obj then
|
||||||
local dragon_entity = obj:get_luaentity()
|
local dragon_entity = obj:get_luaentity()
|
||||||
|
|
|
@ -33,14 +33,14 @@ local def = {
|
||||||
local rack = minetest.find_nodes_in_area(p1,p2,{"mcl_nether:netherrack"})
|
local rack = minetest.find_nodes_in_area(p1,p2,{"mcl_nether:netherrack"})
|
||||||
local brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"})
|
local brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"})
|
||||||
local obby = minetest.find_nodes_in_area(p1,p2,{"mcl_core:obsidian"})
|
local obby = minetest.find_nodes_in_area(p1,p2,{"mcl_core:obsidian"})
|
||||||
minetest.bulk_set_node(get_replacements(gold,30,pr),{name="air"})
|
minetest.bulk_swap_node(get_replacements(gold,30,pr),{name="air"})
|
||||||
minetest.bulk_set_node(get_replacements(lava,20,pr),{name="mcl_nether:magma"})
|
minetest.bulk_swap_node(get_replacements(lava,20,pr),{name="mcl_nether:magma"})
|
||||||
minetest.bulk_set_node(get_replacements(rack,7,pr),{name="mcl_nether:magma"})
|
minetest.bulk_swap_node(get_replacements(rack,7,pr),{name="mcl_nether:magma"})
|
||||||
minetest.bulk_set_node(get_replacements(obby,30,pr),{name="mcl_core:crying_obsidian"})
|
minetest.bulk_swap_node(get_replacements(obby,30,pr),{name="mcl_core:crying_obsidian"})
|
||||||
minetest.bulk_set_node(get_replacements(obby,10,pr),{name="air"})
|
minetest.bulk_swap_node(get_replacements(obby,10,pr),{name="air"})
|
||||||
minetest.bulk_set_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickcracked"})
|
minetest.bulk_swap_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickcracked"})
|
||||||
brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"})
|
brick = minetest.find_nodes_in_area(p1,p2,{"mcl_core:stonebrick"})
|
||||||
minetest.bulk_set_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickmossy"})
|
minetest.bulk_swap_node(get_replacements(brick,50,pr),{name="mcl_core:stonebrickmossy"})
|
||||||
end,
|
end,
|
||||||
loot = {
|
loot = {
|
||||||
["mcl_chests:chest_small" ] ={{
|
["mcl_chests:chest_small" ] ={{
|
||||||
|
|
|
@ -40,7 +40,7 @@ local function hut_placement_callback(pos,def,pr,p1,p2)
|
||||||
table.insert(tree,leg)
|
table.insert(tree,leg)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(tree, {name = "mcl_core:tree", param2 = 2})
|
minetest.bulk_swap_node(tree, {name = "mcl_core:tree", param2 = 2})
|
||||||
spawn_witch(p1,p2)
|
spawn_witch(p1,p2)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -33,8 +33,8 @@ local function makelake(pos,size,liquid,placein,border,pr,noair)
|
||||||
airtower(nn[i],air,20)
|
airtower(nn[i],air,20)
|
||||||
table.insert(lq,nn[i])
|
table.insert(lq,nn[i])
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(lq,{name=liquid})
|
minetest.bulk_swap_node(lq,{name=liquid})
|
||||||
minetest.bulk_set_node(air,{name="air"})
|
minetest.bulk_swap_node(air,{name="air"})
|
||||||
air = {}
|
air = {}
|
||||||
local br = {}
|
local br = {}
|
||||||
for k,v in pairs(lq) do
|
for k,v in pairs(lq) do
|
||||||
|
@ -61,8 +61,8 @@ local function makelake(pos,size,liquid,placein,border,pr,noair)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(br,{name=border})
|
minetest.bulk_swap_node(br,{name=border})
|
||||||
minetest.bulk_set_node(air,{name="air"})
|
minetest.bulk_swap_node(air,{name="air"})
|
||||||
return true
|
return true
|
||||||
end)
|
end)
|
||||||
return true
|
return true
|
||||||
|
@ -258,8 +258,8 @@ vl_structures.register_structure("basalt_column",{
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(magma,{name="mcl_nether:magma"})
|
minetest.bulk_swap_node(magma,{name="mcl_nether:magma"})
|
||||||
minetest.bulk_set_node(basalt,{name="mcl_blackstone:basalt"})
|
minetest.bulk_swap_node(basalt,{name="mcl_blackstone:basalt"})
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -299,8 +299,8 @@ vl_structures.register_structure("basalt_pillar",{
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(basalt,{name="mcl_blackstone:basalt"})
|
minetest.bulk_swap_node(basalt,{name="mcl_blackstone:basalt"})
|
||||||
minetest.bulk_set_node(magma,{name="mcl_nether:magma"})
|
minetest.bulk_swap_node(magma,{name="mcl_nether:magma"})
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -333,7 +333,7 @@ vl_structures.register_structure("lavadelta",{
|
||||||
for i=1,pr:next(1,#nn) do
|
for i=1,pr:next(1,#nn) do
|
||||||
table.insert(lava,nn[i])
|
table.insert(lava,nn[i])
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(lava,{name="mcl_nether:nether_lava_source"})
|
minetest.bulk_swap_node(lava,{name="mcl_nether:nether_lava_source"})
|
||||||
local basalt = {}
|
local basalt = {}
|
||||||
local magma = {}
|
local magma = {}
|
||||||
for _,v in pairs(lava) do
|
for _,v in pairs(lava) do
|
||||||
|
@ -348,8 +348,8 @@ vl_structures.register_structure("lavadelta",{
|
||||||
table.insert(magma,v)
|
table.insert(magma,v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(basalt,{name="mcl_blackstone:basalt"})
|
minetest.bulk_swap_node(basalt,{name="mcl_blackstone:basalt"})
|
||||||
minetest.bulk_set_node(magma,{name="mcl_nether:magma"})
|
minetest.bulk_swap_node(magma,{name="mcl_nether:magma"})
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
|
@ -14,7 +14,7 @@ local path_ends = {}
|
||||||
function mcl_villages.clean_no_paths(minp, maxp)
|
function mcl_villages.clean_no_paths(minp, maxp)
|
||||||
local no_paths_nodes = minetest.find_nodes_in_area(minp, maxp, { "mcl_villages:no_paths" })
|
local no_paths_nodes = minetest.find_nodes_in_area(minp, maxp, { "mcl_villages:no_paths" })
|
||||||
if #no_paths_nodes > 0 then
|
if #no_paths_nodes > 0 then
|
||||||
minetest.bulk_set_node(no_paths_nodes, { name = "air" })
|
minetest.bulk_swap_node(no_paths_nodes, { name = "air" })
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -378,8 +378,8 @@ local function Platform(p, radius, node, node2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.bulk_set_node(n1,node)
|
minetest.bulk_swap_node(n1,node)
|
||||||
minetest.bulk_set_node(n2,node2)
|
minetest.bulk_swap_node(n2,node2)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Chests
|
-- Chests
|
||||||
|
|
Loading…
Reference in a new issue