mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2025-07-12 04:40:21 +02:00
Merge branch 'master' of http://github.com/Ombridride/minetest-minetestforfun-server
Conflicts: mods/mesecons/mesecons/internal.lua mods/mesecons/mesecons/services.lua mods/mesecons/mesecons/util.lua mods/mesecons/mesecons_gates/init.lua mods/mesecons/mesecons_luacontroller/init.lua mods/mesecons/mesecons_movestones/init.lua mods/mesecons/mesecons_mvps/init.lua mods/mesecons/mesecons_pistons/init.lua
This commit is contained in:
@ -240,10 +240,14 @@ function mesecon.changesignal(pos, node, rulename, newstate, depth)
|
||||
return
|
||||
end
|
||||
|
||||
<<<<<<< HEAD
|
||||
-- Include "change" in overwritecheck so that it cannot be overwritten
|
||||
-- by "active" / "deactivate" that will be called upon the node at the same time.
|
||||
local overwritecheck = {"change", rulename}
|
||||
mesecon.queue:add_action(pos, "change", {rulename, newstate}, nil, overwritecheck, 1 / depth)
|
||||
=======
|
||||
mesecon.queue:add_action(pos, "change", {rulename, newstate}, nil, rulename, 1 / depth)
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
end
|
||||
|
||||
-- Conductors
|
||||
@ -517,7 +521,14 @@ function mesecon.rules_link(output, input, dug_outputrules) --output/input are p
|
||||
for _, inputrule in ipairs(mesecon.flattenrules(inputrules)) do
|
||||
-- Check if input accepts from output
|
||||
if mesecon.cmpPos(mesecon.addPosRule(input, inputrule), output) then
|
||||
<<<<<<< HEAD
|
||||
return true, inputrule
|
||||
=======
|
||||
if inputrule.sx == nil or outputrule.sx == nil
|
||||
or mesecon.cmpSpecial(inputrule, outputrule) then
|
||||
return true, inputrule
|
||||
end
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -537,7 +548,14 @@ function mesecon.rules_link_rule_all(output, rule)
|
||||
for _, inputrule in ipairs(mesecon.flattenrules(inputrules)) do
|
||||
-- Check if input accepts from output
|
||||
if mesecon.cmpPos(mesecon.addPosRule(input, inputrule), output) then
|
||||
<<<<<<< HEAD
|
||||
table.insert(rules, inputrule)
|
||||
=======
|
||||
if inputrule.sx == nil or rule.sx == nil
|
||||
or mesecon.cmpSpecial(inputrule, rule) then
|
||||
table.insert(rules, inputrule)
|
||||
end
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
end
|
||||
end
|
||||
return rules
|
||||
@ -555,7 +573,14 @@ function mesecon.rules_link_rule_all_inverted(input, rule)
|
||||
|
||||
for _, outputrule in ipairs(mesecon.flattenrules(outputrules)) do
|
||||
if mesecon.cmpPos(mesecon.addPosRule(output, outputrule), input) then
|
||||
<<<<<<< HEAD
|
||||
table.insert(rules, mesecon.invertRule(outputrule))
|
||||
=======
|
||||
if outputrule.sx == nil or rule.sx == nil
|
||||
or mesecon.cmpSpecial(outputrule, rule) then
|
||||
table.insert(rules, mesecon.invertRule(outputrule))
|
||||
end
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
end
|
||||
end
|
||||
return rules
|
||||
@ -592,7 +617,11 @@ function mesecon.is_powered(pos, rule)
|
||||
local nn = minetest.get_node(np)
|
||||
if (mesecon.is_conductor_on (nn, mesecon.invertRule(rname))
|
||||
or mesecon.is_receptor_on (nn.name)) then
|
||||
<<<<<<< HEAD
|
||||
table.insert(sourcepos, np)
|
||||
=======
|
||||
sourcepos.insert(np)
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -27,6 +27,7 @@ mesecon.on_placenode = function (pos, node)
|
||||
|
||||
-- Effectors: Send changesignal and activate or deactivate
|
||||
if mesecon.is_effector(node.name) then
|
||||
<<<<<<< HEAD
|
||||
local powered_rules = {}
|
||||
local unpowered_rules = {}
|
||||
|
||||
@ -48,6 +49,14 @@ mesecon.on_placenode = function (pos, node)
|
||||
for _, r in ipairs(unpowered_rules) do
|
||||
mesecon.deactivate(pos, node, r, 1)
|
||||
end
|
||||
=======
|
||||
if mesecon.is_powered(pos) then
|
||||
mesecon.changesignal(pos, node, mesecon.effector_get_rules(node), "on", 1)
|
||||
mesecon.activate(pos, node, nil, 1)
|
||||
else
|
||||
mesecon.changesignal(pos, node, mesecon.effector_get_rules(node), "off", 1)
|
||||
mesecon.deactivate(pos, node, nil, 1)
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -62,7 +62,11 @@ function mesecon.rule2bit(findrule, allrules)
|
||||
end
|
||||
for m,metarule in ipairs( allrules) do
|
||||
for _, rule in ipairs(metarule ) do
|
||||
<<<<<<< HEAD
|
||||
if mesecon.cmpPos(findrule, rule) then
|
||||
=======
|
||||
if mesecon.cmpPos(findrule, rule) and mesecon.cmpSpecial(findrule, rule) then
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
return m
|
||||
end
|
||||
end
|
||||
@ -82,7 +86,11 @@ function mesecon.rule2metaindex(findrule, allrules)
|
||||
|
||||
for m, metarule in ipairs( allrules) do
|
||||
for _, rule in ipairs(metarule ) do
|
||||
<<<<<<< HEAD
|
||||
if mesecon.cmpPos(findrule, rule) then
|
||||
=======
|
||||
if mesecon.cmpPos(findrule, rule) and mesecon.cmpSpecial(findrule, rule) then
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
return m
|
||||
end
|
||||
end
|
||||
@ -153,7 +161,11 @@ function mesecon.set_bit(binary,bit,value)
|
||||
end
|
||||
|
||||
function mesecon.invertRule(r)
|
||||
<<<<<<< HEAD
|
||||
return {x = -r.x, y = -r.y, z = -r.z}
|
||||
=======
|
||||
return {x = -r.x, y = -r.y, z = -r.z, sx = r.sx, sy = r.sy, sz = r.sz}
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
end
|
||||
|
||||
function mesecon.addPosRule(p, r)
|
||||
@ -164,6 +176,13 @@ function mesecon.cmpPos(p1, p2)
|
||||
return (p1.x == p2.x and p1.y == p2.y and p1.z == p2.z)
|
||||
end
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
function mesecon.cmpSpecial(r1, r2)
|
||||
return (r1.sx == r2.sx and r1.sy == r2.sy and r1.sz == r2.sz)
|
||||
end
|
||||
|
||||
>>>>>>> b86fd8cfa9dadcc359b95cdc1135488beae0f467
|
||||
function mesecon.tablecopy(table) -- deep table copy
|
||||
if type(table) ~= "table" then return table end -- no need to copy
|
||||
local newtable = {}
|
||||
|
Reference in New Issue
Block a user