Advertisement
LichtMarv

TurtleServer

Jan 17th, 2021 (edited)
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.89 KB | None | 0 0
  1. term.clear()
  2. term.setCursorPos(1,1)
  3.  
  4. local modem = peripheral.find("modem")
  5.  
  6. modem.open(20)
  7.  
  8. modem.transmit(10,20,{"GET","Pos"})
  9.  
  10. local turtleX = 0
  11. local turtleX = 0
  12. local turtleX = 0
  13. local bcount = 0
  14. local mineHeight = 11
  15. local mining_dir = {{1,0,0},{0,0,1},{-1,0,0},{0,0,-1}}
  16. local mineIndex = 1
  17.  
  18. function getTurltePos()
  19.     local _,side,rc,sc,data = os.pullEvent("modem_message")
  20.     turtleX = data[1]
  21.     turtleY = data[2]
  22.     turtleZ = data[3]
  23. end
  24.  
  25. function goToMine()
  26.     local payload = {"cmd","moveRH",{0,-(turtleY-mineHeight),0}}
  27.     modem.transmit(10,20,payload)
  28.     local _,side,rc,sc,data = os.pullEvent("modem_message")
  29.     if(data[1]) then
  30.         print("HAPPY TO LIVE")
  31.     end
  32. end
  33.  
  34. function Mine()
  35.     while(true) do
  36.         local payload = {"cmd","moveRP",mining_dir[mineIndex]}
  37.         bcount = bcount + 1
  38.         modem.transmit(10,20,payload)
  39.         local _,side,rc,sc,data = os.pullEvent("modem_message")
  40.         if(data[1] == "Value") then
  41.             print(data[2])
  42.             local payload = {"cmd","vein",1}
  43.             modem.transmit(10,20,payload)
  44.             local _,side,rc,sc,data = os.pullEvent("modem_message")
  45.         elseif(data[1] == "FULL" or bcount >= 50) then
  46.             local payload = {"cmd","home",1}
  47.             modem.transmit(10,20,payload)
  48.             local _,side,rc,sc,data = os.pullEvent("modem_message")
  49.             local payload = {"cmd","chest",1}
  50.             modem.transmit(10,20,payload)
  51.             local _,side,rc,sc,data = os.pullEvent("modem_message")
  52.             if(mineIndex == 4) then
  53.                 mineHeight = mineHeight + 2
  54.                 if(mineHeight >= 60) then
  55.                     return
  56.                 end
  57.                 mineIndex = 0
  58.             end
  59.             mineIndex = mineIndex + 1
  60.             bcount = 0
  61.             goToMine()
  62.         end
  63.     end
  64. end
  65.  
  66. getTurltePos()
  67. goToMine()
  68. Mine()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement