mirror of
https://github.com/mt-mods/plantlife_modpack.git
synced 2025-06-28 14:16:11 +02:00
use swap_node() where possible, for speed
This commit is contained in:
@ -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
|
||||
})
|
||||
|
@ -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 )
|
||||
|
Reference in New Issue
Block a user