From 9d5bd90b57a1104ed98d183c8f9584b8507f88a5 Mon Sep 17 00:00:00 2001
From: Vanessa Ezekowitz <vanessaezekowitz@gmail.com>
Date: Mon, 03 Jul 2017 23:35:19 +0200
Subject: [PATCH] add chat command to allow disabling of switching station ABM (for situations where a user creates a laggy machine on a public server, use this to suspend power distribution until the machine is found and disabled)

---
 technic/machines/switching_station.lua |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/technic/machines/switching_station.lua b/technic/machines/switching_station.lua
index 40b40e7..6f561e4 100644
--- a/technic/machines/switching_station.lua
+++ b/technic/machines/switching_station.lua
@@ -189,12 +189,29 @@
 -----------------------------------------------
 -- The action code for the switching station --
 -----------------------------------------------
+
+technic.powerctrl_state = true
+
+minetest.register_chatcommand("powerctrl", {
+	params = "state",
+	description = "Enables or disables technic's switching station ABM",
+	privs = { basic_privs = true },
+	func = function(name, state)
+		if state == "on" then
+			technic.powerctrl_state = true
+		else
+			technic.powerctrl_state = false
+		end
+	end
+})
+
 minetest.register_abm({
 	nodenames = {"technic:switching_station"},
 	label = "Switching Station", -- allows the mtt profiler to profile this abm individually
 	interval   = 1,
 	chance     = 1,
 	action = function(pos, node, active_object_count, active_object_count_wider)
+		if not technic.powerctrl_state then return end
 		local meta             = minetest.get_meta(pos)
 		local meta1            = nil
 		local pos1             = {}

--
Gitblit v1.8.0