svennp

enderchest miner

Nov 14th, 2012
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.66 KB | None | 0 0
  1. -- RENAME THIS PROGRAM TO STARTUP --
  2. -- enderchest for fuel goes in slot 15
  3. -- enderchest for item dropoff goes in slot 16
  4.  
  5. -- ARGS --
  6.  
  7. args = {...}
  8. args[1] = tonumber(args[1])
  9.  
  10.  
  11. -- VARIABLES --
  12.  
  13. file = "config"
  14. usage = ("usage: programname [#] [left or right]")
  15.  
  16. -- STARTUP CODE --
  17.  
  18. if fs.exists(file) then
  19.     f = fs.open(file, "r")
  20.     left = tonumber(f.readLine())
  21.     turn = f.readLine()
  22.     len = tonumber(f.readLine())
  23.     f.close()
  24.     print("loaded config")
  25. else
  26.     if #args ~= 2 then
  27.         return print(usage)
  28.     elseif args[2] ~= "left" then
  29.         if args[2] ~= "right" then
  30.             return print(usage)
  31.         end
  32.     elseif args[2] ~= "right" then
  33.         if args[2] ~= "left" then
  34.             return print(usage)
  35.         end
  36.     end
  37.  
  38.     f = fs.open(file, "w")
  39.     f.writeLine("1")
  40.     f.writeLine(args[2])
  41.     f.writeLine(tostring(args[1]))
  42.     f.close()
  43.     print("config made")
  44.  
  45.     print("rebooting computer to save changes")
  46.     sleep(3)
  47.     os.reboot()
  48.  
  49. end
  50.  
  51. -- FUNCTIONS --
  52.  
  53. function refuel(poo)
  54.     digUp()
  55.     if turtle.getFuelLevel() < poo then
  56.         turtle.select(15)
  57.         turtle.placeUp()
  58.         turtle.suckUp()
  59.         turtle.dropUp(turtle.getItemCount(15)-2)
  60.         turtle.refuel()
  61.         turtle.refuel()
  62.         turtle.digUp()
  63.     end
  64. end
  65.  
  66. function unload()
  67.     digUp()
  68.     if turtle.getItemCount(9) > 0 then
  69.         turtle.select(16)
  70.         turtle.placeUp()
  71.         for o = 1,9 do
  72.             turtle.select(o)
  73.             turtle.dropUp()
  74.         end
  75.         turtle.select(16)
  76.         digUp()
  77.         if turtle.getItemCount(10) > 0 then
  78.             turtle.select(10)
  79.             turtle.transferTo(1)
  80.         end
  81.     end
  82.     turtle.select(1)
  83. end
  84.  
  85. function dig()
  86.   repeat
  87.     turtle.dig()
  88.     sleep(0.45)
  89.   until not turtle.detect()
  90. end
  91.  
  92. function digUp()
  93.   repeat
  94.     turtle.digUp()
  95.     sleep(0.45)
  96.   until not turtle.detectUp()
  97. end
  98.  
  99. function goforward()
  100.   while not turtle.forward() do
  101.     turtle.attack()
  102.   end
  103. end
  104.  
  105. function toggle(var)
  106.     if turn == "left" then
  107.         turn = "right"
  108.     elseif turn == "right" then
  109.         turn = "left"
  110.     end
  111. end
  112.  
  113. function save(lol,haha)
  114.     f = fs.open(file,"w")
  115.     f.writeLine(tostring(lol+1))
  116.     f.writeLine(haha)
  117.     f.writeLine(len)
  118.     f.close()
  119. end
  120.  
  121. -- CODE --
  122.  
  123. if turtle.getItemCount(16) < 1 then
  124.     turtle.select(16)
  125.     turtle.digUp()
  126. elseif turtle.getItemCount(15) < 1 then
  127.     turtle.select(15)
  128.     turtle.digUp()
  129. end
  130.  
  131. while true do
  132.  
  133.     turtle.select(1)
  134.  
  135.     for i = left,len-1 do
  136.         refuel(10)
  137.         unload()
  138.         turtle.digDown()
  139.         digUp()
  140.         dig()
  141.         goforward()
  142.         save(i,turn)
  143.     end
  144.  
  145.     if turn == "left" then
  146.         digUp()
  147.         turtle.digDown()
  148.         turtle.turnLeft()
  149.         dig()
  150.         goforward()
  151.         turtle.turnLeft()
  152.     elseif turn == "right" then
  153.         digUp()
  154.         turtle.digDown()
  155.         turtle.turnRight()
  156.         dig()
  157.         goforward()
  158.         turtle.turnRight()
  159.     end
  160.  
  161.     toggle(turn)
  162.     left = 1
  163.     save(left,turn)
  164. end
Advertisement
Add Comment
Please, Sign In to add comment