summaryrefslogtreecommitdiff
path: root/mesecons
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2012-12-13 18:42:45 +0100
committerJeija <norrepli@gmail.com>2012-12-13 18:42:45 +0100
commitc0d3bd2abbeb8db0d640a604af1c9756f79f4881 (patch)
tree2b615683ba9decce806fe9d5ed392a96da01227d /mesecons
parent659060ddcd8ae05dfb83b9696a158d4ab9725ab4 (diff)
downloadmesecons-c0d3bd2abbeb8db0d640a604af1c9756f79f4881.tar
mesecons-c0d3bd2abbeb8db0d640a604af1c9756f79f4881.tar.gz
mesecons-c0d3bd2abbeb8db0d640a604af1c9756f79f4881.tar.bz2
mesecons-c0d3bd2abbeb8db0d640a604af1c9756f79f4881.tar.xz
mesecons-c0d3bd2abbeb8db0d640a604af1c9756f79f4881.zip
Include experimental vertical wires (needs textures)
Diffstat (limited to 'mesecons')
-rw-r--r--mesecons/internal.lua7
-rw-r--r--mesecons/presets.lua38
2 files changed, 25 insertions, 20 deletions
diff --git a/mesecons/internal.lua b/mesecons/internal.lua
index 575bee3..0249728 100644
--- a/mesecons/internal.lua
+++ b/mesecons/internal.lua
@@ -281,7 +281,7 @@ function mesecon:turnon(pos)
if mesecon:is_conductor_off(node.name) then
local rules = mesecon:conductor_get_rules(node)
- mesecon:swap_node(pos, mesecon:get_conductor_on(node.name))
+ minetest.env:add_node(pos, {name = mesecon:get_conductor_on(node.name)})
for _, rule in ipairs(rules) do
local np = mesecon:addPosRule(pos, rule)
@@ -300,12 +300,12 @@ function mesecon:turnon(pos)
end
end
-function mesecon:turnoff(pos) --receptor rules used because output could have been dug
+function mesecon:turnoff(pos)
local node = minetest.env:get_node(pos)
if mesecon:is_conductor_on(node.name) then
local rules = mesecon:conductor_get_rules(node)
- mesecon:swap_node(pos, mesecon:get_conductor_off(node.name))
+ minetest.env:add_node(pos, {name = mesecon:get_conductor_off(node.name)})
for _, rule in ipairs(rules) do
local np = mesecon:addPosRule(pos, rule)
@@ -363,7 +363,6 @@ end
function mesecon:rules_link(output, input, dug_outputrules) --output/input are positions (outputrules optional, used if node has been dug)
local outputnode = minetest.env:get_node(output)
local inputnode = minetest.env:get_node(input)
-
local outputrules = dug_outputrules
local inputrules
diff --git a/mesecons/presets.lua b/mesecons/presets.lua
index 9988d22..6c8d3ea 100644
--- a/mesecons/presets.lua
+++ b/mesecons/presets.lua
@@ -3,26 +3,32 @@ mesecon.state = {}
mesecon.rules.default =
{{x=0, y=0, z=-1},
-{x=1, y=0, z=0},
-{x=-1, y=0, z=0},
-{x=0, y=0, z=1},
-{x=1, y=1, z=0},
-{x=1, y=-1, z=0},
-{x=-1, y=1, z=0},
-{x=-1, y=-1, z=0},
-{x=0, y=1, z=1},
-{x=0, y=-1, z=1},
-{x=0, y=1, z=-1},
-{x=0, y=-1, z=-1}}
+ {x=1, y=0, z=0},
+ {x=-1, y=0, z=0},
+ {x=0, y=0, z=1},
+ {x=1, y=1, z=0},
+ {x=1, y=-1, z=0},
+ {x=-1, y=1, z=0},
+ {x=-1, y=-1, z=0},
+ {x=0, y=1, z=1},
+ {x=0, y=-1, z=1},
+ {x=0, y=1, z=-1},
+ {x=0, y=-1, z=-1}}
mesecon.rules.buttonlike =
{{x = 1, y = 0, z = 0},
-{x = 1, y = 1, z = 0},
-{x = 1, y =-1, z = 0},
-{x = 1, y =-1, z = 1},
-{x = 1, y =-1, z =-1},
-{x = 2, y = 0, z = 0}}
+ {x = 1, y = 1, z = 0},
+ {x = 1, y =-1, z = 0},
+ {x = 1, y =-1, z = 1},
+ {x = 1, y =-1, z =-1},
+ {x = 2, y = 0, z = 0}}
+mesecon.rules.flat =
+{{x = 1, y = 0, z = 0},
+ {x =-1, y = 0, z = 0},
+ {x = 0, y = 0, z = 1},
+ {x = 0, y = 0, z =-1}}
+
mesecon.rules.buttonlike_get = function(node)
local rules = mesecon.rules.buttonlike
if node.param2 == 2 then