gknova61

Shearer

Dec 31st, 2012
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.28 KB | None | 0 0
  1. sleepInterval = 400
  2.  
  3. if not turtle then
  4.     error("You need a turtle!")
  5. end
  6.  
  7. if fs.exists("gbang") then
  8.     os.loadAPI("gbang")
  9. else
  10.     error("You need the gbang API!")
  11. end
  12.  
  13. local function shear()
  14.     if turtle.getFuelLevel() < 64 then
  15.         print(gbang.getTime().." Fuel Level Too low to shear... waiting for recharge")
  16.         while true do
  17.             sleep(60)
  18.             if turtle.getFuelLevel() >= 64 then
  19.                 print(gbang.getTime().." Fuel level has reached enough to shear")
  20.                 break
  21.             end
  22.         end
  23.     end
  24.     num = 0
  25.     print(gbang.getTime().." Shearing TIEM")
  26.     for i=1,8 do
  27.         turtle.turnLeft()
  28.         turtle.forward()
  29.         num = num+1
  30.         turtle.select(num)
  31.         turtle.attack()
  32.         turtle.turnRight()
  33.         turtle.turnRight()
  34.         turtle.forward()
  35.         turtle.forward()
  36.         num = num+1
  37.         turtle.select(num)
  38.         turtle.attack()
  39.         turtle.back()
  40.         turtle.turnLeft()
  41.         turtle.forward()
  42.         turtle.forward()
  43.     end
  44.     while turtle.back() do
  45.         turtle.back()
  46.     end
  47.     turtle.turnRight()
  48.     turtle.turnRight()
  49.     for i=1,16 do
  50.         turtle.select(i)
  51.         turtle.drop()
  52.     end
  53.     turtle.turnRight()
  54.     turtle.turnRight()
  55.     turtle.select(1)
  56.     return true
  57. end
  58.  
  59. while true do
  60.     os.startTimer(sleepInterval)
  61.     local event = {os.pullEvent()}
  62.     if event[1] == "timer" then
  63.         shear()
  64.     elseif event[1] == "char" and event[2]:lower() == "s" then
  65.         shear()
  66.     elseif event[1] == "char" and event[2]:lower() == "f" then
  67.         print(gbang.getTime().." Current Fuel Level: "..turtle.getFuelLevel())
  68.     elseif event[1] == "char" and event[2]:lower() == "c" then
  69.         print()
  70.         print("Please enter the dest. fuel level: ")
  71.     aInput = tonumber(read())
  72.     if aInput <= turtle.getFuelLevel() then
  73.         while true do
  74.             print()
  75.             print("Turtle already at or higher than that fuel level!")
  76.             print("Please enter the dest. fuel level: ")
  77.             aInput = tonumber(read())
  78.             if aInput > turtle.getFuelLevel() then
  79.                 break
  80.             end
  81.         end
  82.     end
  83.     answer = aInput-turtle.getFuelLevel()
  84.     print()
  85.     if answer/20 >= 3600 then
  86.         print("It'll take "..math.floor((answer/20)).."sec ("..math.floor((answer/20/3600)).."hr) to get to fuel level "..aInput)
  87.     else
  88.         print("It'll take "..math.floor((answer/20)).."sec to get to fuel level "..aInput)
  89.     end
  90.     end
  91. end
Advertisement
Add Comment
Please, Sign In to add comment