Compare commits

..

2 commits

Author SHA1 Message Date
Emerson Rosen-Jones
9fe8b3f78c fix: reworks make_order
Trying to make it recursive broke it
2025-12-20 19:20:55 -05:00
Emerson Rosen-Jones
c3e20db2c5 feat: implements enoughMaterials function
purpose: check for materials to craft 2b of biofuel
2025-12-20 18:57:13 -05:00

View file

@ -57,7 +57,6 @@ local order = {
end, end,
biofuel = function (amt, ticker) biofuel = function (amt, ticker)
-- TODO -- TODO
amt = math.floor(amt / 125)
local request = function () local request = function ()
local biomass = { local biomass = {
name = "createaddition:biomass", name = "createaddition:biomass",
@ -73,20 +72,32 @@ local order = {
} }
return biomass, sugar, cinder_flour return biomass, sugar, cinder_flour
end end
local notEnoughMaterials = function () local enoughMaterials = function ()
-- TODO
-- use ticker to test ( biomass >= 32, sugar >= 16, and cinder flour >= 16 -- use ticker to test ( biomass >= 32, sugar >= 16, and cinder flour >= 16
local check = {}
check["createaddition:biomass"] = 32
check["minecraft:sugar"] = 16
check["create:cinder_flour"] = 16
for _, item in pairs(ticker.stock()) do
if check[item.name] then
check[item.name] = check[item.name] - item.count
end end
local make_order = function (amt_to_make, amt_made)
if amt_to_make <= 0 then return amt_made end
if notEnoughMaterials() then return amt_made end
local count = ticker.requestFiltered(BIOFUEL_PKG, request())
if count == 0 then return amt_made end
amt_to_make = amt_to_make - count
amt_made = amt_made + count
return make_order (amt_to_make, amt_made)
end end
return make_order (amt, 0) local enough_materials = true
for name, count in pairs(check) do
if count > 0 then enough_materials = false end
end
return enough_materials
end
local amt_made = 0
while amt_made < amt do
if not enoughMaterials() then break end
ticker.requestFiltered(BIOFUEL_PKG, request())
amt_made = amt_made + 2000
os.sleep(1)
end
return amt_made
end, end,
} }