Advertisement
Guest User

farm

a guest
Aug 22nd, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.56 KB | None | 0 0
  1. -- NO EDIT
  2. local CHEST_SLOT = 2
  3. local FUEL_SLOT = 1
  4. local SEED_SLOT1 = 3
  5.  
  6. function inventoryFull()
  7.   if turtle.getItemCount(13) > 0 or turtle.getItemCount(14) > 0 or turtle.getItemCount(15) > 0 or turtle.getItemCount(16) > 0 then
  8.     return true
  9.   else
  10.     return false
  11.   end
  12. end
  13.  
  14. function emptyInventory()
  15.   turtle.select(CHEST_SLOT)
  16.   turtle.place()
  17.   sleep(0.5)
  18.  
  19.   for i = 4, 16, 1 do
  20.       while turtle.getItemCount(i) > 0 do
  21.           turtle.select(i)
  22.           turtle.drop()
  23.           sleep(0.5)
  24.       end
  25.   end
  26.   turtle.select(CHEST_SLOT)
  27.   turtle.dig()
  28. end
  29.  
  30. function checkFuelAndRefuelIfNeeded()
  31.   if turtle.getFuelLevel() < 5 then
  32.     turtle.select(FUEL_SLOT)
  33.     turtle.refuel(turtle.getItemCount(FUEL_SLOT)-1)
  34.   end
  35. end
  36.  
  37. function dig()
  38.  
  39.   turtle.digDown()
  40.   placeSeed()
  41.  
  42.   turtle.forward()
  43.  
  44. end
  45.  
  46. function placeSeed()
  47.   turtle.select(SEED_SLOT1)
  48.   turtle.placeDown()
  49.   sleep(0.5)    
  50. end
  51.  
  52. function goToNextRow(currentRow)
  53.   if currentRow % 2 == 0 then
  54.     turtle.turnLeft()
  55.     turtle.forward()
  56.     turtle.turnLeft()
  57.     turtle.forward()
  58.   else
  59.     turtle.turnRight()
  60.     turtle.forward()
  61.     turtle.turnRight()
  62.     turtle.forward()
  63.   end
  64. end  
  65.  
  66. -- main
  67. print("Length: ")
  68. local length = read()
  69. print("Width: ")
  70. local width = read()
  71.  
  72. for currentRow = 1, width, 1 do
  73.   if (currentRow > 1) then
  74.     goToNextRow(currentRow)
  75.   end
  76.  
  77.   for i = 1, length, 1 do
  78.    
  79.     if inventoryFull() then
  80.       emptyInventory()
  81.     end
  82.    
  83.     checkFuelAndRefuelIfNeeded()
  84.    
  85.     dig()
  86.   end
  87. end
  88.  
  89. emptyInventory()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement