I thought I would try my hand at making my own version of Cubehamster's tree eater. My version uses some newer minecraft featuers like locking repeaters to count gravel.
I basically built the thing in creative, then rebuilt it in pieces, taking screenshots along the way, so that I would have a handy reference for when I built it in my survival world. I figured other people might be interested, so I put all the screenshots on this page, and annotated them.
I also included a zip of the creative world these screenshots came from at the bottom of the page.
NOTE: Minecraft 1.4.4 breaks this build. I have included instructions on how to fix it at the bottom. The world download has also been updated with the new fixes.
This is a huge build. You're going to need to gather a lot of materials before you start.
Note, these numbers are no longer accurate since I made some changes.. but they're in the ballpark.
You'll need a ton of redstone. 563 raw redstone + 651 redstone to build the repeaters + 251 to build the pistons + 22 for the torches + 80 for the lamps = 1567 redstone needed for this build. That's 24½ stacks of redstone.
I recommend something cheap for the wiring blocks since most of them will be hidden. I used snow for all my wiring blocks on my survival map. For the visible blocks, you'll need to choose a block that has slabs and stairs, or at least will look good next to some other material slabs and stairs. In the pictures below I use jungle wood on any blocks that can't be hidden.
Half of this contraption should be underground. I put mine in a ravine. If you want the entrance to be at ground level, you'll want to dig down 14 blocks (or 12 actually, since the entrance works better with a few stairs). The hole should be 15x15. The whole build is wider, but that's above ground.
Green wool blocks are new blocks. Blue wool blocks are blocks that were placed in a previous step.
We're building the timing circuits. Over on the left is part of a 2-tick pulse limiter. At the top is the timer loop. At the bottom is a loop counter that will automatically shut off the timer.
Note the redstone torches at A,B,C. They're all attached to the sides of the blocks.
We've finished the pulse generator, and attached the first non-sticky piston. This piston will push the gravel up to the trunk remover. We've also hooked up the output of the timing loop to the loop counter.
We add a piston to load the gravel, and attach a sticky piston to shut off the clock. When the counter hits the max, it will automatically shut off the clock.
Let's test it! Load up some gravel for testing. There should be 1 gravel on the upwards-facing piston, and exactly 11 gravel blocks on the block next to it.
Now temporarily put a button here and press it. If everything is done correctly, it should push the gravel over and up.. and shut off just as the very last gravel in the stack is being pushed over to the left. When you're done, leave the 12 gravel on the upward-facing piston.
Time to bring the timing signal upwards for the trunk remover.
Continue bringing the signal up.
Now we complete the top. You can see how if the gravel were pushed up one, the piston facing away from the camera could then push it onto the upwards facing piston. By the way, we do three 2-tick repeaters instead of a 4-tick repeater + a 2-tick repeater because we want the signal to remain just 2-ticks.
Testing time again! Fill up the gravel to just under the upwards-facing piston. The 12 gravel on the left are fine the way they are.
Go back down and hit the button. You should see the formation of a glorious gravel pillar. That's our trunk remover. Leave the gravel as it is, we'll fix it next step.
Place a sticky piston a block away from the upwards-facing piston, and add the wiring and the torch. Now remove the torch. The piston should retract and all the gravel will fall back down to where it belongs.
Now time to start wiring up the trunk remover latch. That 4-tick locking repeater goes where the torch just was. You can see how it will hold the trunk-removing piston out until the locking repeater is flashed off.
Time to bring our signal down to the timing circuits. This is standard torch-stepping a signal downwards. I'll also show you how it looks from the ground....
There you go.
While we're at it, let's bring the timer reset up. Even more-standard torch-stepping, upwards this time. Let's see it from the top...
Put that block there, put redstone on top. Easiest step yet.
Oh thank god, so sick of looking at wool. Those are both sticky pistons, floating in midair for now. In front of one is dirt. This will be the dirt that you plant the tree in. In front of the other is stairs of whatever material you like. I used jungle wood here, spraying it with some Pledge really brings out the grain.
Note the upside-down slab, it can be any type you want, you won't be able to see it. We're now building the dirt-replacement delay. After the trunk remover runs, we have to wait for the gravel to fall before replacing the dirt... so we're building this signal extender.
Completing the signal extender.
Now we start on the bud-switch. Note the obsidian, that is not optional.
Continuing on with the bud-switch. We bring the signal down, and you start to see why we used that slab earlier. When you place that torch, you will trigger the piston, that's fine.
This isn't the best angle, but what can you do. We're bringing the signal over and inverting it, note the torch on the side of the block. Use the glass (previously pushed out 1 block) to orient yourself.
The reset-half of the bud-switch. Note that the piston has extended and pushed the glass back over.
The torch on the left completes the bud-switch, the torch on the right disables it. (We'll wire that torch up next).
We'll bring the signal down from the other side of that "disabler" torch.
..and connect it to our signal extender. Note the new torch hanging off the side of the signal extender. This means the bud-switch will be disabled while the trunk remover is running, as well as while the gravel falls.
Time to build the bud-switch pulse-counter. Planting the sapling causes the bud-switch to trigger, then the tree growing causes it to trigger again. We only want the whole thing to go off the second time. So we have this small counter. The output is fed into the 4-tick signal extender on the left, and then loops back to clear the counter.
Finally, we hook up the output of our pulse-counter to our trigger line. That's a 1-tick repeater in case your eyes are going wonky from staring at wool all day.
Testing time is here again. Place a block right above the dirt, the bud switch should trigger, and you should see the first locked repeater in our counter over on the right light up. Then break the block, and the whole thing should fire off. The dirt and stairs will be pulled back. The trunk remover will build a skyscraper, you'll watch gravel fall, and then the dirt and stairs should be pushed back.
In an effort to combat sand duplication, Mojang has been screwing with how long it takes sand and gravel to begin to fall. Future versions might increase this delay more, if this happens, the dirt may get pushed back before the falling gravel scurries back underground. The fix is to place another repeater here. Just figured I'd let you know, since if you are from the future, this is the step where things went to shit.
While we're preparing for things going wrong, place some obsidian here. This will prevent gravel from pouring out the side if things screw up. Speaking of screwups...
Jesus, what a mess. This can happen if you screw up while wiring upstairs and inadvertantly send a long signal downstairs. You know it's fucked because the loop counter has multiple counts and the loop-shutoff piston is extended. The fix is is easy. Punch that torch. Wait for the piston to retract.. then kindly replace the torch you broke.
Now it's time to beautify the place. Place down slabs that match your stairs. This will become the main tree growing area. If you didn't screw up your count, those bottom slabs will be just above ground level. Don't get too far ahead though, we will be bending the path around a corner in a bit.
Now we'll build the walls up using full blocks (or double-slabs if you're into that sort of thing). We can't go any higher than this.
Take this opportunity to replace the 2 blue wool blocks with your decorative blocks. Be careful not to jam the bud-switch though. Break the block next to the piston first, then break the one in front. Then replace the blocks in reverse order. Otherwise you'll find the piston extended and be unable to place a block in front of it.
Now we start on the leaf-crushers. This is where you'll use all those pistons you've been saving. That's 2 regular pistons, and 4 sticky pistons. Plus a nice redstone lamp.
.. and duplicate your piston setup right above it. It's identical to the blocks below it, except we've changed the lamp with a block that matches our floor.
If it's not clear, we're going to be using our decorative blocks now. Simply because these blocks will be visible. Mostly. That slab won't be visible, but it does need to be a slab.
Duplicate our piston setup from earlier, working our way around. In case it wasn't clear from the floor, the rear-most piston should be aligned with the slab from earlier.
Complete a full circle. Don't forget the blocks and that slab on each side.
Now we'll connect our trigger line up to the leaf crusher. This will also make the wiring on this side of the crusher slightly different from the other 3. I'll point it out when we get to it.
Time to start wiring up the crushers. Of the 5 repeaters shown, two of them are at 2-ticks, the rest are all at 4-ticks.
This slab is also important.
Continuing our clockwise wiring and block placement. All repeaters here are 4 ticks. This completes one quarter of the loop. Just continue wiring exactly as before, working your way around.
As you work your way toward the bud-switch assembly, you'll come to this torch. This torch will require the block above it to be a slab. This is the only time that block needs to be a slab.
At the end of the loop, we come to our wiring change. We use slabs and blocks to step the signal up to what will become the next level.
Time to work on the next level. We do the 2 layers of pistons exactly like the first level. Right on top of them.
On this level, we've replaced a block with a slab. So for each quadrant, there are 3 slabs, all pictured above. This will repeat for all higher levels as well.
Build and wire this level exactly as you did the first level, and step up the wiring at the end just like you did below, as seen here.
Repeat the entire process until you have 5 levels.
At the very top, cap off the wiring with a block.
Now we need to bring the trunk remover pulse up to the very top. Fun.
Continuing on with our signal.
Finally to the very top. Don't forget that piston on the end. If you lined it up correctly, the piston should be to the side of where the trunk would come, and facing it.
We need to then put this pulse-extender on the connection to the leaf-crusher.
As it stands right now, there is a bug. The leaf crusher fails to crush this block of leaves.
The solution is to replace these bottom 4 blocks (that are slabs on all other levels) with glowstone. You could replace them with slabs if you prefer, but then you'll be able to see into the ugly guts of the tree eater.
Finally, you'll want to hook up a storage system for all your logs. You can use an auto-piston like this to snake your logs to whereever you want them to go. I recommend a cube storage system, which you'll find tutorials on. I may expand this tutorial later to include one if anyone really cares.
Minecraft 1.4.4 changed sand and gravel falling timings again. It broke a bit more than I was expecting it to break. Here are the changes necessary to fix the tree eater on 1.4.4.
First we need to change our pulse limiter to output a 1 tick pulse. We do this by changing that repeater on the left to 3-ticks. Then we have to change our timing loop to work with 1-tick pulses. This requires extending it by a few blocks, changing all the repeaters in the loop to 1 tick, and adding a 3-tick repeater to the output to the loop counter.
Next we move our shutoff piston over by 2 blocks. Makes sense, since we had to extend the timing loop.
Our counter needs to be trimmed by 1. Remove the last repeaters in each row, and replace the one repeater with redstone. You could remove those left-most two wool blocks if you like.
Now we need to put a pulse extender on our trigger line.. this is a good place for it.
I was right, gravel now takes too long to fall, so we need to extend our dirt-replacement timer by 12 ticks. We do this by extending the timing block by 1, and adding 3 repeaters all set to 4 ticks.
So now we need to trim the rest of our timing line down from 2 ticks to 1 tick. So change this repeater to 1 tick...
Change these 3 repeaters all down to 1 tick.
Don't forget this repeater...
..and this one...
..and finally these two. Now your tree eater will work in Minecraft 1.4.4.
If you have any problems, or even better, improvements, please let me know. sean at seancode.com.