SHOW:
|
|
- or go back to the newest paste.
| 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 | - | -- break the program |
| 62 | + | |
| 63 | function breakChest() | |
| 64 | print("Breasking chest")
| |
| 65 | --brakes the chest in front of it | |
| 66 | turtle.dig() | |
| 67 | - | while true do |
| 67 | + | |
| 68 | - | print("Error: No cable below. Miner stuck. Infinite loop")
|
| 68 | + | |
| 69 | - | return |
| 69 | + | |
| 70 | - | end |
| 70 | + | |
| 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() |