Advertisement
tobiasfr82

modem

Mar 10th, 2015
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.31 KB | None | 0 0
  1. -- Program name: modem
  2. -- Programmer: Tobias Fransson
  3. -- E-mail: tobiasfr82@gmail.com // Need to create a new e-mail for this function.
  4. -- Purpose: Accept wireless commands from ComputerCraft terminal, create shorthand system for turtle api commands.
  5.  
  6. -- NOTES:
  7. -- Always look the same way that the computer or turtle is facing.
  8. -- This allows you to get the correct left and right side of the computer or turtle.
  9.  
  10. -- Load important supportive sub-programs
  11. --  os.loadAPI("subprograms/cutRubberTree")
  12.     os.loadAPI("subprograms/advancedCommands")
  13.     os.loadAPI("subprograms/select")
  14.     os.loadAPI("subprograms/dofiles/refuel")
  15. --  os.loadAPI("settings/settings")
  16.  
  17.     rednet.open("right") -- Activates the modem, it turns red to indicate that it is on.
  18.  
  19. -- Print message on how to terminate the program if caught in an infinite loop.
  20.  
  21. --print.clear()
  22. print("To terminate the program in case of an infinite loop error, shows as not being able to input a new command.")
  23. print("Then press and hold CTRL + T")
  24.  
  25. -- Now wait for commands using a while loop using a rednet.Recieve event.
  26.  
  27.     while true do
  28.         id,message = rednet.receive()
  29.         if id == 147 then
  30.  
  31. -- Basic MOVEMENT commands -> Listen for & execute.
  32.  
  33.             if message == "left" then
  34.                 turtle.turnLeft()
  35.             end
  36.             if message == "right" then
  37.                 turtle.turnRight()
  38.             end
  39.             if message == "up" then
  40.                 turtle.up()
  41.             end
  42.             if message == "down" then
  43.                 turtle.down()
  44.             end
  45.             if message == "forward" then
  46.                 turtle.forward()
  47.             end
  48.             if message == "back" then
  49.                 turtle.back()
  50.             end
  51.        
  52. -- Basic ACTION Commands -> Listen for & execute.
  53.  
  54.             if message == "place" then
  55.                 turtle.select(2)
  56.                 turtle.place()
  57.             end
  58.             if message == "placeUp" then
  59.                 turtle.select(2)
  60.                 turtle.placeUp()
  61.             end
  62.             if message == "placeDown" then
  63.                 turtle.select(2)
  64.                 turtle.placeDown()
  65.             end
  66.             if message == "dig" then
  67.                 turtle.dig()
  68.             end
  69.             if message == "digUp" then
  70.                 turtle.digUp()
  71.             end
  72.             if message == "digDown" then
  73.                 turtle.digDown()
  74.             end
  75.             if message == "detect" then
  76.                 turtle.detect()
  77.             end
  78.             if message == "detectUp" then
  79.                 turtle.detectUp()
  80.             end
  81.             if message == "detectDown" then
  82.                 turtle.detectDown()
  83.             end
  84.             if message == "suck" then
  85.                 turtle.suck()
  86.             end
  87.             if message == "suckUp" then
  88.                 turtle.suckUp()
  89.             end
  90.             if message == "suckDown" then
  91.                 turtle.suckDown()
  92.             end
  93.             if message == "refuel" then
  94.                 refuel()
  95.             end
  96.            
  97.            
  98.             if message == "refuel2" then
  99.                 turtle.refuel(64)
  100.             end
  101.            
  102.             if message == "farmRubberTree" then
  103.                 dofile('farmRubberTree')
  104.             end
  105.        
  106.  
  107. -- Advanced ACTION Commands -> Listen for & execute.
  108.  
  109.         if message == "mDig" then
  110.             advancedCommands.mDig()
  111.         end
  112.  
  113.         if message == "mDigUp" then
  114.             advancedCommands.mDigUp()
  115.         end
  116.  
  117.         if message == "mDigDown" then
  118.             advancedCommands.mDigDown()
  119.         end
  120.        
  121. -- Inventory Selection code
  122.    
  123.     if message == "selectInventory1" then
  124.         select.inventorySlot1()
  125.     end
  126.     if message == "selectInventory2" then
  127.         select.inventorySlot2()
  128.     end
  129.     if message == "selectInventory3" then
  130.         select.inventorySlot3()
  131.     end
  132.     if message == "selectInventory4" then
  133.         select.inventorySlot4()
  134.     end
  135.     if message == "selectInventory5" then
  136.         select.inventorySlot5()
  137.     end
  138.     if message == "selectInventory6" then
  139.         select.inventorySlot6()
  140.     end
  141.     if message == "selectInventory7" then
  142.         select.inventorySlot7()
  143.     end
  144.     if message == "selectInventory8" then
  145.         select.inventorySlot8()
  146.     end
  147.     if message == "selectInventory9" then
  148.         select.inventorySlot9()
  149.     end
  150.     if message == "selectInventory10" then
  151.         select.inventorySlot10()
  152.     end
  153.     if message == "selectInventory11" then
  154.         select.inventorySlot11()
  155.     end
  156.     if message == "selectInventory12" then
  157.         select.inventorySlot12()
  158.     end
  159.     if message == "selectInventory13" then
  160.         select.inventorySlot13()
  161.     end
  162.     if message == "selectInventory14" then
  163.         select.inventorySlot14()
  164.     end
  165.     if message == "selectInventory15" then
  166.         select.inventorySlot15()
  167.     end
  168.     if message == "selectInventory16" then
  169.         select.inventorySlot16()
  170.     end
  171.  
  172. -- Run Sub-Programs via ????
  173.  
  174.     if message == "cutRubberTree" then
  175.         dofile('subprograms/dofiles/cutRubberTree')
  176.     end
  177.  
  178. -- Beginning of Refueling program
  179.     -- Get fuel from box on left side of turtle to 1st inventory slot, top left row.
  180.        
  181.         if message == "refuel" then
  182.             advancedCommands.getCoal()
  183.         end
  184.    
  185. -- Beginning of Get saplings program
  186.     -- Get saplings from box on left side of turtle to 2nd inventory slot, top row.
  187.        
  188.         if message == "getSaplings" then
  189.             advancedCommands.getSaplings()
  190.         end    
  191.        
  192.         if message == "dumpItems" then
  193.             advancedCommands.dumpItems()
  194.         end
  195.        
  196.  
  197. -- Leave these end's be    
  198.         end
  199.     end
  200. -- Need to add additional commands like dig left, right, up, down etc
  201. -- Also use the suck function to suck up item that drops such as saplings.
  202.  
  203. -- Lägg refuel, kolla efter bränsle, hämta bränsle, tanka
  204. -- checkSaplingLevel, enough saplings to plant (faktiskt värde +1), planta, annars hämta saplings
  205.  
  206. -- båda fungerar som specifika refueling program fast med olika specifics.
  207. -- Använd vertikala lådor till vänster för att hämta, en låda för varje, koda hämtning från ursprungsläget
  208. -- dumplådan är den som redan finns.
  209. -- Jag vill kunna se items och följa dem från dump till bränsle / saplings lådan!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement