feat: allow keeping products

keep = <num> allows a certain amount to not be processed
This commit is contained in:
Emerson Rosen-Jones 2026-01-12 21:34:49 -05:00
parent 154fe1e470
commit f0477c6a4d

View file

@ -55,6 +55,8 @@ local LIMIT_EXCEPTIONS = {
} }
-- if these exist, they will be used up -- if these exist, they will be used up
-- "limit" is the limit on the amt sent at a time
-- "keep" is the amount not to use up
local PRODUCTS = { local PRODUCTS = {
{"create:crimsite", CRUSHER_ADDR}, {"create:crimsite", CRUSHER_ADDR},
{"create:crushed_raw_iron", MELTER_ADDR}, {"create:crushed_raw_iron", MELTER_ADDR},
@ -70,9 +72,9 @@ local PRODUCTS = {
{"minecraft:flint", CRUSHER_ADDR}, {"minecraft:flint", CRUSHER_ADDR},
{"minecraft:nether_bricks", CRUSHER_ADDR}, {"minecraft:nether_bricks", CRUSHER_ADDR},
{"minecraft:basalt", CRUSHER_ADDR}, {"minecraft:basalt", CRUSHER_ADDR},
{"create:crushed_raw_silver", WASHER_ADDR, 16}, {"create:crushed_raw_silver", WASHER_ADDR, limit = 16},
{"minecraft:calcite", CRUSHER_ADDR}, {"minecraft:calcite", CRUSHER_ADDR},
{"create:crushed_raw_nickel", WASHER_ADDR, 32}, {"create:crushed_raw_nickel", WASHER_ADDR, limit = 32},
{"tfmg:bauxite", CRUSHER_ADDR}, {"tfmg:bauxite", CRUSHER_ADDR},
} }
@ -219,9 +221,11 @@ function cycleItems (ticker, items)
return makeRequest(item, amt - limit, addr, limit_override) return makeRequest(item, amt - limit, addr, limit_override)
end end
for _, pair in pairs(PRODUCTS) do for _, pair in pairs(PRODUCTS) do
local name, addr, limit = pair[1], pair[2], pair[3] local name, addr, limit, keep = pair[1], pair[2], pair.limit, pair.keep
if items[name] ~= nil then if items[name] ~= nil then
local amt = items[name] local amt = items[name]
if keep ~= nil then amt = amt - keep end
if amt < 0 then amt = 0 end
makeRequest(name, amt, addr, limit) makeRequest(name, amt, addr, limit)
end end
end end