summaryrefslogtreecommitdiff
path: root/mesecons_receiver/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mesecons_receiver/init.lua')
-rw-r--r--mesecons_receiver/init.lua65
1 files changed, 29 insertions, 36 deletions
diff --git a/mesecons_receiver/init.lua b/mesecons_receiver/init.lua
index 3b1108e..b06baa5 100644
--- a/mesecons_receiver/init.lua
+++ b/mesecons_receiver/init.lua
@@ -9,11 +9,11 @@ local receiver_get_rules = function (node)
local rules = { {x = 1, y = 0, z = 0},
{x = -2, y = 0, z = 0}}
if node.param2 == 2 then
- rules = mesecon:rotate_rules_left(rules)
+ rules = mesecon.rotate_rules_left(rules)
elseif node.param2 == 3 then
- rules = mesecon:rotate_rules_right(mesecon:rotate_rules_right(rules))
+ rules = mesecon.rotate_rules_right(mesecon.rotate_rules_right(rules))
elseif node.param2 == 0 then
- rules = mesecon:rotate_rules_right(rules)
+ rules = mesecon.rotate_rules_right(rules)
end
return rules
end
@@ -81,83 +81,76 @@ minetest.register_node("mesecons_receiver:receiver_off", {
}}
})
-mesecon:add_rules("receiver_pos", {{x = 2, y = 0, z = 0}})
-
-mesecon:add_rules("receiver_pos_all", {
-{x = 2, y = 0, z = 0},
-{x =-2, y = 0, z = 0},
-{x = 0, y = 0, z = 2},
-{x = 0, y = 0, z =-2}})
-
-function mesecon:receiver_get_pos_from_rcpt(pos, param2)
- local rules = mesecon:get_rules("receiver_pos")
+function mesecon.receiver_get_pos_from_rcpt(pos, param2)
+ local rules = {{x = 2, y = 0, z = 0}}
if param2 == nil then param2 = minetest.get_node(pos).param2 end
if param2 == 2 then
- rules = mesecon:rotate_rules_left(rules)
+ rules = mesecon.rotate_rules_left(rules)
elseif param2 == 3 then
- rules = mesecon:rotate_rules_right(mesecon:rotate_rules_right(rules))
+ rules = mesecon.rotate_rules_right(mesecon.rotate_rules_right(rules))
elseif param2 == 0 then
- rules = mesecon:rotate_rules_right(rules)
+ rules = mesecon.rotate_rules_right(rules)
end
- np = {
- x = pos.x + rules[1].x,
- y = pos.y + rules[1].y,
- z = pos.z + rules[1].z}
+ local np = { x = pos.x + rules[1].x,
+ y = pos.y + rules[1].y,
+ z = pos.z + rules[1].z}
return np
end
-function mesecon:receiver_place(rcpt_pos)
+function mesecon.receiver_place(rcpt_pos)
local node = minetest.get_node(rcpt_pos)
- local pos = mesecon:receiver_get_pos_from_rcpt(rcpt_pos, node.param2)
+ local pos = mesecon.receiver_get_pos_from_rcpt(rcpt_pos, node.param2)
local nn = minetest.get_node(pos)
if string.find(nn.name, "mesecons:wire_") ~= nil then
minetest.dig_node(pos)
- if mesecon:is_power_on(rcpt_pos) then
+ if mesecon.is_power_on(rcpt_pos) then
minetest.add_node(pos, {name = "mesecons_receiver:receiver_on", param2 = node.param2})
- mesecon:receptor_on(pos, receiver_get_rules(node))
+ mesecon.receptor_on(pos, receiver_get_rules(node))
else
minetest.add_node(pos, {name = "mesecons_receiver:receiver_off", param2 = node.param2})
end
- mesecon:update_autoconnect(pos)
+ mesecon.update_autoconnect(pos)
end
end
-function mesecon:receiver_remove(rcpt_pos, dugnode)
- local pos = mesecon:receiver_get_pos_from_rcpt(rcpt_pos, dugnode.param2)
+function mesecon.receiver_remove(rcpt_pos, dugnode)
+ local pos = mesecon.receiver_get_pos_from_rcpt(rcpt_pos, dugnode.param2)
local nn = minetest.get_node(pos)
if string.find(nn.name, "mesecons_receiver:receiver_") ~=nil then
minetest.dig_node(pos)
local node = {name = "mesecons:wire_00000000_off"}
minetest.add_node(pos, node)
- mesecon:update_autoconnect(pos)
+ mesecon.update_autoconnect(pos)
mesecon.on_placenode(pos, node)
end
end
minetest.register_on_placenode(function (pos, node)
if minetest.get_item_group(node.name, "mesecon_needs_receiver") == 1 then
- mesecon:receiver_place(pos)
+ mesecon.receiver_place(pos)
end
end)
minetest.register_on_dignode(function(pos, node)
if minetest.get_item_group(node.name, "mesecon_needs_receiver") == 1 then
- mesecon:receiver_remove(pos, node)
+ mesecon.receiver_remove(pos, node)
end
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 = { {x = 2, y = 0, z = 0},
+ {x =-2, y = 0, z = 0},
+ {x = 0, y = 0, z = 2},
+ {x = 0, y = 0, z =-2}}
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)
+ mesecon.receiver_place(np)
end
i = i + 1
end