daily pastebin goal
61%
SHARE
TWEET

ComputerCraft Tutorial: cultivate0_3

hevohevo Nov 3rd, 2013 139 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- ########################
  2. -- cultivate <n>
  3. -- version 0.3
  4. -- ########################
  5.  
  6. -- #############
  7. -- config
  8. ARGS = {...}
  9. MAX = ARGS[1]
  10. SEED_SLOT = 1
  11. MEAL_SLOT = 2
  12.  
  13. -- ##################
  14. -- define functions
  15. function plantSeed()
  16.   turtle.select(SEED_SLOT)
  17.   if turtle.place() then
  18.     return true
  19.   else
  20.     print('failed: plantSeed')
  21.     return false
  22.   end
  23. end
  24.  
  25. function getMeals()
  26.   turtle.select(MEAL_SLOT)
  27.   if turtle.suckUp() then
  28.     -- succeed in sucking meals
  29.     if turtle.getItemCount(MEAL_SLOT) < 4 then
  30.       -- but, meals < 4
  31.       print('failed: getMeals, meal < 4 ')
  32.       return false
  33.     else
  34.       -- ok, meals > 3
  35.       print('getMeals')
  36.       return true
  37.     end
  38.   else
  39.     -- failed to sucking meals
  40.     print('failed: suckUp')
  41.     return false
  42.   end
  43. end
  44.  
  45.  
  46. function dropItems(begin_slot, end_slot)
  47.   print('drop items: slots ',begin_slot,'-',end_slot)
  48.   for i=begin_slot, end_slot do
  49.     turtle.select(i)
  50.     turtle.dropDown()
  51.   end
  52.   turtle.select(1)
  53. end
  54.  
  55. function useMeals()
  56.   if turtle.getItemCount(MEAL_SLOT) < 4 then
  57.     if getMeals()==false then
  58.       return false
  59.     end
  60.   end
  61.  
  62.   turtle.select(MEAL_SLOT)
  63.   turtle.place()
  64.   turtle.place()
  65.   turtle.place()
  66.   return true
  67. end
  68.  
  69. -- useMeals() and useMeals2() are the same functions.
  70. function useMeals2()
  71.   if (turtle.getItemCount(MEAL_SLOT) < 4) and (getMeals()==false) then
  72.     return false
  73.   else
  74.     turtle.select(MEAL_SLOT)
  75.     turtle.place()
  76.     turtle.place()
  77.     turtle.place()
  78.     return true
  79.   end
  80. end
  81.  
  82. function harvest()
  83.   turtle.select(SEED_SLOT)
  84.   turtle.dig()
  85. end
  86.  
  87. -- ##################
  88. -- Main
  89. turtle.dig()
  90. for i=1,MAX do
  91.   print(i,'/',MAX)
  92.  
  93.   if plantSeed() == false then break end
  94.   if useMeals() == false then break end
  95.  
  96.   harvest()
  97.  
  98.   if i%50==0 then dropItems(3,16) end
  99.  
  100. end
  101.  
  102. dropItems(3,16)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top