Advertisement
hohserg

trasposerAndPresent.lua

Dec 27th, 2019
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.48 KB | None | 0 0
  1. local c=require("component")
  2. local modem=c.modem
  3. local pim=c.transposer
  4. local io=require("io")
  5. local sides=require("sides")
  6.  
  7. local chestSide=sides["north"]
  8. local trashSide=sides["south"]
  9. local presentSide=sides["east"]
  10.  
  11. local function presentPredicate(stack)
  12.     --return stack.id=="OpenComputers:item" and stack.damage==88 --1.7.10
  13.     return stack.name=="opencomputers:misc" and stack.damage==2
  14. end
  15. local function trashPredicate(stack)
  16.     --return stack.id=="OpenComputers:item" and stack.damage==21 --1.7.10
  17.     return stack.name=="opencomputers:material" and stack.damage==15
  18. end
  19.  
  20. io.write("Command?\n")
  21. while true do
  22.     io.write(">")
  23.     local cmd = io.read()
  24.  
  25.     if cmd=="afk eject" then
  26.         for i=1,pim.getInventorySize(sides.up) do
  27.             pim.transferItem(sides.up,chestSide,64,i,i)
  28.         end
  29.         io.write("success!\n")
  30.     elseif cmd=="afk pick up" then
  31.         for i=1,pim.getInventorySize(sides.up) do
  32.             pim.transferItem(chestSide,sides.up,64,i,i)
  33.         end
  34.         io.write("success!\n")
  35.     elseif cmd=="start" then
  36.         modem.broadcast(111,"")
  37.         while true do
  38.             for i=9,1,-1 do
  39.                 stack=pim.getStackInSlot(sides.up,i)
  40.                 if stack and trashPredicate(stack) then
  41.                     pim.transferItem(sides.up,trashSide,64,i)
  42.                 else
  43.                     break
  44.                 end
  45.             end
  46.            
  47.             for i=1,9 do
  48.                 stack=pim.getStackInSlot(sides.up,i)
  49.                 if stack and presentPredicate(stack) then
  50.                     pim.transferItem(sides.up,trashSide,64,i)
  51.                 else
  52.                     break
  53.                 end
  54.             end
  55.             os.sleep(0)
  56.         end
  57.     elseif cmd=="exit" then
  58.         return
  59.     end
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement