From b1afacfbb178d7f57633963256aca5d8bfe37371 Mon Sep 17 00:00:00 2001 From: kepler155c Date: Tue, 20 Mar 2018 05:00:52 -0400 Subject: [PATCH] 1.7.10 compatibility --- apps/chestManager.lua | 58 ++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/apps/chestManager.lua b/apps/chestManager.lua index 7bda898..42ea03d 100644 --- a/apps/chestManager.lua +++ b/apps/chestManager.lua @@ -1086,39 +1086,35 @@ function listingPage:applyFilter() end local function getTurtleInventory() - local list = { } - if duckAntenna then - for _,v in pairs(duckAntenna.getAllStacks(false)) do - if v.qty > 0 then - v.name = v.id - v.damage = v.dmg - v.displayName = v.display_name - v.count = v.qty - v.maxDamage = v.max_dmg - v.maxCount = v.max_size - v.nbtHash = v.nbt_hash - if not itemDB:get(v) then - itemDB:add(v) - end - table.insert(list, v) + local list = duckAntenna.getAllStacks(false) + for _,v in pairs(list) do + v.name = v.id + v.damage = v.dmg + v.displayName = v.display_name + v.count = v.qty + v.maxDamage = v.max_dmg + v.maxCount = v.max_size + v.nbtHash = v.nbt_hash + if not itemDB:get(v) then + itemDB:add(v) end end itemDB:flush() - else - for i = 1,16 do - local qty = turtle.getItemCount(i) - if qty > 0 then - turtleChestAdapter:insert(i, qty) - local items = turtleChestAdapter:listItems() - local _, item = next(items) - turtleChestAdapter:extract(1, qty, i) - table.insert(list, item) - end - end + return list end - return list + local inventory = { } + for i = 1,16 do + local qty = turtle.getItemCount(i) + if qty > 0 then + turtleChestAdapter:insert(i, qty) + local items = turtleChestAdapter:listItems() + _, inventory[i] = next(items) + turtleChestAdapter:extract(1, qty, i) + end + end + return inventory end local function learnRecipe(page) @@ -1135,7 +1131,13 @@ local function learnRecipe(page) ingredients = ingredients, } - if #results > 1 then + local numResults = 0 + for _,v in pairs(results) do + if v.count > 0 then + numResults = numResults + 1 + end + end + if numResults > 1 then for _,v1 in pairs(results) do for _,v2 in pairs(ingredients) do if v1.name == v2.name and