Include experimental vertical wires (needs textures)

This commit is contained in:
Jeija
2012-12-13 18:42:45 +01:00
parent 659060ddcd
commit c0d3bd2abb
6 changed files with 235 additions and 27 deletions

View File

@ -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

View File

@ -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