Advertisement
x8-bitx

WheatSimple

Dec 6th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.06 KB | None | 0 0
  1. --placeholders
  2. turned = false
  3. size = "10x10"
  4. --rowdone
  5. rdone = false
  6. cdone = false
  7. --turtles actual position R,C
  8. tapos = {1,1}
  9. --Visual Layout
  10. function rsetV()
  11. vlayout = {
  12.   {"####### [1-12]W [13-16]S #######"},
  13.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  14.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  15.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  16.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  17.   {"[ ]","[ ]","[ ]","[ ]","[X]","[X]","[ ]","[ ]","[ ]","[ ]"},
  18.   {"[ ]","[ ]","[ ]","[ ]","[X]","[X]","[ ]","[ ]","[ ]","[ ]"},
  19.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  20.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  21.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  22.   {"[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]","[ ]"},
  23.   {"##############################"}
  24. }
  25. end
  26. --turtlepositionRow turtlepositionColumn
  27. function drawMap(tposR, tposC)
  28.   term.clear()
  29.   term.setCursorPos(1,2)
  30.   rsetV()
  31.   vlayout[tposR+1][tposC] = "[@]"
  32.   for k,v in pairs(vlayout) do
  33.     for s,j in pairs(vlayout[k]) do
  34.       write(j)
  35.     end
  36.     write("\n")
  37.   end
  38. end
  39.  
  40. function fHome()
  41.   while true do
  42.     if turtle.detectUp() then
  43.       if turned then
  44.         turtle.turnRight()
  45.       end
  46.       break
  47.     else
  48.       turned = true
  49.       while turtle.back() do end
  50.       turtle.turnLeft()
  51.     end
  52.   end
  53.   drawMap(1,1)
  54.   return true
  55. end
  56.  
  57. function eInv()
  58.   for i = 1, 16 do
  59.     turtle.select(i)
  60.     local inn = turtle.getItemCount()
  61.     if inn > 8 then
  62.       turtle.dropUp(inn-5)
  63.     end
  64.   end
  65. end
  66.  
  67. function checkPlant()
  68.   --pickup remaining items
  69.   turtle.suckDown()
  70.  
  71.   local stat, insp = turtle.inspectDown()
  72.   if stat then
  73.     if insp.state.age == 7 then
  74.       return true
  75.     end
  76.     return false
  77.   end
  78. end
  79.  
  80. function harvest()
  81.   if checkPlant() == true then
  82.     turtle.select(1)
  83.     turtle.digDown()
  84.     turtle.suckDown()
  85.     for i = 13,16 do
  86.       turtle.select(i)
  87.       turtle.placeDown()
  88.     end
  89.   end
  90. end
  91.  
  92. function garden()
  93.   for i = 1, 10 do
  94.     tapos[1] = i
  95.     if i == 1 or i == 3 or i == 5 or i == 7 or i == 9 then
  96.       repeat
  97.         if turtle.forward() then
  98.           drawMap(tapos[1],tapos[2])
  99.           tapos[2] = tapos[2]+1
  100.           --Insert plant check
  101.           harvest()
  102.         end
  103.         if tapos[2] == 10 then
  104.           rdone = true
  105.         end
  106.       until rdone == true
  107.         rdone = false
  108.     end
  109.     if i == 2 or i == 4 or i == 6 or i == 8 or i == 10 then
  110.       repeat
  111.         if turtle.back() then
  112.           drawMap(tapos[1],tapos[2])
  113.           tapos[2] = tapos[2]-1
  114.           --Insert plant check
  115.           harvest()
  116.         end
  117.         if tapos[2] == 1 then
  118.           rdone = true
  119.         end
  120.       until rdone == true
  121.         rdone = false
  122.     end
  123.     turtle.turnRight()
  124.     turtle.forward()
  125.     turtle.turnLeft()
  126.   end
  127.   turtle.turnRight()
  128.   for i = 1,9 do
  129.     turtle.back()
  130.   end
  131.   turtle.turnLeft()
  132. end
  133.  
  134. fHome()
  135. while true do
  136.   eInv()
  137.   garden()
  138. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement