Advertisement
demon012

loaderMulticart

Aug 17th, 2013
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.53 KB | None | 0 0
  1. Computer = {
  2.     rednetSide = "back"
  3. }
  4.  
  5. CartDetector = {
  6. }
  7. CartDetecter_mt = {__index = CartDetector}
  8. function CartDetector:create()--{{{
  9.     local new_cartDetector = {}
  10.     setmetatable(new_cartDetector, CartDetector_mt)
  11.     return new_cartDetector
  12. end--}}}
  13.  
  14. CartHolder = {
  15. }
  16.  
  17. function CartHolder:holdCart()--{{{
  18.     rs.setOutput(self.side, false)
  19. end--}}}
  20. function CartHolder:releaseCart()--{{{
  21.     rs.setOutput(self.side, true)
  22. end--}}}
  23.  
  24. CartHolder_mt = {__index = CartHolder}
  25. function CartHolder:create()--{{{
  26.     local new_cartHolder = {}
  27.     setmetatable(new_cartHolder, CartHolder_mt)
  28.     return new_cartHolder
  29. end--}}}
  30.  
  31. comp = Computer
  32. rs.setBundledOutput(comp.rednetSide, 0)
  33. cartDetLoader = CartDetector:create()--{{{
  34. cartDetLoader.side = 'right'--}}}
  35. cartDetLoaderLeave = CartDetector:create()--{{{
  36. cartDetLoaderLeave.side = 'left'--}}}
  37. cartHolderQueue1 = CartHolder:create()--{{{
  38. cartHolderQueue1.side = "back"
  39. cartHolderQueue1:releaseCart()--}}}
  40. cartLoading = true
  41.  
  42. while true do
  43.     event, param1, param2, param3 = os.pullEvent("redstone")
  44.     print("arrive: " .. textutils.serialize(rs.getInput(cartDetLoaderLeave.side)))
  45.     print("leave: " .. textutils.serialize(rs.getInput(cartDetLoaderLeave.side)))
  46.     if rs.getInput(cartDetLoader.side) then -- on to loader
  47.         print("Received cart arrive event")
  48.         cartHolderQueue1:holdCart()
  49.     end
  50.     if rs.getInput(cartDetLoaderLeave.side) then
  51.         print("Received cart leave event")
  52.         cartHolderQueue1:releaseCart()
  53.     end
  54. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement