KaylebJay
2020-06-27 00618d13b5b17c7fd93f097397410dee5905ccd1
Drill and laser: call node-specific on_dig (#556)

This properly digs nodes that have a custom on_dig function specified. For normal nodes, the behaviour is kept the same.
2 files modified
6 ■■■■■ changed files
technic/tools/mining_drill.lua 4 ●●● patch | view | raw | blame | history
technic/tools/mining_lasers.lua 2 ●●● patch | view | raw | blame | history
technic/tools/mining_drill.lua
@@ -57,7 +57,9 @@
    if node.name == "default:lava_flowing" then return end
    if node.name == "default:water_source" then minetest.remove_node(pos) return end
    if node.name == "default:water_flowing" then minetest.remove_node(pos) return end
    minetest.node_dig(pos,node,player)
    local def = minetest.registered_nodes[node.name]
    if not def then return end
    def.on_dig(pos, node, player)
end
local function drill_dig_it1 (player)
technic/tools/mining_lasers.lua
@@ -46,7 +46,7 @@
        })
        return
    end
    minetest.node_dig(pos, node, player)
    def.on_dig(pos, node, player)
end
local keep_node = {air = true}