From f1174fb6a24980b709c7a8c267b893d88146a9e3 Mon Sep 17 00:00:00 2001 From: Guillaume ARM Date: Fri, 24 May 2024 00:19:05 +0200 Subject: [PATCH] fix(inferium-gui): fix createCountersMap function --- inferium-gui.lua | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/inferium-gui.lua b/inferium-gui.lua index 08aaf37..758a5dd 100644 --- a/inferium-gui.lua +++ b/inferium-gui.lua @@ -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) \ No newline at end of file