RealBadAngel
2013-02-01 061e6bbadc89a4e4be2818a691436f8144327cf1
commit | author | age
82cba9 1 mining_drill_max_charge=60000
R 2
3 minetest.register_tool("technic:mining_drill", {
4     description = "Mining Drill",
5     inventory_image = "technic_mining_drill.png",
6     stack_max = 1,
7     on_use = function(itemstack, user, pointed_thing)
8         if pointed_thing.type=="node" then 
9         item=itemstack:to_table()
10         if item["metadata"]=="" or item["metadata"]=="0" then return end --tool not charged 
11         charge=tonumber(item["metadata"]) 
12         if charge-200>0 then
13          drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user)
14          charge =charge-200;    
15         item["metadata"]=tostring(charge)
16         set_RE_wear(item,charge,mining_drill_max_charge)
17         itemstack:replace(item)
18         end
19         return itemstack
20         end
21     end,
22 })
23
24 minetest.register_craft({
25     output = 'technic:mining_drill',
26     recipe = {
27         {'technic:stainless_steel_ingot', 'technic:diamond_drill_head', 'technic:stainless_steel_ingot'},
28         {'technic:stainless_steel_ingot', 'technic:motor', 'technic:stainless_steel_ingot'},
29         {'', 'technic:red_energy_crystal', 'moreores:copper_ingot'},
30     }
31 })
32
33
34
35
36
37
38 function drill_dig_it (pos, player)        
39     local node=minetest.env:get_node(pos)
40     if node.name == "air" or node.name == "ignore" then return end
41     if node.name == "default:lava_source" then return end
42     if node.name == "default:lava_flowing" then return end
43     if node.name == "default:water_source" then minetest.env:remove_node(pos) return end
44     if node.name == "default:water_flowing" then minetest.env:remove_node(pos) return end
45
46     minetest.sound_play("mining_drill", {pos = pos, gain = 1.0, max_hear_distance = 10,})
47     minetest.node_dig(pos,node,player)
48
49 end