summaryrefslogtreecommitdiff
path: root/mesecons/legacy.lua
diff options
context:
space:
mode:
authorNovatux <nathanael.courant@laposte.net>2014-01-10 16:38:02 +0100
committerNovatux <nathanael.courant@laposte.net>2014-01-11 07:24:42 +0100
commitf1ae54ed12413ee90675a6fc92da25f3a78e97d2 (patch)
tree0d87ee539f545b16c43d98b6a245006f299a5b0a /mesecons/legacy.lua
parent9c2a5c313c9e149d1031f29a1ff0d245a9093a9b (diff)
downloadmesecons-f1ae54ed12413ee90675a6fc92da25f3a78e97d2.tar
mesecons-f1ae54ed12413ee90675a6fc92da25f3a78e97d2.tar.gz
mesecons-f1ae54ed12413ee90675a6fc92da25f3a78e97d2.tar.bz2
mesecons-f1ae54ed12413ee90675a6fc92da25f3a78e97d2.tar.xz
mesecons-f1ae54ed12413ee90675a6fc92da25f3a78e97d2.zip
Try to fix gateswith serverstep code.
Diffstat (limited to 'mesecons/legacy.lua')
-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