fix(inferium-gui): fix createCountersMap function

This commit is contained in:
Guillaume ARM 2024-05-24 00:19:05 +02:00
parent 309cc3aae4
commit f1174fb6a2

View File

@ -10,17 +10,6 @@ local function centerString(str, width)
return string.rep(' ', padding) .. str
end
local function objectValues(t)
local result = {}
local i = 1
for _, v in pairs(t) do
result[i] = v
i = i + 1
end
return result
end
local function formatSeedName(essenceName)
return 'mysticalagriculture:' .. essenceName .. '_seeds'
@ -102,17 +91,29 @@ local function getMaxCounter(harvesters)
local maxCounter = 0
for _, harvester in pairs(harvesters) do
maxCounter = maxCounter + utils.sizeof(harvester.plan)
maxCounter = maxCounter + utils.sizeof(harvester.config.plan)
end
return maxCounter
end
local function getCountersMapFromIndexed(countersMapIndexed)
local countersMap = {}
local i = 1
for name, count in pairs(countersMapIndexed) do
countersMap[i] = { name = name, count = count }
i = i + 1
end
return countersMap
end
local function createCountersMap(harvesters)
local countersMapIndexed = {}
for _, harvester in pairs(harvesters) do
for _, seedName in pairs(harvester.plan) do
for _, seedName in pairs(harvester.config.plan) do
local name = parseSeedName(seedName)
if name then
local currentCounter = countersMapIndexed[name] or 0
@ -121,10 +122,11 @@ local function createCountersMap(harvesters)
end
end
return objectValues(countersMapIndexed)
return getCountersMapFromIndexed(countersMapIndexed)
end
local function main(serverName)
net.openRednet()
print('> fetching all configs from ' .. serverName)
local harvesters = fetchAllHarvesters(serverName)
print('> ' .. utils.sizeof(harvesters) .. ' harvesters fetched')
@ -133,6 +135,7 @@ local function main(serverName)
local countersMap = createCountersMap(harvesters)
local countersMapResult = CountersSelector(countersMap, getCountersSelectorConfig(maxCounter))
print(textutils.serialize(countersMapResult))
net.closeRednet()
end
main(INFERIUM_SERVER)