@@ -8,64 +8,41 @@ local flib = require('__flib__.data-util')
8
8
9
9
local icon_encoded_position = { { icon = " __LogisticTrainNetwork__/graphics/icons/encoded-position.png" , icon_size = 64 , tint = {r = 1 , g = 1 , b = 1 , a = 1 } } }
10
10
11
- local lococount = 0
12
- for _ , loco in pairs (data .raw [" locomotive" ]) do
13
- lococount = lococount + 1
11
+ local function create_signal (prototype , order )
14
12
local signal = {
15
13
type = " virtual-signal" ,
16
- name = " ltn-position-" .. loco .name ,
17
- icons = flib .create_icons (loco , icon_encoded_position ) or icon_encoded_position ,
14
+ name = " ltn-position-" .. prototype .name ,
15
+ icons = flib .create_icons (prototype , icon_encoded_position ) or icon_encoded_position ,
18
16
icon_size = nil ,
19
17
subgroup = " ltn-position-signal" ,
20
- order = " a " .. string.format ( " %02d " , lococount ) ,
21
- localised_name = {" virtual-signal-name.ltn-position" , loco .localised_name or {" entity-name." .. loco .name }}
18
+ order = order ,
19
+ localised_name = {" virtual-signal-name.ltn-position" , prototype .localised_name or {" entity-name." .. prototype .name }}
22
20
}
23
21
data :extend ({signal })
24
22
end
25
23
24
+ local lococount = 0
25
+ for _ , loco in pairs (data .raw [" locomotive" ]) do
26
+ lococount = lococount + 1
27
+ create_signal (loco , " a" .. string.format (" %02d" , lococount ))
28
+ end
29
+
26
30
local wagoncount = 0
27
31
for _ , wagon in pairs (data .raw [" cargo-wagon" ]) do
28
32
wagoncount = wagoncount + 1
29
- local signal = {
30
- type = " virtual-signal" ,
31
- name = " ltn-position-" .. wagon .name ,
32
- icons = flib .create_icons (wagon , icon_encoded_position ) or icon_encoded_position ,
33
- icon_size = nil ,
34
- subgroup = " ltn-position-signal" ,
35
- order = " b" .. string.format (" %02d" , wagoncount ),
36
- localised_name = {" virtual-signal-name.ltn-position" , wagon .localised_name or {" entity-name." .. wagon .name }}
37
- }
38
- data :extend ({signal })
33
+ create_signal (wagon , " b" .. string.format (" %02d" , wagoncount ))
39
34
end
40
35
41
36
local wagoncount_fluid = 0
42
37
for _ , wagon in pairs (data .raw [" fluid-wagon" ]) do
43
38
wagoncount_fluid = wagoncount_fluid + 1
44
- local signal = {
45
- type = " virtual-signal" ,
46
- name = " ltn-position-" .. wagon .name ,
47
- icons = flib .create_icons (wagon , icon_encoded_position ) or icon_encoded_position ,
48
- icon_size = nil ,
49
- subgroup = " ltn-position-signal" ,
50
- order = " c" .. string.format (" %02d" , wagoncount_fluid ),
51
- localised_name = {" virtual-signal-name.ltn-position" , wagon .localised_name or {" entity-name." .. wagon .name }}
52
- }
53
- data :extend ({signal })
39
+ create_signal (wagon , " c" .. string.format (" %02d" , wagoncount_fluid ))
54
40
end
55
41
56
42
local wagoncount_artillery = 0
57
43
for _ , wagon in pairs (data .raw [" artillery-wagon" ]) do
58
44
wagoncount_artillery = wagoncount_artillery + 1
59
- local signal = {
60
- type = " virtual-signal" ,
61
- name = " ltn-position-" .. wagon .name ,
62
- icons = flib .create_icons (wagon , icon_encoded_position ) or icon_encoded_position ,
63
- icon_size = nil ,
64
- subgroup = " ltn-position-signal" ,
65
- order = " d" .. string.format (" %02d" , wagoncount_artillery ),
66
- localised_name = {" virtual-signal-name.ltn-position" , wagon .localised_name or {" entity-name." .. wagon .name }}
67
- }
68
- data :extend ({signal })
45
+ create_signal (wagon , " d" .. string.format (" %02d" , wagoncount_artillery ))
69
46
end
70
47
71
48
-- sum items, fluids and train composition signals for number of slots required in stop output
@@ -85,5 +62,4 @@ for type, type_data in pairs(data.raw) do
85
62
end
86
63
87
64
data .raw [" constant-combinator" ][" logistic-train-stop-output" ].item_slot_count = 4 + lococount + wagoncount + wagoncount_fluid + wagoncount_artillery + itemcount + fluidcount
88
- log (" [LTN] found " .. tostring (itemcount ).. " items, " .. tostring (fluidcount ).. " fluids, " .. tostring (lococount ).. " locomotives, " .. tostring (wagoncount + wagoncount_fluid + wagoncount_artillery ).. " wagons" )
89
-
65
+ log (string.format (" [LTN] found %d items, %d fluids, %d locomotives, %d cargo wagons, %d fluid wagons, %d artillery wagons." , itemcount , fluidcount , lococount , wagoncount , wagoncount_fluid , wagoncount_artillery ))
0 commit comments