1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
--[[
StreetsMod: Convert old trafficlights
]]
minetest.register_abm({
nodenames = {"streets:traficlight_bottom"},
interval = 2,
chance = 1
action = function(pos, node)
-- Replace controller with distributor
pos.y = pos.y - 1
minetest.set_node(pos, {name = "streets:digiline_distributor"})
-- Change bottom pole
pos.y = pos.y + 1
minetest.set_node(pos, {name = "streets:bigpole", param2 = 2})
-- Change middle pole
pos.y = pos.y + 1
minetest.set_node(pos, {name = "streets:bigpole", param2 = 2})
-- Change the top
pos.y = pos.y + 1
local fd = minetest.get_node(pos).param2
local nn = minetest.get_node(pos).name
local ch = minetest.get_meta(pos):get_string("channel")
minetest.set_node(pos, {name = "streets:bigpole", param2 = 2})
-- Place new top
if fd == 1 then
minetest.set_node({x = pos.x, y = pos.y, z = pos.z + 1}, {name = nn, param2 = fd})
minetest.get_meta(pos):set_string("channel", ch)
elseif fd == 2 then
minetest.set_node({x = pos.x, y = pos.y, z = pos.z - 1}, {name = nn, param2 = fd})
minetest.get_meta(pos):set_string("channel", ch)
elseif fd == 3 then
minetest.set_node({x = pos.x + 1, y = pos.y, z = pos.z}, {name = nn, param2 = fd})
minetest.get_meta(pos):set_string("channel", ch)
elseif fd == 4 then
minetest.set_node({x = pos.x - 1, y = pos.y, z = pos.z}, {name = nn, param2 = fd})
minetest.get_meta(pos):set_string("channel", ch)
end
end
})
|