Advertisement
Guest User

CC_farm1_2017-03-28

a guest
Mar 29th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.58 KB | None | 0 0
  1. --##################
  2. -- for 27x9 farm
  3. -- Author: smk7758
  4. --##################
  5. -- Please set your farm size.
  6. FARM_SIZE_A = 27
  7. FARM_SIZE_B = 9
  8. --##################
  9. SEED_COUNT = 1
  10. SEED_SLOT = 1
  11.  
  12. function checkForJob()
  13.  print("Start check for job.")
  14.  
  15.  -- # checkFuel #
  16.  FARM_SIZE = FARM_SIZE_A * FARM_SIZE_B
  17.  print("FarmSizeA: " .. FARM_SIZE_A)
  18.  print("FarmSizeB: " .. FARM_SIZE_B)
  19.  print("FarmSize: " .. FARM_SIZE)
  20.  if turtle.getFuelLevel() >= FARM_SIZE then
  21.   print("Fuel: OK")
  22.  else
  23.   FUEL_SUPPLY = FARM_SIZE - turtle.getFuelLevel()
  24.   print("Fuel: Erorr")
  25.   print("Not enough fuel. Please supply fuel: " .. FUEL_SUPPLY .. "\(in coal: " .. FUEL_SUPPLY / 80 .. "\)")
  26.   print("Press any key to stop this program.")
  27.   os.pullEvent("key")
  28.   print("Reboot.")
  29.   os.reboot()
  30.  end
  31.  
  32.  -- # checkSeed #
  33.  SEED_HAVE = 0
  34.  for i=1, 16 do
  35.   turtle.select(i)
  36.   SEED_HAVE = SEED_HAVE + turtle.getItemCount()
  37.  end
  38.  if SEED_HAVE >= FARM_SIZE then
  39.   print("Seed: OK")
  40.  else
  41.   SEED_SUPPLY = FARM_SIZE - SEED_HAVE
  42.   print("Seed: Erorr")
  43.   print("Not enough seed. Please supply seed: " .. SEED_SUPPLY)
  44.   print("Press any key to move this program.")
  45.   os.pullEvent("key")
  46.   print("Continue.")
  47.  end
  48. end
  49.  
  50. -- SLOT Manage
  51. function selectSeed()
  52.  if SEED_COUNT > 64 then
  53.   SEED_SLOT = SEED_SLOT + 1
  54.   -- Go to next SLOT
  55.   SEED_COUNT = 1
  56.   turtle.select(SEED_SLOT)
  57.  else
  58.   turtle.select(SEED_SLOT)
  59.  end
  60. end
  61.  
  62. function checkSeed()
  63.  if not turtle.detectDown() then
  64.   -- if: nothing down
  65.   selectSeed()
  66.  else
  67.   print("The block is down.")
  68.  end
  69. end
  70.  
  71. -- 植えていく。
  72. function put()
  73.  for i=1, FARM_SIZE_A - 1 do
  74.   checkSeed()
  75.   -- 植えS
  76.   isPut = turtle.placeDown()
  77.   -- 植える+結果報告。
  78.   if isPut then
  79.    -- 植えれた時。
  80.    SEED_COUNT = SEED_COUNT + 1
  81.   else
  82.    print("Can't plant.")
  83.   end
  84.   -- 植えF
  85.   turtle.forward()
  86.  end
  87.  -- #LastLine(A)
  88.  checkSeed()
  89.  -- S植え
  90.  isPut = turtle.placeDown()
  91.  -- 植える+結果報告。
  92.  if isPut then
  93.   -- 植えれた時。
  94.   SEED_COUNT = SEED_COUNT + 1
  95.  else
  96.   print("Can't plant.")
  97.  end
  98.  -- F植え
  99. end
  100.  
  101. function goRight()
  102.  turtle.turnRight()
  103.  turtle.forward()
  104.  turtle.turnRight()
  105. end
  106.  
  107. function goLeft()
  108.  turtle.turnLeft()
  109.  turtle.forward()
  110.  turtle.turnLeft()
  111. end
  112.  
  113. function returnHome()
  114.  turtle.turnRight()
  115.  for i=1, FARM_SIZE_B - 1 do
  116.   turtle.back()
  117.  end
  118.  turtle.turnLeft()
  119.  for i=1, FARM_SIZE_A do
  120.   turtle.back()
  121.  end
  122. end
  123.  
  124. -- #################
  125. -- Main
  126. checkForJob()
  127. sleep(1)
  128. print("Start.")
  129. turtle.forward()
  130.  
  131. put()
  132. goRight()
  133. put()
  134. goLeft()
  135. put()
  136. goRight()
  137. put()
  138. goLeft()
  139. put()
  140. goRight()
  141. put()
  142. goLeft()
  143. put()
  144. goRight()
  145. put()
  146. goLeft()
  147. put()
  148. --##################
  149. --Main_return
  150. returnHome()
  151. print("Complete.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement