summaryrefslogtreecommitdiff
path: root/mesecons/init.lua
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2012-08-13 20:17:45 +0200
committerJeija <norrepli@gmail.com>2012-08-13 20:17:45 +0200
commit00ce2540c22340ed02135d74c6d70a35757e8deb (patch)
tree24f5ee80cf20e3eb2a9a303a52ead63ff685fecd /mesecons/init.lua
parent24c50571f788a2d946ee905dd295124affc88d8b (diff)
downloadmesecons-00ce2540c22340ed02135d74c6d70a35757e8deb.tar
mesecons-00ce2540c22340ed02135d74c6d70a35757e8deb.tar.gz
mesecons-00ce2540c22340ed02135d74c6d70a35757e8deb.tar.bz2
mesecons-00ce2540c22340ed02135d74c6d70a35757e8deb.tar.xz
mesecons-00ce2540c22340ed02135d74c6d70a35757e8deb.zip
New effector system, effectors have to be registered with mesecon:register_effector(onstate, offstate, rules, function get_rules) rules and function get_rules are optional. You don't have to specify both onstate and offstate (required for e.g. removestone)
Diffstat (limited to 'mesecons/init.lua')
-rw-r--r--mesecons/init.lua9
1 files changed, 4 insertions, 5 deletions
diff --git a/mesecons/init.lua b/mesecons/init.lua
index 34cb624..7e7456f 100644
--- a/mesecons/init.lua
+++ b/mesecons/init.lua
@@ -154,7 +154,7 @@ function mesecon:receptor_on(pos, rules)
np.x = pos.x + rules[i].x
np.y = pos.y + rules[i].y
np.z = pos.z + rules[i].z
- mesecon:turnon(np)
+ mesecon:turnon(np, pos)
i=i+1
end
end
@@ -164,7 +164,6 @@ function mesecon:receptor_off(pos, rules)
rules = mesecon:get_rules("default")
end
- local checked = {}
local connected = false
local i = 1
while rules[i]~=nil do
@@ -172,9 +171,9 @@ function mesecon:receptor_off(pos, rules)
np.x = pos.x + rules[i].x
np.y = pos.y + rules[i].y
np.z = pos.z + rules[i].z
- connected, checked = mesecon:connected_to_pw_src(np, checked)
- if not connected then
- mesecon:turnoff(np)
+ connected = mesecon:connected_to_pw_src(np)
+ if connected == false then
+ mesecon:turnoff(np, pos)
end
i=i+1
end