Empty stacks returned nil, not 0
authorOlav Bakke Svendsen <mail@olavbs.no>
Wed, 11 Oct 2023 21:36:07 +0000 (23:36 +0200)
committerOlav Bakke Svendsen <mail@olavbs.no>
Wed, 11 Oct 2023 21:36:07 +0000 (23:36 +0200)
steam/temporary-coal-feeder.lua

index 6f33ff16495ed8f48e403d37885f8d71bf57e128..8bf7a48514d902cfae115d4515a5f51f00e63345 100644 (file)
@@ -22,7 +22,8 @@ end
 local locate_coal = function()
   local stock = {}
   for addr,barrel in pairs(barrels) do
-    stock[addr] = barrel.getItemDetail(1).count
+    local item = barrel.getItemDetail(1)
+    stock[addr] = item.count or 0
   end
   return stock
 end
@@ -30,7 +31,8 @@ end
 local feed = function(stock)
   local stock = stock
   for deployer_addr,deployer in pairs(deployers) do
-    if refill_when(deployer.getItemDetail(1).count) then
+    local deployer_item = deployer.getItemDetail(1)
+    if refill_when(deployer_item.count or 0) then
       local f = function() return false, "No coal available" end
       for barrel_addr,count in pairs(stock) do
         if count >= refill_amt then