From 9893c2dadaed685621d248ce2aa4301443ab095b Mon Sep 17 00:00:00 2001 From: HKXluo Date: Wed, 22 Oct 2025 13:10:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B7=BB=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E9=99=90=E5=88=B6=E5=87=BA=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Logistics/startup.lua | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Logistics/startup.lua b/Logistics/startup.lua index 937e68e..6841bfb 100644 --- a/Logistics/startup.lua +++ b/Logistics/startup.lua @@ -56,18 +56,23 @@ local function parseItemRequirements(input) -- Split key-value pairs for pair in content:gmatch("[^,]+") do + -- 支持JSON格式: "key":value local key, value = pair:match("[\"']?(.-)[\"']?%s*:%s*(%d+)") if key and value then requirements[key] = tonumber(value) end end else - -- Simple format: item:minCount + -- 只支持等号格式: item=count for item in input:gmatch("%S+") do - local name, minCount = item:match("([^:]+):(%d+)") + -- 匹配等号格式: modid:itemid=count + local name, minCount = item:match("([^=]+)=(%d+)") + + -- 如果匹配到等号格式 if name and minCount then requirements[name] = tonumber(minCount) else + -- 没有等号,视为只有物品名 requirements[item] = 0 -- No minimum requirement end end @@ -488,7 +493,7 @@ local function processCommand(cmd) local fluidsList = {} for name, minAmount in pairs(task.fluids) do if minAmount > 0 then - table.insert(fluidsList, name..":"..minAmount.."mB") + table.insert(fluidsList, name.."="..minAmount.."mB") else table.insert(fluidsList, name) end @@ -502,7 +507,7 @@ local function processCommand(cmd) local itemsList = {} for name, minCount in pairs(task.items) do if minCount > 0 then - table.insert(itemsList, name..":"..minCount) + table.insert(itemsList, name.."="..minCount) else table.insert(itemsList, name) end @@ -533,13 +538,11 @@ local function processCommand(cmd) print("Available commands:") print("add [items] - Add item transfer task") print(" Items format:") - print(" Simple: item1[:minCount] item2[:minCount] ...") - print(" JSON-like: {\"item1\":minCount, \"item2\":minCount}") + print(" Simple: item1[=minCount] item2[=minCount] ...") print(" Set minCount to 0 to transfer all available items") print("addfluid [fluids] - Add fluid transfer task") print(" Fluids format:") - print(" Simple: fluid1[:minAmount] fluid2[:minAmount] ...") - print(" JSON-like: {\"fluid1\":minAmount, \"fluid2\":minAmount}") + print(" Simple: fluid1[=minAmount] fluid2[:minAmount] ...") print(" Set minAmount to 0 to transfer all available fluid") print("list - List all tasks") print("remove - Remove task")