| | |
| | | on_use = function(itemstack, user, pointed_thing) |
| | | if pointed_thing.type=="node" then |
| | | item=itemstack:to_table() |
| | | local charge=tonumber((item["wear"])) |
| | | if charge ==0 then charge =65535 end |
| | | if charge ==65535 then charge =1 end |
| | | charge=get_RE_item_load(charge,laser_mk1_max_charge) |
| | | if charge-400>0 then |
| | | if item["metadata"]=="" or item["metadata"]=="0" then return end --tool not charged |
| | | charge=tonumber(item["metadata"]) |
| | | if charge-200>0 then |
| | | drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user) |
| | | charge =charge-400; |
| | | charge=set_RE_item_load(charge,laser_mk1_max_charge) |
| | | item["wear"]=tostring(charge) |
| | | charge =charge-200; |
| | | item["metadata"]=tostring(charge) |
| | | set_RE_wear(item,charge,mining_drill_max_charge) |
| | | itemstack:replace(item) |
| | | end |
| | | return itemstack |
| | |
| | | |
| | | function drill_dig_it (pos, player) |
| | | local node=minetest.env:get_node(pos) |
| | | if node.name == "air" then return end |
| | | if node.name == "air" or node.name == "ignore" then return end |
| | | if node.name == "default:lava_source" then return end |
| | | if node.name == "default:lava_flowing" then return end |
| | | if node.name == "default:water_source" then minetest.env:remove_node(pos) return end |
| | | if node.name == "default:water_flowing" then minetest.env:remove_node(pos) return end |
| | | if node.name == "ignore" then minetest.env:remove_node(pos) return end |
| | | |
| | | if player then |
| | | local drops = minetest.get_node_drops(node.name, "default:pick_mese") |
| | | if player:get_inventory() then |
| | | local _, dropped_item |
| | | for _, dropped_item in ipairs(drops) do |
| | | player:get_inventory():add_item("main", dropped_item) |
| | | end |
| | | end |
| | | minetest.env:remove_node(pos) |
| | | end |
| | | minetest.sound_play("mining_drill", {pos = pos, gain = 1.0, max_hear_distance = 10,}) |
| | | minetest.node_dig(pos,node,player) |
| | | |
| | | end |