forked from VoxeLibre/VoxeLibre
Check node_replaceable after dig_by_piston
Allows tallgrass, nether vines etc to drop
This commit is contained in:
parent
e5829f719d
commit
98cf3b7f7a
|
@ -141,21 +141,19 @@ function mesecon.mvps_get_stack(pos, dir, maximum, piston_pos)
|
|||
return
|
||||
end
|
||||
|
||||
if not node_replaceable(nn.name) then
|
||||
if minetest.get_item_group(nn.name, "dig_by_piston") == 1 then
|
||||
-- if we want the node to drop, e.g. sugar cane, do not count towards push limit
|
||||
table.insert(dig_nodes, {node = nn, pos = {x=np.x, y=np.y, z=np.z}})
|
||||
else
|
||||
if not node_replaceable(nn.name) then
|
||||
table.insert(nodes, {node = nn, pos = {x=np.x, y=np.y, z=np.z}})
|
||||
if #nodes > maximum then return nil, nil, false, true end
|
||||
end
|
||||
|
||||
-- add connected nodes to frontiers, connected is a vector list
|
||||
-- the vectors must be absolute positions
|
||||
local connected = {}
|
||||
local has_loop
|
||||
if minetest.registered_nodes[nn.name]
|
||||
and minetest.registered_nodes[nn.name].mvps_sticky then
|
||||
if minetest.registered_nodes[nn.name] and minetest.registered_nodes[nn.name].mvps_sticky then
|
||||
connected, has_loop = minetest.registered_nodes[nn.name].mvps_sticky(np, nn, piston_pos)
|
||||
if has_loop then
|
||||
return {}, {}, true, false
|
||||
|
@ -182,6 +180,7 @@ function mesecon.mvps_get_stack(pos, dir, maximum, piston_pos)
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
table.remove(frontiers, 1)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue