Fix can wear following tool workshop change
authorZefram <zefram@fysh.org>
Mon, 28 Apr 2014 19:41:33 +0000 (20:41 +0100)
committerZefram <zefram@fysh.org>
Tue, 29 Apr 2014 23:22:02 +0000 (00:22 +0100)
The cans used set_RE_wear() to manage their wear bars.  As that now only
sets wear for power tools, the cans need a separate function.

technic/tools/cans.lua

index e75b2dbaed0f0ebbb9df4d9412665c2a5aee223e..ab928113ecabcabd06aa5a45b6bbd0cf711db90c 100644 (file)
@@ -21,6 +21,17 @@ minetest.register_craft({
        }
 })
 
+local function set_can_wear(itemstack, level, max_level)
+       local temp
+       if level == 0 then
+               temp = 0
+       else
+               temp = 65536 - math.floor(level / max_level * 65535)
+               if temp > 65535 then temp = 65535 end
+               if temp < 1 then temp = 1 end
+       end
+       itemstack:set_wear(temp)
+end
 
 minetest.register_tool("technic:water_can", {
        description = S("Water Can"),
@@ -45,7 +56,7 @@ minetest.register_tool("technic:water_can", {
                                minetest.remove_node(pointed_thing.under)
                                charge = charge + 1
                                itemstack:set_metadata(tostring(charge))
-                               technic.set_RE_wear(itemstack, charge, water_can_max_load)
+                               set_can_wear(itemstack, charge, water_can_max_load)
                        end
                        return itemstack
                end
@@ -57,7 +68,7 @@ minetest.register_tool("technic:water_can", {
                        minetest.set_node(pointed_thing.under, {name="default:water_source"})
                        charge = charge - 1
                        itemstack:set_metadata(tostring(charge))
-                       technic.set_RE_wear(itemstack, charge, water_can_max_load)
+                       set_can_wear(itemstack, charge, water_can_max_load)
                        return itemstack
                end
 
@@ -66,7 +77,7 @@ minetest.register_tool("technic:water_can", {
                        minetest.set_node(pointed_thing.above, {name="default:water_source"})
                        charge = charge - 1;
                        itemstack:set_metadata(tostring(charge))
-                       technic.set_RE_wear(itemstack, charge, water_can_max_load)
+                       set_can_wear(itemstack, charge, water_can_max_load)
                        return itemstack
                end             
        end,
@@ -95,7 +106,7 @@ minetest.register_tool("technic:lava_can", {
                                minetest.remove_node(pointed_thing.under)
                                charge = charge + 1
                                itemstack:set_metadata(tostring(charge))
-                               technic.set_RE_wear(itemstack, charge, lava_can_max_load)
+                               set_can_wear(itemstack, charge, lava_can_max_load)
                        end
                        return itemstack
                end
@@ -107,7 +118,7 @@ minetest.register_tool("technic:lava_can", {
                        minetest.set_node(pointed_thing.under, {name="default:lava_source"})
                        charge = charge - 1     
                        itemstack:set_metadata(tostring(charge))
-                       technic.set_RE_wear(itemstack, charge, lava_can_max_load)
+                       set_can_wear(itemstack, charge, lava_can_max_load)
                        return itemstack
                end
 
@@ -116,7 +127,7 @@ minetest.register_tool("technic:lava_can", {
                        minetest.set_node(pointed_thing.above, {name="default:lava_source"})
                        charge = charge - 1
                        itemstack:set_metadata(tostring(charge))
-                       technic.set_RE_wear(itemstack, charge, lava_can_max_load)
+                       set_can_wear(itemstack, charge, lava_can_max_load)
                        return itemstack
                end
        end,