Compare commits

...

2 commits

Author SHA1 Message Date
Emerson Rosen-Jones
08d41fe70b feat: add andesite 2026-01-12 21:36:07 -05:00
Emerson Rosen-Jones
f0477c6a4d feat: allow keeping products
keep = <num> allows a certain amount to not be processed
2026-01-12 21:34:49 -05:00

View file

@ -28,6 +28,8 @@ local KEEP_STOCKED = {
["tfmg:nickel_nugget"] = 4 * 64, ["tfmg:nickel_nugget"] = 4 * 64,
["tfmg:lithium_nugget"] = 64, ["tfmg:lithium_nugget"] = 64,
["tfmg:bauxite_powder"] = 4 * 64, ["tfmg:bauxite_powder"] = 4 * 64,
["minecraft:flint"] = 0,
["minecraft:andesite"] = 4 * 64,
} }
local GLOBAL_LIMS = { local GLOBAL_LIMS = {
@ -52,9 +54,15 @@ local LIMIT_EXCEPTIONS = {
lower = -1, lower = -1,
upper = 0, upper = 0,
}, },
["minecraft:flint"] = {
lower = 64,
upper = 2 * 64,
},
} }
-- 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},
@ -67,12 +75,12 @@ local PRODUCTS = {
{"minecraft:sand", WASHER_ADDR}, {"minecraft:sand", WASHER_ADDR},
{"minecraft:clay_ball", SMELTER_ADDR}, {"minecraft:clay_ball", SMELTER_ADDR},
{"minecraft:brick", HAUNTER_ADDR}, {"minecraft:brick", HAUNTER_ADDR},
{"minecraft:flint", CRUSHER_ADDR}, {"minecraft:flint", CRUSHER_ADDR, keep = 4 * 64},
{"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},
} }
@ -161,6 +169,21 @@ local RECIPES = {
addr = PRESS_ADDR, addr = PRESS_ADDR,
limit = 6, limit = 6,
}, },
["minecraft:flint"] = {
ingredients = {
{"minecraft:gravel", 64},
},
addr = WASHER_ADDR,
limit = 8,
},
["minecraft:andesite"] = {
ingredients = {
{"minecraft:flint", 64},
{"minecraft:gravel", 32},
},
addr = PRESS_ADDR,
limit = 6,
},
} }
local SLEEP_T = 20 local SLEEP_T = 20
@ -219,9 +242,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