diff --git a/inferium-gui.lua b/inferium-gui.lua index d4ee091..009d3f2 100644 --- a/inferium-gui.lua +++ b/inferium-gui.lua @@ -1,6 +1,6 @@ local CountersSelector = require('libs/ui/CountersSelector') -local counterMax = 8 +local COUNTER_MAX = 8 local function centerString(str, width) width = width or term.getSize() @@ -8,23 +8,48 @@ local function centerString(str, width) return string.rep(' ', padding) .. str end -local titleFn = function(countersMap, _, win) - local total = 0; - for _, counterPayload in pairs(countersMap) do - if counterPayload and counterPayload.count then - total = total + counterPayload.count - end - end - - local width = win.getSize() - return centerString("" .. total .. '/' .. counterMax .. ' used farmlands' .. "", width) +local function formatSeedName(essenceName) + return 'mysticalagriculture:' .. essenceName .. '_seeds' end -local config = { - counterMax = counterMax, - titleFn = titleFn -} +local function parseSeedName(seedName) + local result, nbReplaced = string.gsub(seedName, 'mysticalagriculture:', '') + + if nbReplaced == 0 then + return nil + end + + local finalResult, nbFinalReplaced = string.gsub(result, '_seeds', '') + + if nbFinalReplaced == 0 then + return nil + end + + return finalResult +end + +local function getCountersSelectorConfig(counterMax) + local titleFn = function(countersMap, _, win) + local total = 0; + + for _, counterPayload in pairs(countersMap) do + if counterPayload and counterPayload.count then + total = total + counterPayload.count + end + end + + local width = win.getSize() + return centerString("" .. total .. '/' .. counterMax .. ' used farmlands' .. "", width) + end + + local config = { + counterMax = counterMax, + titleFn = titleFn + } + + return config +end local countersMap = { { name = "iron", count = 1 }, @@ -57,6 +82,10 @@ local countersMap = { { name = "test_25", count = 0 }, } -local result = CountersSelector(countersMap, config) --- term.clear() -print(textutils.serialize(result)) + +local function main() + local result = CountersSelector(countersMap, getCountersSelectorConfig(COUNTER_MAX)) + print(textutils.serialize(result)) +end + +main() \ No newline at end of file diff --git a/libs/ui/CountersSelector.lua b/libs/ui/CountersSelector.lua index f4742ee..98e9607 100644 --- a/libs/ui/CountersSelector.lua +++ b/libs/ui/CountersSelector.lua @@ -206,7 +206,6 @@ local function CountersSelector(initialCountersMap, config) local topHeight = 1 - -- term.clear() local width, height = term.getSize() local mainHeight = height - topHeight local nbOfElemsPerPage = mainHeight