From 623fcae4a4ad3ec12cc242b29b0d781357cff3f7 Mon Sep 17 00:00:00 2001
From: Zefram <zefram@fysh.org>
Date: Sat, 24 May 2014 00:24:30 +0200
Subject: [PATCH] Fix supply converter

---
 technic/machines/switching_station.lua |   30 ++++++++++++++++++------------
 1 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua
index 449b4c9..88d1890 100644
--- a/technic/machines/switching_station.lua
+++ b/technic/machines/switching_station.lua
@@ -27,20 +27,22 @@
 --
 --  The reason the LV|MV|HV type is prepended toe meta data is because some machine could require several supplies to work.
 --  This way the supplies are separated per network.
-technic.DBG = 1
-local dprint = technic.dprint
+
+technic.networks = {}
+
+local S = technic.getter
 
 minetest.register_craft({
 	output = "technic:switching_station",
 	recipe = {
-		{"default:steel_ingot",  "technic:lv_transformer", "default:steel_ingot"},
-		{"default:copper_ingot", "technic:lv_cable0",      "default:copper_ingot"},
-		{"default:steel_ingot",  "technic:lv_cable0",      "default:steel_ingot"}
+		{"technic:cast_iron_ingot", "technic:lv_transformer", "technic:cast_iron_ingot"},
+		{"default:copper_ingot",    "technic:lv_cable0",      "default:copper_ingot"},
+		{"technic:cast_iron_ingot", "technic:lv_cable0",      "technic:cast_iron_ingot"}
 	}
 })
 
 minetest.register_node("technic:switching_station",{
-	description = "Switching Station",
+	description = S("Switching Station"),
 	tiles  = {"technic_water_mill_top_active.png", "technic_water_mill_top_active.png",
                   "technic_water_mill_top_active.png", "technic_water_mill_top_active.png",
 	          "technic_water_mill_top_active.png", "technic_water_mill_top_active.png"},
@@ -54,7 +56,7 @@
 	},
 	on_construct = function(pos)
 		local meta = minetest.get_meta(pos)
-		meta:set_string("infotext", "Switching Station")
+		meta:set_string("infotext", S("Switching Station"))
 	end,
 })
 
@@ -65,7 +67,7 @@
 -- A node must be touched by the station continuously in order to function
 function technic.switching_station_timeout_count(pos, tier)
 	local meta = minetest.get_meta(pos)
-	timeout = meta:get_int(tier.."_EU_timeout")
+	local timeout = meta:get_int(tier.."_EU_timeout")
 	if timeout == 0 then
 		meta:set_int(tier.."_EU_input", 0)
 	else
@@ -103,6 +105,9 @@
 		if     machines[name] == technic.producer then
 			add_new_cable_node(PR_nodes, pos)
 		elseif machines[name] == technic.receiver then
+			add_new_cable_node(RE_nodes, pos)
+		elseif machines[name] == technic.producer_receiver then
+			add_new_cable_node(PR_nodes, pos)
 			add_new_cable_node(RE_nodes, pos)
 		elseif machines[name] == technic.battery then
 			add_new_cable_node(BA_nodes, pos)
@@ -177,6 +182,7 @@
 		local PR_nodes
 		local BA_nodes
 		local RE_nodes
+		local machine_name = S("Switching Station")
 
 		-- Which kind of network are we on:
 		pos1 = {x=pos.x, y=pos.y-1, z=pos.z}
@@ -184,10 +190,10 @@
 		local name = minetest.get_node(pos1).name
 		local tier = technic.get_cable_tier(name)
 		if tier then
-			PR_nodes, RE_nodes, BA_nodes = get_network(pos1, tier)
+			PR_nodes, BA_nodes, RE_nodes = get_network(pos1, tier)
 		else
 			--dprint("Not connected to a network")
-			meta:set_string("infotext", "Switching Station - no network")
+			meta:set_string("infotext", S("%s Has No Network"):format(machine_name))
 			return
 		end
 		--dprint("nodes="..table.getn(all_nodes)
@@ -233,8 +239,8 @@
 		--dprint("Total BA demand:"..BA_eu_demand)
 
 		meta:set_string("infotext",
-				"Switching Station. Supply: "..PR_eu_supply
-				.." Demand: "..RE_eu_demand)
+				S("%s. Supply: %d Demand: %d"):format(
+				machine_name, PR_eu_supply, RE_eu_demand))
 
 		-- If the PR supply is enough for the RE demand supply them all
 		if PR_eu_supply >= RE_eu_demand then

--
Gitblit v1.8.0