Replace mesecon:<some_function> with mesecon.<some_function> for greater

flexibility and because it was never inteded to be OOP in the first
place.

mesecon.receptor_on and mesecon.receptor_off are provided by wrappers
(mesecon:receptor_on/off) for compatibility, but will be removed. Mod
programmers that use mesecons: Please update!

Also, fix microcontroller polluting the global namespace and remove some
deprecated stuff.
This commit is contained in:
Jeija
2014-11-22 15:42:22 +01:00
parent ffacbfde5a
commit 5be179bf11
31 changed files with 455 additions and 488 deletions

View File

@ -18,12 +18,12 @@ local wire_getconnect = function (from_pos, self_pos)
if (minetest.registered_nodes[node.name].mesecon_wire) then
rules = mesecon.rules.default
else
rules = mesecon:get_any_inputrules(node) or {}
mesecon.mergetable(mesecon:get_any_outputrules(node) or {}, rules)
rules = mesecon.get_any_inputrules(node) or {}
mesecon.mergetable(mesecon.get_any_outputrules(node) or {}, rules)
end
for _, r in ipairs(mesecon:flattenrules(rules)) do
if (mesecon:cmpPos(mesecon:addPosRule(self_pos, r), from_pos)) then
for _, r in ipairs(mesecon.flattenrules(rules)) do
if (mesecon.cmpPos(mesecon.addPosRule(self_pos, r), from_pos)) then
return true
end
end
@ -36,7 +36,7 @@ local wire_updateconnect = function (pos)
local connections = {}
for _, r in ipairs(mesecon.rules.default) do
if wire_getconnect(pos, mesecon:addPosRule(pos, r)) then
if wire_getconnect(pos, mesecon.addPosRule(pos, r)) then
table.insert(connections, r)
end
end
@ -79,13 +79,13 @@ local update_on_place_dig = function (pos, node)
and minetest.registered_nodes[node.name].mesecon_wire then
rules = mesecon.rules.default
else
rules = mesecon:get_any_inputrules(node) or {}
mesecon.mergetable(mesecon:get_any_outputrules(node) or {}, rules)
rules = mesecon.get_any_inputrules(node) or {}
mesecon.mergetable(mesecon.get_any_outputrules(node) or {}, rules)
end
if (not rules) then return end
for _, r in ipairs(mesecon:flattenrules(rules)) do
local np = mesecon:addPosRule(pos, r)
for _, r in ipairs(mesecon.flattenrules(rules)) do
local np = mesecon.addPosRule(pos, r)
if minetest.registered_nodes[minetest.get_node(np).name]
and minetest.registered_nodes[minetest.get_node(np).name].mesecon_wire then
wire_updateconnect(np)