use swap_node() where possible, for speed

This commit is contained in:
Vanessa Dannenberg
2018-10-25 10:27:54 -04:00
parent 2c7a776c7f
commit 77093e428a
22 changed files with 156 additions and 156 deletions

View File

@ -51,8 +51,8 @@ vines.register_vine = function( name, defs, biome )
local bottom_node = minetest.get_node( bottom )
if bottom_node.name == "air" then
if not ( math.random( defs.average_length ) == 1 ) then
minetest.set_node( pos, { name = vine_name_middle, param2 = node.param2 } )
minetest.set_node( bottom, { name = node.name, param2 = node.param2 } )
minetest.swap_node( pos, { name = vine_name_middle, param2 = node.param2 } )
minetest.swap_node( bottom, { name = node.name, param2 = node.param2 } )
local timer = minetest.get_node_timer( bottom_node )
timer:start( math.random(5, 10) )
end
@ -83,7 +83,7 @@ vines.register_vine = function( name, defs, biome )
local bottom = {x=pos.x, y=pos.y-1, z=pos.z}
local bottom_node = minetest.get_node( bottom )
if minetest.get_item_group( bottom_node.name, "vines") > 0 then
minetest.after( 0, minetest.remove_node, bottom )
minetest.after( 0, minetest.swap_node, bottom, biome_lib.air )
end
end,
after_dig_node = function( pos, node, oldmetadata, user )
@ -112,7 +112,7 @@ vines.register_vine = function( name, defs, biome )
local pos_max = { x = pos.x +1, y = pos.y + 1, z = pos.z + 1 }
local positions = minetest.find_nodes_in_area( pos_min, pos_max, "group:vines" )
for index, position in pairs(positions) do
minetest.remove_node( position )
minetest.swap_node(position, biome_lib.air)
end
end
})

View File

@ -25,7 +25,7 @@ minetest.register_node("vines:rope_block", {
local p = {x=pos.x, y=pos.y-1, z=pos.z}
local n = minetest.get_node(p)
while ( n.name == 'vines:rope' or n.name == 'vines:rope_end' ) do
minetest.remove_node(p)
minetest.swap_node(p, biome_lib.air)
p = {x=p.x, y=p.y-1, z=p.z}
n = minetest.get_node(p)
end
@ -76,7 +76,7 @@ minetest.register_node("vines:rope_end", {
local p = {x=pos.x, y=pos.y-1, z=pos.z}
local n = minetest.get_node(p)
if n.name == "air" then
minetest.set_node(pos, {name="vines:rope"})
minetest.swap_node(pos, {name="vines:rope"})
minetest.add_node(p, {name="vines:rope_end"})
else
local timer = minetest.get_node_timer( pos )