What my Quarry 1.0b does differently from excavate:
- It digs up to 3 layers in each pass, by taking advantage of the turtle's ability to dig forward, below and above itself. It's still fairly slow because it's the same number of dig operations, but it uses only about 1/3 the fuel of 'excavate', and is marginally faster. The fuel use is optimal if your quarry is a multiple of 3 layers deep, and you give the turtle plenty of fuel (see feature 3 below).
- You can specify one, two or three dimensions for your quarry. If you supply 1 parameter, it digs a square that size to bedrock. if you supply 2 parameters, it digs a rectangle to bedrock with the length and width you supplied. If you supply all 3 parameters, you are specifying length by width by depth.
- Slot 1 (upper left) is a designated fuel slot. You don't need to pre-fuel the turtle, though this is still an option for long unattended digs. The turtle will refuel from slot 1,1 fuel item at a time, on an as-needed basis, and will not dump from this slot until the end of the run. I personally stack lava cells in there and let 'er rip!
- My quarry's bottom profile will not be as flat as excavate's because I make no assumption about how many levels bedrock exists on. This is for compatibility with worlds generated by non-Vanilla chunk-generation algorithms (such as MystCraft)
- I heavily commented my code, so that others can easily understand what I did and make use of it.
- It digs the quarry forward, to the right, and down from where the turtle starts.
- It expects a chest behind its starting position, to dump its findings and tailings.
- It detects and attacks mobs using the same boilerplate movement code as excavate, extended to cover forward, up and down digging and attacking
- It digs away sand and gravel, even if it falls from above after an upward dig.
- It comes back to a chest behind its starting point to dump when full.
- It returns to the starting point when it needs fuel (so no running out of fuel while under lava!)
- It stops when it finds bedrock, can dig out under it, but knows how to back itself out.
- Being selective in what it digs. This quarry program digs out every block, unlike AustinKK's. It does this because I don't just want ores, I want tons of netherrack for my magma crucible, and loads of cobble for my automated stronghold stone brick crafting setup. So I filter and sort after digging, using diamond buildcraft pipes.
- Refueling from a chest. I didn't want to over-complicate things with second chest placement, and you can pre-fuel turtles easily with the built-in refuel program. Also, if you're on a server with IC2, a stack of 64 lava cells in slot 1 is enough to dig a massive hole (about 34 x 34 from y=64 down to bedrock on my 1.4.2. server where 1 lava is 1200 fuel).
- Placing torches - looking into this.
- Digging up (sorry, this quarry goes down, like excavate)
- Surviving chunk unloads or server reboots. I'm looking into this, and checking out how to use 'startup' programs to bootstrap and resume from position-save files. That is a future update.
- Dig shapes. I know how to dig cylinders and spheres, and I'm working on those programs now, using this simple rectanguloid digger as my code base.
Download from in the turtle at the prompt like this:
>pastebin get PAPDddcb quarry