Advertisement
Guest User

ernten3.lua

a guest
Aug 23rd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.25 KB | None | 0 0
  1. --- Ernten
  2. function what()
  3.     local data = turtle.getItemDetail()
  4.         if data then
  5.             return data.name
  6.         else
  7.             return "unknown"
  8.         end            
  9. end
  10.  
  11. function tostop()
  12. term.setCursorPos(19,1)
  13.         term.blit("TO STOP: Clear Slot 1","fffffffffffffffffffff","000000000000000000000")
  14. term.setCursorPos(1,12)
  15.  
  16.  
  17.  
  18. end
  19.  
  20. function dref(ru,min,mi)
  21.  
  22. dauer=ru*min+mi
  23.  
  24.       term.setCursorPos(1,1)
  25.        dd=tostring(dauer)
  26.     print(dd,"min to refuel             ")
  27.  
  28.      term.setCursorPos(1,12)
  29. tostop()
  30. end
  31.  
  32. function harvest()
  33.     local success, data = turtle.inspectDown()
  34.         if success then
  35.             reif=tonumber(data.metadata)
  36.                 if reif==7 then
  37.                     turtle.placeDown()
  38.                     sleep(0.5)
  39.                 end
  40.         end
  41. end
  42.  
  43.  
  44. function goarea(lg,br)
  45. r=1
  46. print(" ")
  47. tostop()
  48.     for x=1,br do
  49.         for y=1,lg do
  50.             term.setCursorPos(1,12)
  51.             print("working at ",x,y,"     ")
  52.                 term.setCursorPos(1,12)
  53.  
  54.             harvest()
  55.             if y<lg then
  56.                 if r==1 then
  57.                     turtle.forward()
  58.                 else
  59.                     turtle.back()
  60.                 end
  61.  
  62.  
  63.             end
  64.         end
  65.                 if x<br then
  66.                 turtle.turnRight()
  67.                 turtle.forward()
  68.                 turtle.turnLeft()
  69.             end
  70.             if r==1 then r=0
  71.             else
  72.                 r=1
  73.             end
  74.     end
  75.  
  76. end
  77. -----------
  78. print ("Range  Area Range  Area ")
  79. print (" 0     3x3    6    15x15")
  80. print (" 1     5x5    7    17x17")
  81. print (" 2     7x7    8    19x19")
  82. print (" 3     9x9    9    21x21")
  83. print (" 4    11x11  10    23x23")
  84. print (" 5    13x13  11    25x25")
  85.  
  86. print ("Range Number ?")
  87. el = tonumber(read())
  88. sl =(el+1)*2+1
  89. sb=sl
  90.  
  91.  
  92. prit=sl*sb
  93. print("Area = ",prit," Blocks")
  94. sprit=prit+4
  95.  
  96. print ("pause between harvest in minutes?")
  97. min = tonumber(read())
  98. sek=min*60
  99. tostop()
  100. turtle.up()
  101. turtle.forward()
  102.     f=turtle.getFuelLevel()
  103.  
  104.     runden=math.floor(f/prit)
  105.     dref(runden,min,0)  
  106.  
  107. while true do
  108.     turtle.select(1)
  109.         if turtle.getItemCount(1)  == 0 then
  110.             print("No Stick in Slot 1")
  111.             turtle.back()
  112.             turtle.down()
  113.             break
  114.         end
  115.  
  116. ---- Refuel
  117.         while f<sprit  do
  118.             for u=2,16 do
  119.                 turtle.select(u)
  120.                      
  121.                     if turtle.refuel(0) then      
  122.                             item= what()                             
  123.                                     stck = turtle.getItemCount(i)
  124.  
  125.  
  126.                             for t=1,stck do                    
  127.                                 f=turtle.getFuelLevel()
  128.                                         if f<sprit then
  129.                                                 turtle.refuel(1)
  130.                                         f=turtle.getFuelLevel()
  131.                                         print("Refuel:",item)
  132.                                                 print("FuelLevel = ",f)
  133.                                         end
  134.                             end
  135.                     end
  136.             end
  137.             turtle.select(1)
  138.         end
  139.  
  140. ---  AREA harvest
  141.     goarea(sl,sb)
  142.  
  143.  
  144.     turtle.turnRight()
  145.     turtle.turnRight()
  146.     f=turtle.getFuelLevel()
  147.  
  148. ---  Messages
  149.      
  150.  
  151.     local time = os.time()
  152.     local Mtime = textutils.formatTime(time, true)
  153.  
  154.     print("Fuel =",f,"of required",sprit)
  155.  
  156.      turtle.select(1)
  157.  
  158. print(" ")
  159.  
  160. --- Waiting
  161. runden=math.floor(f/prit)
  162.  
  163.         for m=1,sek do
  164.  
  165.             cd=sek-m
  166.             mm=math.ceil(cd/60)-1
  167.             ms=cd-mm*60
  168.              tostop()    
  169.             dref(runden,min,mm)  
  170.             term.setCursorPos(1,12)
  171.                 if mm<0 then
  172.                     print("waiting  00 : 00    ")
  173.                     term.setCursorPos(1,12)
  174.                 else
  175.                     print("waiting  ",mm,":",ms,"    ")
  176.                 end
  177.             sleep(1)
  178.                 if turtle.getItemCount(1)  == 0 then
  179.                     break
  180.                 end
  181.    
  182.  
  183.         end
  184. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement