Advertisement
AssortedBrunoz

oil_finder_turtle

Sep 16th, 2024 (edited)
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.21 KB | None | 0 0
  1. while true do
  2.     local oil_block = "tfmg:oil_deposit"
  3.     local computer_id = 1
  4.     rednet.open("left")
  5.  
  6.     local function check_surroundings()
  7.         local x, y, z = gps.locate()
  8.         local results = {}
  9.         local s, r = turtle.inspectUp()
  10.  
  11.         table.insert(results, r)
  12.         s, r = turtle.inspectDown()
  13.         table.insert(results, r)
  14.         for i = 1, 4, 1 do
  15.             s, r = turtle.inspect()
  16.             table.insert(results, r)
  17.             turtle.turnRight()
  18.         end
  19.         table.foreach(results, function(a,b)
  20.             if type(b) == "table" and b.name == oil_block then
  21.                 rednet.send(computer_id, {{x,y,z},turtle.getFuelLevel(), true})
  22.                 error("",0)
  23.             end
  24.         end)
  25.         rednet.send(computer_id, {{x,y,z},turtle.getFuelLevel(), false})
  26.     end
  27.  
  28.     local function refuel_toss()
  29.         for i = 1, 16, 1 do
  30.             turtle.select(i)
  31.             if turtle.getItemDetail(i) ~= nil and not string.find(turtle.getItemDetail().name, "coal") then
  32.                 turtle.drop()
  33.             end
  34.             turtle.refuel()
  35.         end
  36.         turtle.select(1)
  37.     end
  38.  
  39.     local function full_down()
  40.         repeat
  41.             turtle.down()
  42.             check_surroundings()
  43.         until not turtle.digDown() and turtle.detectDown()
  44.     end
  45.     local function return_to_base_height()
  46.         local x, y, z = gps.locate()
  47.         while y ~= -59 do
  48.             x, y, z = gps.locate()
  49.             turtle.up()
  50.         end
  51.     end
  52.  
  53.     full_down()
  54.     check_surroundings()
  55.     return_to_base_height()
  56.  
  57.     for z = 1, 15, 1 do
  58.         for x = 1, 15, 1 do
  59.             refuel_toss()
  60.             turtle.dig()
  61.             turtle.forward()
  62.             full_down()
  63.             return_to_base_height()
  64.         end
  65.         if z % 2 == 0 then
  66.             turtle.turnLeft()
  67.             turtle.dig()
  68.             turtle.forward()
  69.             full_down()
  70.             return_to_base_height()
  71.             turtle.turnLeft()
  72.         else
  73.             turtle.turnRight()
  74.             turtle.dig()
  75.             turtle.forward()
  76.             full_down()
  77.             return_to_base_height()
  78.             turtle.turnRight()
  79.         end
  80.     end
  81. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement