magmablue

barrelFun

Dec 26th, 2022 (edited)
1,328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.51 KB | None | 0 0
  1. if not turtle then
  2.     printError("Requires a Turtle")
  3.     return
  4. end
  5.  
  6. local tArgs = {...}
  7. local tArgsCount = #tArgs
  8. local programName = "barrelFun"
  9. -- default args
  10.  
  11.  
  12. local barrelPosition = nil
  13.  
  14. function retrieveBarrelContents()
  15.     turtle.dig()
  16.     turtle.suck()
  17. end
  18.  
  19. function storeInventory()
  20.     turtle.turnRight()
  21.  
  22.     local inventoryCounter = 1
  23.     while inventoryCounter <15 do
  24.         local currentSlotDetail = turtle.getItemDetail(inventoryCounter)
  25.         turtle.select(inventoryCounter)
  26.         --print(inventoryCounter)
  27.         if not (currentSlotDetail == nil) then
  28.             --print(currentSlotDetail.name)
  29.             --print(currentSlotDetail.name == "minecraft:barrel")
  30.             if currentSlotDetail.name == "minecraft:barrel" and not turtle.compareTo(16) then
  31.                 --print("Barrel found at position " .. inventoryCounter)
  32.                 barrelPosition = inventoryCounter
  33.                 --print("Barrel recorded at position " .. barrelPosition)
  34.             else
  35.                 turtle.drop()
  36.             end
  37.         end
  38.         inventoryCounter = inventoryCounter+1
  39.     end
  40.  
  41.     turtle.turnLeft()
  42.  
  43.     if barrelPosition == 0 or barrelPosition == nil then
  44.         print("Special Barrel Not Found")
  45.         return
  46.     end
  47. end
  48.  
  49. function placeBarrel()
  50.     turtle.select(barrelPosition)
  51.     turtle.place()
  52.     barrelPosition = nil
  53. end
  54.  
  55. while true do
  56.     local fuelLevel = turtle.getFuelLevel()
  57.     if fuelLevel < 10 then
  58.         turtle.select(15)
  59.         turtle.refuel(1)
  60.         print("Refueling")
  61.     end
  62.  
  63.     retrieveBarrelContents()
  64.     sleep(.5)
  65.     storeInventory()
  66.     sleep(.5)
  67.     placeBarrel()
  68.     print("Pause for next loop")
  69.     sleep(2)
  70. end
Advertisement
Add Comment
Please, Sign In to add comment