diff options
author | Jeija <norrepli@gmail.com> | 2012-08-13 20:17:45 +0200 |
---|---|---|
committer | Jeija <norrepli@gmail.com> | 2012-08-13 20:17:45 +0200 |
commit | 00ce2540c22340ed02135d74c6d70a35757e8deb (patch) | |
tree | 24f5ee80cf20e3eb2a9a303a52ead63ff685fecd /mesecons/init.lua | |
parent | 24c50571f788a2d946ee905dd295124affc88d8b (diff) | |
download | mesecons-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.lua | 9 |
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 |