From d119a6748264a4f9825eebdd4ddeb2421cc4784a Mon Sep 17 00:00:00 2001
From: coil <51716565+coil0@users.noreply.github.com>
Date: Mon, 26 Aug 2019 19:45:11 +0200
Subject: [PATCH] Refactor switching station ABMs (#508)

---
 technic/machines/register/battery_box.lua |   68 +++++++++++++++++++++++++++++-----
 1 files changed, 58 insertions(+), 10 deletions(-)

diff --git a/technic/machines/register/battery_box.lua b/technic/machines/register/battery_box.lua
index f176395..4f1f76e 100644
--- a/technic/machines/register/battery_box.lua
+++ b/technic/machines/register/battery_box.lua
@@ -12,12 +12,59 @@
 technic.register_power_tool("technic:green_energy_crystal", 150000)
 technic.register_power_tool("technic:blue_energy_crystal", 450000)
 
+-- Battery recipes:
+-- Tin-copper recipe:
 minetest.register_craft({
-	output = 'technic:battery',
+	output = "technic:battery",
 	recipe = {
-		{'group:wood', 'default:copper_ingot', 'group:wood'},
-		{'group:wood', 'moreores:tin_ingot',   'group:wood'},
-		{'group:wood', 'default:copper_ingot', 'group:wood'},
+		{"group:wood", "default:copper_ingot", "group:wood"},
+		{"group:wood", "default:tin_ingot",    "group:wood"},
+		{"group:wood", "default:copper_ingot", "group:wood"},
+	}
+})
+-- Sulfur-lead-water recipes:
+-- With sulfur lumps:
+-- With water:
+minetest.register_craft({
+	output = "technic:battery",
+	recipe = {
+		{"group:wood",         "technic:sulfur_lump", "group:wood"},
+		{"technic:lead_ingot", "bucket:bucket_water", "technic:lead_ingot"},
+		{"group:wood",         "technic:sulfur_lump", "group:wood"},
+	},
+	replacements = {
+		{"bucket:bucket_water", "bucket:bucket_empty"}
+	}
+})
+-- With oil extract:
+minetest.register_craft({
+	output = "technic:battery",
+	recipe = {
+		{"group:wood",         "technic:sulfur_lump",   "group:wood"},
+		{"technic:lead_ingot", "homedecor:oil_extract", "technic:lead_ingot"},
+		{"group:wood",         "technic:sulfur_lump",   "group:wood"},
+	}
+})
+-- With sulfur dust:
+-- With water:
+minetest.register_craft({
+	output = "technic:battery",
+	recipe = {
+		{"group:wood",         "technic:sulfur_dust", "group:wood"},
+		{"technic:lead_ingot", "bucket:bucket_water", "technic:lead_ingot"},
+		{"group:wood",         "technic:sulfur_dust", "group:wood"},
+	},
+	replacements = {
+		{"bucket:bucket_water", "bucket:bucket_empty"}
+	}
+})
+-- With oil extract:
+minetest.register_craft({
+	output = "technic:battery",
+	recipe = {
+		{"group:wood",         "technic:sulfur_dust",   "group:wood"},
+		{"technic:lead_ingot", "homedecor:oil_extract", "technic:lead_ingot"},
+		{"group:wood",         "technic:sulfur_dust",   "group:wood"},
 	}
 })
 
@@ -82,11 +129,11 @@
 }
 
 local function add_on_off_buttons(meta, ltier, charge_percent)
-	local formspec = ""
-	if ltier == "mv" or ltier == "hv" then
-		formspec = "image[1,1;1,2;technic_power_meter_bg.png"
+	local formspec = "image[1,1;1,2;technic_power_meter_bg.png"
 			.."^[lowpart:"..charge_percent
-			..":technic_power_meter_fg.png]"..
+			..":technic_power_meter_fg.png]"
+	if ltier == "mv" or ltier == "hv" then
+		formspec = formspec..
 			fs_helpers.cycling_button(
 				meta,
 				"image_button[3,2.0;1,0.6",
@@ -208,8 +255,9 @@
 
 		local charge_percent = math.floor(current_charge / max_charge * 100)
 		meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, charge_percent))
-		local infotext = S("@1 Battery Box: @2/@3", tier,
-				technic.pretty_num(current_charge), technic.pretty_num(max_charge))
+		local infotext = S("@1 Battery Box: @2 / @3", tier,
+				technic.EU_string(current_charge),
+				technic.EU_string(max_charge))
 		if eu_input == 0 then
 			infotext = S("%s Idle"):format(infotext)
 		end

--
Gitblit v1.8.0