Advertisement
Liktorn

Liktorn's Mining Turtle

May 2nd, 2014
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Program:
  2. --   mine
  3. -- Original program by Direwolf20
  4. -- Modified by Kzorith and even more by Liktorn
  5. -- Description:
  6. --   Operates the mining wells and Force Manipulator
  7. -- Hardware requirements:
  8. --   1 Advanced Mining Turtle
  9. --   1 Rednet cable
  10.  
  11. function turnOff()
  12.     rs.setBundledOutput("bottom",0)
  13. end
  14. function startTesseract()
  15.     --  print what we are doing
  16.     print("Mining for 8 seconds")
  17.     --  set a redstone signal to activate the tesseract
  18.     --    (mine is white)
  19.     rs.setBundledOutput("bottom",colors.white)
  20.     --  wait 8 seconds for the mining operation to complete
  21.     sleep(8)
  22.     --  turn off all redstone signals
  23.     turnOff()
  24. end
  25.  
  26. function move()
  27.     --moving the platform
  28.     --  print what we are doing
  29.     print("Moving platform")
  30.     --  wait 5 seconds
  31.     sleep(5)
  32.     --  set a redstone signal to activate the Force Manipulator
  33.     --    (Move is orange)
  34.     rs.setBundledOutput("bottom",colors.orange)
  35.     -- make sure that the Force Manipulator have time to get the signal
  36.     sleep(1)
  37.     --  turn off all redstone signals
  38.     turnOff()
  39.     sleep(4)
  40.     -- and move the turtle 1 forward
  41.     turtle.forward()
  42.     -- and now, check if a block is present in front of the turtle
  43.     -- in that case, clear, and run the clearDebris program
  44.     if turtle.detect() then
  45.         print("Obstacle detected,")
  46.         print("running clearDebris program")
  47.         turtle.forward()
  48.         shell.run("clearDebris")
  49.     end
  50.        
  51.        
  52.        
  53. end
  54.  
  55. function placeChest()
  56.     print("Placing chest")
  57.     turtle.select(1)
  58.     turtle.place()
  59.     sleep(0.5)
  60.  
  61. end
  62.  
  63. function breakChest()
  64.     print("Breasking chest")
  65.     --brakes the chest in front of it
  66.     turtle.dig()
  67. end
  68.  
  69. function checkCable()
  70.     print("Checking for cable below")
  71.     -- checks if the cable is under the turtle
  72.     -- if not, the miner is stuck
  73.     -- run the clearDebris program
  74.     if turtle.detectDown() then
  75.       -- if true, then everything is allright and the miner can continue
  76.         print("Cable below, continuing")
  77.         placeChest()
  78.     else
  79.         -- no cable detected below. Thst means that the miner is stuck
  80.         -- no chest gets placed, and the main program can't detect
  81.         -- that a block is in the chest.The program pauses
  82.         print("Error: No cable below. Running the clearDebris program")
  83.         -- run the clear program to remove the debris
  84.         shell.run("clearDebris")
  85.         -- move the platform to the new cleared location
  86.         move()
  87.         return
  88.     end
  89. end
  90.  
  91. breakChest()
  92. startTesseract()
  93.  
  94.  
  95.  
  96. -- move the platform
  97. move()
  98. checkCable()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement