From 4c2d734798e4a031dbc3b6c3d2fa8c196ca69fd2 Mon Sep 17 00:00:00 2001
From: RealBadAngel <mk@realbadangel.pl>
Date: Tue, 06 Nov 2012 23:45:42 +0100
Subject: [PATCH] Update battery_box_mv.lua

---
 sonic_screwdriver.lua |   74 ++++++++++++++++++++----------------
 1 files changed, 41 insertions(+), 33 deletions(-)

diff --git a/sonic_screwdriver.lua b/sonic_screwdriver.lua
index 636bd03..d089778 100644
--- a/sonic_screwdriver.lua
+++ b/sonic_screwdriver.lua
@@ -1,47 +1,55 @@
 sonic_screwdriver_max_charge=15000
-
-    minetest.register_tool("technic:sonic_screwdriver", {
+      
+       minetest.register_tool("technic:sonic_screwdriver", {
             description = "Sonic Screwdriver",
             inventory_image = "technic_sonic_screwdriver.png",
             on_use = function(itemstack, user, pointed_thing)
                     -- Must be pointing to facedir applicable node
                     if pointed_thing.type~="node" then return end
-		    local pos=minetest.get_pointed_thing_position(pointed_thing,above)
-		    local node=minetest.env:get_node(pos)
-		    local node_name=node.name
-		    if node.param2==nil  then return end
+                    local pos=minetest.get_pointed_thing_position(pointed_thing,above)
+                    local node=minetest.env:get_node(pos)
+                    local node_name=node.name
+                        if minetest.registered_nodes[node_name].paramtype2 == "facedir" or minetest.registered_nodes[node_name].paramtype2 == "wallmounted" then
+                    if node.param2==nil  then return end
                     item=itemstack:to_table()
-			local charge=tonumber((item["wear"])) 
-			if charge ==0 then charge =65535 end
-			charge=get_RE_item_load(charge,sonic_screwdriver_max_charge)
-			if charge-100>0 then
-			  	minetest.sound_play("technic_sonic_screwdriver", {pos = pos, gain = 1.0, max_hear_distance = 10,})
-			   local n = node.param2
-			   n = n+1
-	                   if n == 4 then n = 0 end
-	                    -- hacky_swap_node, unforunatly.
-		            local meta = minetest.env:get_meta(pos)
-			    local meta0 = meta:to_table()
-	                    node.param2 = n
-			    minetest.env:set_node(pos,node)
-	                    meta = minetest.env:get_meta(pos)
-		            meta:from_table(meta0)
-		  
-			  charge =charge-100;	
-			  charge=set_RE_item_load(charge,sonic_screwdriver_max_charge)
-			  item["wear"]=tostring(charge)
-			  itemstack:replace(item)
-			  end
-			return itemstack
-			end,
-	  
+                        if item["metadata"]=="" or item["metadata"]=="0" then  return end 
+			local charge=tonumber((item["metadata"])) 
+                        if charge-100>0 then
+                                minetest.sound_play("technic_sonic_screwdriver", {pos = pos, gain = 0.3, max_hear_distance = 10,})
+                           local n = node.param2
+                           if minetest.registered_nodes[node_name].paramtype2 == "facedir" then
+                           n = n+1
+                   if n == 4 then n = 0 end
+                           else
+                           n = n+1
+                           if n == 6 then n = 0 end
+                           end
+                            -- hacky_swap_node, unforunatly.
+                            local meta = minetest.env:get_meta(pos)
+                            local meta0 = meta:to_table()
+                            node.param2 = n
+                            minetest.env:set_node(pos,node)
+                            meta = minetest.env:get_meta(pos)
+                            meta:from_table(meta0)
+                 
+                          charge =charge-100;  
+                          item["metadata"]=tostring(charge)
+			  set_RE_wear(item,charge,sonic_screwdriver_max_charge)
+                          itemstack:replace(item)
+                          end
+                        return itemstack
+                        else
+                        return itemstack
+                        end
+                        end,
+         
     })
      
     minetest.register_craft({
             output = "technic:sonic_screwdriver",
             recipe = {
-		    {"technic:green_energy_crystal"},
-                    {"technic:stainless_steel_ingot"},
-                    {"default:stick"}
+		    {"technic:diamond"},
+                    {"technic:battery"},
+                    {"technic:stainless_steel_ingot"}
             }
     })

--
Gitblit v1.8.0