local data = {} rednet.open("left") p = peripheral.wrap("bottom") function clearInv() for i = 1,16 do turtle.select(i) turtle.dropDown() end end function checkSlots(id) clearInv() data = {} local slot local name local slots = p.getAllStacks() for i,j in pairs(slots) do slot = i name = j["myst_book"]["destination"] -- print(name) data[slot]=name end rednet.send(id,"done") end function removeSlot(slot) p.pushItem("up", slot, 1) rs.setOutput("left", true) sleep(2) rs.setOutput("left", false) end function book(slot,id) p.pushItem("up", slot, 1) turtle.select(1) turtle.drop() sleep(5) getBook() turtle.select(1) turtle.dropDown() rednet.send(tonumber(id), "done") end function getBook() turtle.suck() end function getNames(id) local nameTbl = textutils.serialize(data) rednet.send(tonumber(id), nameTbl) end clearInv() while true do local id, msg, dis = rednet.receive() local newmsg = string.match(msg, "%a+") -- print(msg) if newmsg == "checkSlots" then checkSlots(id) elseif newmsg == "getNames" then getNames(id) elseif newmsg == "remove" then removeSlot(tonumber(string.match(msg, "%d+"))) rednet.send(id,"done") elseif newmsg == "books" then slot = string.match(msg, "%d+") book(tonumber(slot), id) end end