Advertisement
Iepoev

sugarcanefarm_v2

Nov 9th, 2020 (edited)
907
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.69 KB | None | 0 0
  1. local modem = peripheral.wrap("right")
  2. modem.open(338)
  3.  
  4. function pathfind(block)
  5.     if block.name == "minecraft:oak_planks" then  -- turn right
  6.             turtle.turnRight()
  7.             turtle.dig()
  8.             turtle.forward()
  9.             turtle.digDown()
  10.             turtle.turnRight()
  11.     elseif block.name == "minecraft:spruce_planks" then  -- turn left
  12.             turtle.turnLeft()
  13.             turtle.dig()
  14.             turtle.forward()
  15.             turtle.digDown()
  16.             turtle.turnLeft()
  17.     elseif block.name == "minecraft:oak_slab" then  -- skip water
  18.             turtle.turnRight()
  19.             turtle.forward()
  20.             turtle.dig()
  21.             turtle.forward()
  22.             turtle.digDown()
  23.             turtle.turnRight()
  24.     elseif block.name == "minecraft:spruce_slab" then  -- skip water
  25.             turtle.turnLeft()
  26.             turtle.forward()
  27.             turtle.dig()
  28.             turtle.forward()
  29.             turtle.digDown()
  30.             turtle.turnLeft()
  31.     elseif block.name == "minecraft:stone" then -- go home
  32.             goHome()
  33.     end
  34. end
  35.  
  36.  
  37. function goHome()
  38.     turtle.turnRight()
  39.     turtle.up()
  40.     home = false
  41.     while not home do
  42.         turtle.forward()
  43.         bool, block = turtle.inspect()
  44.         if bool then
  45.             home = true
  46.         end
  47.     end
  48.     dumpAll()
  49.     modem.transmit(338, 1, "craft!")
  50.     turtle.turnRight()
  51.     turtle.digDown()
  52.     turtle.down()
  53. end
  54.  
  55. function dumpAll()
  56.     for i=2,16 do
  57.         turtle.select(i)
  58.         while turtle.getItemCount() > 0 do
  59.             turtle.drop()
  60.         end
  61.     end
  62.     turtle.select(1)
  63. end
  64.  
  65. function makeMove()
  66.     bool, blockForward = turtle.inspect()
  67.         if bool then
  68.             pathfind(blockForward)
  69.         else
  70.             turtle.forward()
  71.         end
  72. end
  73.  
  74. while true do
  75.     bool, block = turtle.inspect()
  76.     if bool then
  77.         if block.name == "minecraft:sugar_cane" then
  78.             turtle.dig()
  79.             turtle.forward()
  80.             turtle.digDown()
  81.         else
  82.             pathfind(block)
  83.         end
  84.     else
  85.         sleep(5)
  86.     end
  87. end
  88.  
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement