Add protection support to the sonic screwdriver
authorShadowNinja <shadowninja@minetest.net>
Wed, 11 Dec 2013 00:52:40 +0000 (19:52 -0500)
committerShadowNinja <shadowninja@minetest.net>
Wed, 11 Dec 2013 00:52:40 +0000 (19:52 -0500)
technic/tools/sonic_screwdriver.lua

index 7bd26fda4371f3ad418a411a96a02afa7fe2fa8b..32f29d6163c5027d7d4a60c85d65b298e466b723 100644 (file)
@@ -41,17 +41,20 @@ minetest.register_tool("technic:sonic_screwdriver", {
                                        p = 0
                                end
                        end
-                       -- hacky_swap_node, unforunatly.
-                       local meta = minetest.get_meta(pos)
-                       local meta0 = meta:to_table()
-                       node.param2 = p
-                       minetest.set_node(pos, node)
-                       meta = minetest.get_meta(pos)
-                       meta:from_table(meta0)
+                       if minetest.is_protected(pos, user:get_player_name()) then
+                               minetest.record_protection_violation(pos, user:get_player_name())
+                       else
+                               local meta = minetest.get_meta(pos)
+                               local meta0 = meta:to_table()
+                               node.param2 = p
+                               minetest.set_node(pos, node)
+                               meta = minetest.get_meta(pos)
+                               meta:from_table(meta0)
 
-                       meta1.charge = meta1.charge - 100  
-                       itemstack:set_metadata(set_item_meta(meta1))
-                       technic.set_RE_wear(itemstack, meta1.charge, sonic_screwdriver_max_charge)
+                               meta1.charge = meta1.charge - 100
+                               itemstack:set_metadata(set_item_meta(meta1))
+                               technic.set_RE_wear(itemstack, meta1.charge, sonic_screwdriver_max_charge)
+                       end
                end
                return itemstack
        end,