Changes to Screwdriver to add new drivers.
authortenplus1 <tenplus1@users.noreply.github.com>
Thu, 3 Mar 2016 10:18:41 +0000 (10:18 +0000)
committerparamat <mat.gregory@virginmedia.com>
Tue, 22 Mar 2016 15:45:39 +0000 (15:45 +0000)
A few screwdriver changes so that mod makers can add new screwdrivers with different wear levels.  Tried and tested with new diamond screwdriver :)

mods/screwdriver/init.lua

index 6b82d0428e6bdc8631032ee5c26107f2497637b1..5e6df62f0d3b64d129b7124673feef927be940d5 100644 (file)
@@ -18,10 +18,9 @@ screwdriver.rotate_simple = function(pos, node, user, mode, new_param2)
                return false
        end
 end
-local USES = 200
 
 -- Handles rotation
-local function screwdriver_handler(itemstack, user, pointed_thing, mode)
+screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses)
        if pointed_thing.type ~= "node" then
                return
        end
@@ -82,7 +81,7 @@ local function screwdriver_handler(itemstack, user, pointed_thing, mode)
        end
 
        if not minetest.setting_getbool("creative_mode") then
-               itemstack:add_wear(65535 / (USES - 1))
+               itemstack:add_wear(65535 / ((uses or 200) - 1))
        end
 
        return itemstack
@@ -93,11 +92,11 @@ minetest.register_tool("screwdriver:screwdriver", {
        description = "Screwdriver (left-click rotates face, right-click rotates axis)",
        inventory_image = "screwdriver.png",
        on_use = function(itemstack, user, pointed_thing)
-               screwdriver_handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE)
+               screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 200)
                return itemstack
        end,
        on_place = function(itemstack, user, pointed_thing)
-               screwdriver_handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS)
+               screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS, 200)
                return itemstack
        end,
 })