mirror of
https://github.com/minetest-mods/mesecons.git
synced 2025-06-28 13:56:02 +02:00
Code cleanup, little bugfix (some conductors placed next to receptors didn't turn on)
This commit is contained in:
@ -191,14 +191,15 @@ function mesecon:register_on_signal_change(action)
|
||||
mesecon.actions_change[i]=action
|
||||
end
|
||||
|
||||
function mesecon:register_conductor (onstate, offstate)
|
||||
function mesecon:register_conductor (onstate, offstate, rules)
|
||||
local i=0
|
||||
while mesecon.conductors[i]~=nil do
|
||||
i=i+1
|
||||
end
|
||||
mesecon.conductors[i]={}
|
||||
mesecon.conductors[i].on=onstate
|
||||
mesecon.conductors[i].off=offstate
|
||||
mesecon.conductors[i].on = onstate
|
||||
mesecon.conductors[i].off = offstate
|
||||
mesecon.conductors[i].rules = offstate
|
||||
end
|
||||
|
||||
mesecon:add_rules("default",
|
||||
|
@ -325,14 +325,15 @@ function mesecon:is_powered_by_receptor(pos)
|
||||
local i = 1
|
||||
local j = 1
|
||||
local k = 1
|
||||
local rules
|
||||
local pos_checked = false
|
||||
|
||||
while mesecon.rules[i]~=nil do
|
||||
j=1
|
||||
local j=1
|
||||
while mesecon.rules[i].rules[j]~=nil do
|
||||
rcpt_pos = {
|
||||
x = pos.x-mesecon.rules[i].rules[j].x,
|
||||
y = pos.y-mesecon.rules[i].rules[j].y,
|
||||
x = pos.x-mesecon.rules[i].rules[j].x,
|
||||
y = pos.y-mesecon.rules[i].rules[j].y,
|
||||
z = pos.z-mesecon.rules[i].rules[j].z}
|
||||
|
||||
k = 1
|
||||
@ -350,14 +351,15 @@ function mesecon:is_powered_by_receptor(pos)
|
||||
|
||||
if mesecon:is_receptor_node(rcpt.name) then
|
||||
rules = mesecon:receptor_get_rules(rcpt)
|
||||
j = 1
|
||||
while rules[j] ~= nil do
|
||||
if pos.x + rules[j].x == rcpt_pos.x
|
||||
and pos.y + rules[j].y == rcpt_pos.y
|
||||
and pos.z + rules[j].z == rcpt_pos.z then
|
||||
return true
|
||||
if rcpt_pos.x + rules[j].x == pos.x
|
||||
and rcpt_pos.y + rules[j].y == pos.y
|
||||
and rcpt_pos.z + rules[j].z == pos.z then
|
||||
return true
|
||||
end
|
||||
j=j+1
|
||||
end
|
||||
j=j+1
|
||||
end
|
||||
end
|
||||
end
|
||||
j=j+1
|
||||
|
Reference in New Issue
Block a user