summaryrefslogtreecommitdiff
path: root/mesecons/init.lua
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2012-08-12 10:57:00 +0200
committerJeija <norrepli@gmail.com>2012-08-12 10:57:00 +0200
commit9829abc74dcc5ce886dfd6bbb01315e874fe917e (patch)
tree28841e2f3b5dbc5cbc2bc87a1623aef63ebf9553 /mesecons/init.lua
parentd72c0e6bdde1d6e9400c641a80cbc8b7b654a96b (diff)
downloadmesecons-9829abc74dcc5ce886dfd6bbb01315e874fe917e.tar
mesecons-9829abc74dcc5ce886dfd6bbb01315e874fe917e.tar.gz
mesecons-9829abc74dcc5ce886dfd6bbb01315e874fe917e.tar.bz2
mesecons-9829abc74dcc5ce886dfd6bbb01315e874fe917e.tar.xz
mesecons-9829abc74dcc5ce886dfd6bbb01315e874fe917e.zip
HUGE speed improvement
Diffstat (limited to 'mesecons/init.lua')
-rw-r--r--mesecons/init.lua17
1 files changed, 16 insertions, 1 deletions
diff --git a/mesecons/init.lua b/mesecons/init.lua
index e796691..78b84d9 100644
--- a/mesecons/init.lua
+++ b/mesecons/init.lua
@@ -88,6 +88,7 @@ mesecon.actions_off={} -- Saves registered function callbacks for mesecon off
mesecon.actions_change={} -- Saves registered function callbacks for mesecon change
mesecon.pwr_srcs={}
mesecon.pwr_srcs_off={}
+mesecon.effectors={}
mesecon.rules={}
mesecon.conductors={}
@@ -135,7 +136,21 @@ function mesecon:receptor_on(pos, rules)
end
function mesecon:receptor_off(pos, rules)
- mesecon:turnoff(pos, 0, 0, 0, true, rules)
+ if rules == nil then
+ rules = mesecon:get_rules("default")
+ end
+
+ local i = 1
+ while rules[i]~=nil do
+ local np = {}
+ np.x = pos.x + rules[i].x
+ np.y = pos.y + rules[i].y
+ np.z = pos.z + rules[i].z
+ if mesecon:connected_to_pw_src(np, 0, 0, 0, {}) == false then
+ mesecon:turnoff(np)
+ end
+ i=i+1
+ end
end
function mesecon:register_on_signal_on(action)