summaryrefslogtreecommitdiff
path: root/mesecons
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2014-01-11 23:17:14 -0800
committerJeija <norrepli@gmail.com>2014-01-11 23:17:14 -0800
commita6bd955449d16bb41d091dd2b701f358557bf038 (patch)
treed26ed066d1783a8f60962154210825436ea75500 /mesecons
parent6c979a6ebb3d7e791c1aa0668b774ff9c3ceb8f6 (diff)
parentf1ae54ed12413ee90675a6fc92da25f3a78e97d2 (diff)
downloadmesecons-a6bd955449d16bb41d091dd2b701f358557bf038.tar
mesecons-a6bd955449d16bb41d091dd2b701f358557bf038.tar.gz
mesecons-a6bd955449d16bb41d091dd2b701f358557bf038.tar.bz2
mesecons-a6bd955449d16bb41d091dd2b701f358557bf038.tar.xz
mesecons-a6bd955449d16bb41d091dd2b701f358557bf038.zip
Merge pull request #144 from Novatux/gates-fix
Fix gates with serverstep code. Let's give that a try.
Diffstat (limited to 'mesecons')
-rw-r--r--mesecons/legacy.lua29
1 files changed, 28 insertions, 1 deletions
diff --git a/mesecons/legacy.lua b/mesecons/legacy.lua
index a68bab4..c4334cf 100644
--- a/mesecons/legacy.lua
+++ b/mesecons/legacy.lua
@@ -2,4 +2,31 @@ minetest.swap_node = minetest.swap_node or function(pos, node)
local data = minetest.get_meta(pos):to_table()
minetest.add_node(pos, node)
minetest.get_meta(pos):from_table(data)
-end \ No newline at end of file
+end
+
+local rules = {}
+rules.a = {x = -1, y = 0, z = 0, name="A"}
+rules.b = {x = 0, y = 0, z = 1, name="B"}
+rules.c = {x = 1, y = 0, z = 0, name="C"}
+rules.d = {x = 0, y = 0, z = -1, name="D"}
+
+function legacy_update_ports(pos)
+ local meta = minetest.get_meta(pos)
+ L = {
+ a = mesecon:is_power_on(mesecon:addPosRule(pos, rules.a),
+ mesecon:invertRule(rules.a)) and
+ mesecon:rules_link(mesecon:addPosRule(pos, rules.a), pos),
+ b = mesecon:is_power_on(mesecon:addPosRule(pos, rules.b),
+ mesecon:invertRule(rules.b)) and
+ mesecon:rules_link(mesecon:addPosRule(pos, rules.b), pos),
+ c = mesecon:is_power_on(mesecon:addPosRule(pos, rules.c),
+ mesecon:invertRule(rules.c)) and
+ mesecon:rules_link(mesecon:addPosRule(pos, rules.c), pos),
+ d = mesecon:is_power_on(mesecon:addPosRule(pos, rules.d),
+ mesecon:invertRule(rules.d)) and
+ mesecon:rules_link(mesecon:addPosRule(pos, rules.d), pos),
+ }
+ local n = (L.a and 1 or 0) + (L.b and 2 or 0) + (L.c and 4 or 0) + (L.d and 8 or 0) + 1
+ meta:set_int("real_portstates", n)
+ return L
+end