Localize some mesecons stuff

master
Wuzzy 2020-11-04 18:07:29 +01:00
parent eb52a05685
commit 32a516262e
4 changed files with 13 additions and 10 deletions

View File

@ -44,7 +44,8 @@ end
-- However, even that does not work in some cases, that's why we delay the time the globalsteps
-- start to be execute by 5 seconds
local get_highest_priority = function (actions)
local highestp = -1, highesti
local highesti
local highestp = -1
for i, ac in ipairs(actions) do
if ac.priority > highestp then
highestp = ac.priority

View File

@ -204,8 +204,8 @@ end
-- Deactivation
mesecon.queue:add_function("deactivate", function (pos, rulename)
node = minetest.get_node(pos)
effector = mesecon:get_effector(node.name)
local node = minetest.get_node(pos)
local effector = mesecon:get_effector(node.name)
if effector and effector.action_off then
effector.action_off(pos, node, rulename)
@ -225,8 +225,8 @@ end
-- Change
mesecon.queue:add_function("change", function (pos, rulename, changetype)
node = minetest.get_node(pos)
effector = mesecon:get_effector(node.name)
local node = minetest.get_node(pos)
local effector = mesecon:get_effector(node.name)
if effector and effector.action_change then
effector.action_change(pos, node, rulename, changetype)

View File

@ -211,6 +211,7 @@ function mesecon:update_autoconnect(pos, secondcall, replace_old)
local nodename = minetest.get_node(pos).name
if string.find(nodename, "mesecons:wire_") == nil and not replace_old then return nil end
local xp, xm, zp, zm, xpy, zpy, zmy, xmy
if mesecon:rules_link_anydir(pos, xppos) then xp = 1 else xp = 0 end
if mesecon:rules_link_anydir(pos, xmpos) then xm = 1 else xm = 0 end
if mesecon:rules_link_anydir(pos, zppos) then zp = 1 else zp = 0 end

View File

@ -149,13 +149,14 @@ end)
minetest.register_on_placenode(function (pos, node)
if string.find(node.name, "mesecons:wire_") ~=nil then
rules = mesecon:get_rules("receiver_pos_all")
local rules = mesecon:get_rules("receiver_pos_all")
local i = 1
while rules[i] ~= nil do
np = {
x = pos.x + rules[i].x,
y = pos.y + rules[i].y,
z = pos.z + rules[i].z}
local np = {
x = pos.x + rules[i].x,
y = pos.y + rules[i].y,
z = pos.z + rules[i].z
}
if minetest.get_item_group(minetest.get_node(np).name, "mesecon_needs_receiver") == 1 then
mesecon:receiver_place(np)
end