diff options
author | Jeija <norrepli@gmail.com> | 2012-12-26 22:54:28 +0100 |
---|---|---|
committer | Jeija <norrepli@gmail.com> | 2012-12-26 22:54:28 +0100 |
commit | d91e0b66cb7971ba54d071a0955f17d1a7b0162e (patch) | |
tree | 11294026f6db9a7c49a5ab93ed9cc6d63b8db1a4 /mesecons | |
parent | c508bfaea62156684ea90b04e8963fb9e30dfaf2 (diff) | |
download | mesecons-d91e0b66cb7971ba54d071a0955f17d1a7b0162e.tar mesecons-d91e0b66cb7971ba54d071a0955f17d1a7b0162e.tar.gz mesecons-d91e0b66cb7971ba54d071a0955f17d1a7b0162e.tar.bz2 mesecons-d91e0b66cb7971ba54d071a0955f17d1a7b0162e.tar.xz mesecons-d91e0b66cb7971ba54d071a0955f17d1a7b0162e.zip |
Re-write pistons from scratch, propably fixes a lot of bugs and doesn't cause too many new ones.
Diffstat (limited to 'mesecons')
-rw-r--r-- | mesecons/internal.lua | 40 | ||||
-rw-r--r-- | mesecons/services.lua | 7 | ||||
-rw-r--r-- | mesecons/settings.lua | 1 |
3 files changed, 25 insertions, 23 deletions
diff --git a/mesecons/internal.lua b/mesecons/internal.lua index 3f2ceb3..c7efd1a 100644 --- a/mesecons/internal.lua +++ b/mesecons/internal.lua @@ -413,45 +413,45 @@ end --Rules rotation Functions: function mesecon:rotate_rules_right(rules) - local nr={}; + local nr = {} for i, rule in ipairs(rules) do - nr[i]={} - nr[i].z=rule.x - nr[i].x=-rule.z - nr[i].y=rule.y + table.insert(nr, { + x = -rule.z, + y = rule.y, + z = rule.x}) end return nr end function mesecon:rotate_rules_left(rules) - local nr={}; + local nr = {} for i, rule in ipairs(rules) do - nr[i]={} - nr[i].z=-rules[i].x - nr[i].x=rules[i].z - nr[i].y=rules[i].y + table.insert(nr, { + x = rule.z, + y = rule.y, + z = -rule.x}) end return nr end function mesecon:rotate_rules_down(rules) - local nr={}; + local nr = {} for i, rule in ipairs(rules) do - nr[i]={} - nr[i].y=rule.x - nr[i].x=-rule.y - nr[i].z=rule.z + table.insert(nr, { + x = -rule.y, + y = rule.x, + z = rule.z}) end return nr end function mesecon:rotate_rules_up(rules) - local nr={}; + local nr = {} for i, rule in ipairs(rules) do - nr[i]={} - nr[i].y=-rule.x - nr[i].x=rule.y - nr[i].z=rule.z + table.insert(nr, { + x = rule.y, + y = -rule.x, + z = rule.z}) end return nr end diff --git a/mesecons/services.lua b/mesecons/services.lua index ada9351..a3aab43 100644 --- a/mesecons/services.lua +++ b/mesecons/services.lua @@ -2,8 +2,9 @@ mesecon.on_placenode = function (pos, node) if mesecon:is_receptor_on(node.name) then mesecon:receptor_on(pos, mesecon:receptor_get_rules(node)) elseif mesecon:is_powered(pos) then - if mesecon:is_conductor_off(node.name) then - mesecon:turnon(pos, node) + if mesecon:is_conductor(node.name) then + mesecon:turnon (pos) + mesecon:receptor_on (pos, mesecon:conductor_get_rules(node)) else mesecon:changesignal(pos, node) mesecon:activate(pos, node) @@ -17,7 +18,7 @@ end mesecon.on_dignode = function (pos, node) if mesecon:is_conductor_on(node.name) then - mesecon:receptor_off(pos) + mesecon:receptor_off(pos, mesecon:conductor_get_rules(node)) elseif mesecon:is_receptor_on(node.name) then mesecon:receptor_off(pos, mesecon:receptor_get_rules(node)) end diff --git a/mesecons/settings.lua b/mesecons/settings.lua index 398ee6d..20776ee 100644 --- a/mesecons/settings.lua +++ b/mesecons/settings.lua @@ -3,3 +3,4 @@ BLINKY_PLANT_INTERVAL = 3 NEW_STYLE_WIRES = true -- true = new nodebox wires, false = old raillike wires
PRESSURE_PLATE_INTERVAL = 0.1
OBJECT_DETECTOR_RADIUS = 6
+PISTON_MAXIMUM_PUSH = 15
|