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.
| | |
| | | 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) |
| | |
| | | }) |
| | | return |
| | | end |
| | | minetest.node_dig(pos, node, player) |
| | | def.on_dig(pos, node, player) |
| | | end |
| | | |
| | | local keep_node = {air = true} |