RealBadAngel
2013-01-27 704a410fa1391318766927c8baa8a93b0731e7d0
commit | author | age
80b5f3 1  minetest.register_tool("technic:screwdriver", {
0e58a6 2             description = "Screwdriver",
MK 3             inventory_image = "technic_screwdriver.png",
4             on_use = function(itemstack, user, pointed_thing)
5                     -- Must be pointing to facedir applicable node
6                     if pointed_thing.type~="node" then return end
80b5f3 7                     local pos=minetest.get_pointed_thing_position(pointed_thing,above)
MK 8                     local node=minetest.env:get_node(pos)
9                     local node_name=node.name
10                         if minetest.registered_nodes[node_name].paramtype2 == "facedir" or minetest.registered_nodes[node_name].paramtype2 == "wallmounted" then
11                     if node.param2==nil  then return end
12                     -- Get ready to set the param2
0e58a6 13                     local n = node.param2
80b5f3 14                                         if minetest.registered_nodes[node_name].paramtype2 == "facedir" then
0e58a6 15                     n = n+1
MK 16                     if n == 4 then n = 0 end
80b5f3 17                                         else
MK 18                                         n = n+1
19                                         if n == 6 then n = 0 end
20                                         end
0e58a6 21                     -- hacky_swap_node, unforunatly.
MK 22                     local meta = minetest.env:get_meta(pos)
23                     local meta0 = meta:to_table()
24                     node.param2 = n
80b5f3 25                     minetest.env:set_node(pos,node)
0e58a6 26                     meta = minetest.env:get_meta(pos)
MK 27                     meta:from_table(meta0)
80b5f3 28                     local item=itemstack:to_table()
MK 29                     local item_wear=tonumber((item["wear"]))
30                     item_wear=item_wear+819
31                     if item_wear>65535 then itemstack:clear() return itemstack end
32                     item["wear"]=tostring(item_wear)
33                     itemstack:replace(item)
34                     return itemstack
35                         else
36                         return itemstack
37                         end
38             end,
0e58a6 39     })
80b5f3 40     
0e58a6 41     minetest.register_craft({
MK 42             output = "technic:screwdriver",
43             recipe = {
44                     {"technic:stainless_steel_ingot"},
45                     {"default:stick"}
46             }
47     })