From 03a5375e552c02ac24bb211b712e8e1c30d96dc2 Mon Sep 17 00:00:00 2001
From: Zefram <zefram@fysh.org>
Date: Mon, 28 Apr 2014 20:41:33 +0100
Subject: Fix can wear following tool workshop change

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 | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/technic/tools/cans.lua b/technic/tools/cans.lua
index e75b2db..ab92811 100644
--- a/technic/tools/cans.lua
+++ b/technic/tools/cans.lua
@@ -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,
-- 
cgit v1.2.3