diff --git a/oregen-manager.lua b/oregen-manager.lua index 7006526..cb9e01d 100644 --- a/oregen-manager.lua +++ b/oregen-manager.lua @@ -55,6 +55,8 @@ local LIMIT_EXCEPTIONS = { } -- 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 = { {"create:crimsite", CRUSHER_ADDR}, {"create:crushed_raw_iron", MELTER_ADDR}, @@ -70,9 +72,9 @@ local PRODUCTS = { {"minecraft:flint", CRUSHER_ADDR}, {"minecraft:nether_bricks", 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}, - {"create:crushed_raw_nickel", WASHER_ADDR, 32}, + {"create:crushed_raw_nickel", WASHER_ADDR, limit = 32}, {"tfmg:bauxite", CRUSHER_ADDR}, } @@ -219,9 +221,11 @@ function cycleItems (ticker, items) return makeRequest(item, amt - limit, addr, limit_override) end 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 local amt = items[name] + if keep ~= nil then amt = amt - keep end + if amt < 0 then amt = 0 end makeRequest(name, amt, addr, limit) end end