adamg765

newScale

Jan 21st, 2017
144
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local args = { ... }
  2. local top = 41
  3. local bottom = 2
  4. local width = 64
  5.  
  6. local xSep = 4
  7. local ySep = 4
  8.  
  9. local torches = 2
  10.  
  11. local function refuel()
  12.     if turtle.getFuelLevel() == 0 then
  13.         local prev = turtle.getSelectedSlot()
  14.         turtle.select(1)
  15.         if not turtle.refuel(1) then
  16.             print('Need more fuel')
  17.             while not turtle.refuel(1) do
  18.                 sleep(1)
  19.             end
  20.         end
  21.         turtle.select(prev)
  22.     end
  23. end
  24.  
  25. local function advance()
  26.     if turtle.getSelectedSlot() == 16 then
  27.         print('Need more materials')
  28.         local empty = true
  29.         while empty do
  30.             for n=3, 16 do
  31.                 print (n)
  32.                 if turtle.getItemCount(n) > 0 then
  33.                     empty = false
  34.                     turtle.select(n)
  35.                     return
  36.                 end
  37.             end
  38.             sleep(5)
  39.         end
  40.     else
  41.         turtle.select(turtle.getSelectedSlot() + 1)
  42.     end
  43. end
  44.  
  45. local function replace()
  46.     while turtle.detect() do
  47.         turtle.dig()
  48.         sleep(.5)
  49.     end
  50.     local data = turtle.getItemDetail()
  51.     while turtle.getItemCount() == 0 or turtle.getItemDetail().name ~= 'chisel:marble' do
  52.         advance()
  53.     end
  54.     turtle.place()
  55.    
  56. end
  57.  
  58. local function returnToFloor()
  59.     turtle.turnRight()
  60.     while not turtle.forward() do
  61.         turtle.dig()
  62.         sleep(.5)
  63.     end
  64.     turtle.turnLeft()
  65. end
  66.  
  67. local function checkForTorch(x, y)
  68.     if x % 6 == xSep then
  69.         if x % 2 == 0 then
  70.             if (y+3) % 6 == ySep then
  71.                 local prev = turtle.getSelectedSlot()
  72.                 turtle.select(torches)
  73.                 if not turtle.placeUp() then
  74.                     print 'Need more torches'
  75.                     while not turtle.placeUp() do
  76.                         sleep(5)
  77.                     end
  78.                 end
  79.                 turtle.select(prev)
  80.             end
  81.         else
  82.             if (y+3) % 6 == ySep then
  83.                 local prev = turtle.getSelectedSlot()
  84.                 turtle.select(torches)
  85.                 if not turtle.placeDown() then
  86.                     print 'Need more torches'
  87.                     while not turtle.placeDown() do
  88.                         sleep(5)
  89.                     end
  90.                 end
  91.                 turtle.select(prev)
  92.             end
  93.         end
  94.     end
  95. end
  96.            
  97. turtle.select(3)
  98. for i = 1, width, 1 do
  99.      local success, data = turtle.inspect()
  100.         if success then
  101.             if data.name ~= 'chisel:marble' then
  102.                 replace()
  103.             end
  104.         else
  105.             replace()
  106.         end
  107.     for j = 1, top-bottom, 1 do
  108.         refuel()
  109.         if i % 2 == 1 then
  110.             while not turtle.up() do
  111.                 if turtle.detect() then
  112.                     turtle.digUp()
  113.                 elseif turtle.attack() then
  114.                 else
  115.                     sleep(1)
  116.                 end
  117.             end
  118.         else
  119.             while not turtle.down() do
  120.                 if turtle.detect() then
  121.                     turtle.digDown()
  122.                 elseif turtle.attack() then
  123.                 else
  124.                     sleep(1)
  125.                 end
  126.             end
  127.         end
  128.         local success, data = turtle.inspect()
  129.         if success then
  130.             if data.name ~= 'chisel:marble' then
  131.                 replace()
  132.             end
  133.         else
  134.             replace()
  135.         end
  136.         checkForTorch(i,j)
  137.     end
  138.     returnToFloor()
  139. end
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×