CobbliMaker

From Wikicubia
Jump to navigation Jump to search
Project
CobbliMaker
Built by

Brickviking

Current Status

Finished

World

Tesseract

Province

Cyel

Location (x=-9999,z=9999)

Introduction

The CobbliMaker is a small project made by myself (Brickviking), with help from others. It's currently housed in Cyel, which has seen two moves since New Avalon.

Put simply, this isn't two holes in the ground with lava at one end and water at the other, a la CaptainSparklez. No baby, it's a bit bigger than that. To paraphrase from the Behemoth, it's water+lava+lots of pistons and redstone. Initial cuts at the Cobblimaker were of the "create a block, then shove it out horizontally" form. I then spent time fine tuning the resulting concept further.

Inception

Simply put, I watched a Skyblock Challenge youtube video done by CaptainSparklez. In that video, he created a dirt simple cobblestone generator, and that was when I first got introduced to the concept. Of course, he had to stand there every time a block was created, and hack it out with a pick, sometimes losing the block in the process.

Initial designs

Other cobble generators I had seen before and afterwards, such as the public cobble generator in Pixellia, worked on the theory of a lava block flowing against a pair of waterflows and creating two blocks of cobble that the user then chisels away with his pick, and waits for the waterflow to carry them to him. A user can quite happily sit here and generate a considerable number of stacks just by standing there and whacking blocks merrily. But it's not automated. Other automated versions simply pushed blocks out using a single piston. I thought of a small twist, how about using more than one piston?

First cuts

Pushing out the initial single block of cobble gained me a line of cobble blocks. I then had the idea of pushing this row out to further pistons, and pushing them out into further rows. First I separated them with obsidian channels, and created the six row Mk 84. I realised I could dispense with the separators and save myself obsidian in the process. That gained me a Mk 156. The pro? I got a lot of cobble, 12 rows of it. The cons? It was very slow, as it still only created one block at a time, then spent time shuffling blocks into place.

The next generation

If I could push along, why not up? Initial cuts with a horizontal piston array died before getting established, purely because I couldn't figure out a way to drive a flat piston array. Later on, I found it could be done, though I had to drive the columns down, not up. I set up such an array, and ended up with first the Mk 360, then eventually the Mk 720, each one having a series of slices pushed down from the generator (instead of pushing up like in later models), with walkways between each slice so I could access them individually.

Trying to teach people how to mine these slices effectively became a losing proposition with me eventually being the only one I actually fully trusted not to bollix the job and accidentally take out a piston or associated circuitry in the process. Needless to say, this got pretty complicated.

mredigeek showed me that pairs of pistons could be driven with a single repeater, and with this, my design was almost finalised. All that remained was some uhm, fine tuning. Instead of driving columns of cobble down from the top, how about pushing them out in horizontal slices instead, using a vertical array of pistons, all driven from the same clock that was driving the initial block generation to begin with? Easy enough, so I put that into play, only to realise that the time to create a slab was now up to 50 minutes. Not exactly fast.

My chief problem was the fact that only one block was being created. How about a whole line of lava and water? That, my friends, was the magic I needed. All I had to do was to push the line of created cobble out of the way, to allow another line of cobble to be created, and so on. For that, I needed to lay down a line of pistons pushing upwards. Then I found that it would push up a wall of cobble that was 12 units high, so I had to figure out how to push that wall out into a slab. Enter that vertical array I talked about in the last paragraph.

My next attempt at getting more blocks out of the CobbliMaker design was basically me trying to see if I could get it to create more cobble being pushed down, that failed until I went ahead and came up with the current module design implemented in the Behemoth.

Basic design

So, we have a line of water, then a gap, then a row of pistons one block down. The gap's necessary so that water flows down and not straight against the lava—otherwise we have our own obsidian generator, and I have to replace the lava all the time. Not good. So, next we have a line of lava, with a bank of pistons directly above that pushing out horizontally.

(Incidentally, this was originally the basis for an obsidian generator—simply remove the piston wall and piston floor, remove the circuitry, as pistons can't push obby anyhow, and find some way of lining a channel with redstone. Put a water flow up against that, place lava on top of the redstone, and boom. Obsidian. Take the lava away, mine the obsidian, put down more redstone, etc.) Of course, this was bollixed when 1.9 came along and the "glitch" that allowed redstone (or indeed string) to be turned into obsidian was finally patched out of existence.)

As you can push up to 13 blocks with 1 piston, we take out a block for the formation of cobble, you're left with 12 blocks you can push outwards. And as each piston in the wall can push out 13 blocks, you get 12 block high and 13 block wide slices, each containing 156 blocks.

The Hybrid Maker

Just as an aside, here's a model I stumbled on when I saw that Minecraft 1.1 had been released. This single-block maker produces both cobble and smoothstone, but not at the same time. The mechanics can be toggled—flick the switch one way, the generator makes cobble as normal. Flip it the other way, it'll start making smoothstone instead. I found this design on Youtube, so I implemented it with help from mredigeek. It was simple enough to make once I got the pistons in the right place, and the lava flowing down into the right area instead of being down on the bottom. I made quite a few blocks of obsidian before cottoning onto this fact. Server glitches meant that I didn't always get smoothstone. It's a shame I wasn't able to make the CobbliMaker a both-ways creator, but hey. The switching circuitry was already getting complicated enough.

The CobbliMaker Mk 1872

This was the final iteration of the design that I used, 12 slices wide. The wiring's a little more complicated once you expand past 12, but not overly so. I simply use redstone plus repeaters to each bank of 12 that I want to drive, borrowing this from my Behemoth design. In addition, I implemented a Full-Switch, meaning that the clock driving the whole system gets stopped once the slab is completely full. Clearing the whole slab, then removing the key, starts it all off again. In this regard, it's pretty much always ready to go. A nice additional touch, and I've added it to other models too. For those who know what a T-Bud is, that's what I used. Before I applied speedups, I was sitting at just over 11 minutes to produce 1,872 blocks.

For debugging the circuit, I also added kick-buttons, to "kick" the clock into action if it happens to be stuck. I also added a "lock-off" switch to stop the clock from running, and a "lock-on" switch, to check that pistons aren't stuck closed when they're meant to be active.

A distinct speed up, the Mk 1872s

A small tweak enabled a very significant decrease in the time it takes to generate the slab. In the 1872, I was driving the whole thing from one clock, making sure that the push-up pistons pushed first before the slabs start getting pushed out. I was spending half the time waiting for the pistons to retract and more cobble to form before I could kick the whole pushup-pushout cycle over again. Put bluntly, I was using too many repeaters.

That was fine to begin with, but there was one more twitch I could make on each circuit. The clock circuit is usually a cycling set of repeaters and a torch for me, about as basic as it gets. Previously, I'd just be tapping that at one place and letting it drive first the bottom pistons, then drive the top pistons, wait for the pistons to retract, then wait for more cobble to form. This isn't fast enough, because the clock seems to have about a 50% duty cycle, i.e. the signal goes high for half the time, then goes low for the other half.

So now, I tap the clock at one point during the cycle to drive the piston wall, and tap the clock at another point to drive the bottom pistons. On the way out from that clock circuit, I introduce a short circuit on each line that only spits out enough pulse to push out the pistons, then retract them almost straight away. The fact that the pistons are already retracted means I can shorten the time before I'm ready to push them out again. I did that to both the piston wall and to the bottom circuit, which is what gave me a much faster time. Interleaving the pushes means that I can push out the slabs of cobble with the piston wall while I wait for more cobble to form in the bottom channel. A win both ways.

I was also able to get rid of about six repeaters out of the clock and re-use them in the pulse circuits. I also dropped each of the remaining clock repeaters down to about two ticks each, and offset the clock, in effect making a short off pulse, and a long on pulse, bringing me down to 5 minutes 46 seconds to produce 1,872 blocks of cobble. And at the moment at least, I can't get it a lot faster, though I can certainly get bigger. Further tests offline and online enabled me to get the time down to a stellar 4 minutes 10 seconds for the same amount. Wow.

Updates to water flow

Some time later, I realised that I was getting cobble forming in the wrong place, stopping water flowing anywhere else. I reckon it must have been around that time that I had to extend the water bay out to seven blocks, leaving the eighth to form the cobble at the lava face. Once I made that change, the CobbliMaker worked without getting blocked up.

Future improvements to the 1872s

I could turn the T-Bud to further uses, and strip out most of the pistonwall cycles, just by waiting until I have a full vertical slice of cobble, then push out the whole slice sideways. It may not get me a lot faster speed, but it'll be less murderous on the server. The one disadvantage is that I'd need to disable the piston wall circuit each time I wanted to clear the slab, or I'd be turned into jelly.

The Behemoth

Described in its own page, the Behemoth uses the same CobbliMaker construction without the speedups in the 1872s, except I decided to stack units. So far, I've stacked 4 separate units all running off the same clock, but there's no reason I can't go higher, except for what happens to the server. That's a lot of redstone operating there, so practical concerns may limit me to only three stacks high, and possibly only twenty wide. The Behemoth was more an experiment to prove that yes, I could indeed go out as wide as I liked—in fact I ran up the initial test at 100 wide without stacking and struck no problems aside from the obvious lag of 14,400 blocks being all shifted at once. Stacking them three high at 51 wide gave me more blocks. Way more blocks. The Behemoth took this up to a staggering 23,868 blocks with 3 modules, and then 37,440 blocks with 60 slices and using 4 modules. Murder on servers, but great on the number of blocks created. Working in between the stacks caused its own problems with mobs spawning in the dark areas between layers, which I could easily fix by lining the edge of the waterbay with glowstone or some other lighting. There's no point in bothering with using full-switches with this many modules all going at once, although there's no reason why I couldn't lock off each module once the slab was made. Here's a link showing what the previous model looked like.


The SmoothiMaker

This needed a modification of my standard cobble maker design. Only working on 1.1 and later versions of Minecraft, the adjustments of lava flowing down onto water means we don't push the created blocks up one unit, but instead we need to push them up two units. This needs extra pistons, and further complicated circuitry. It too was also bollixed (I don't know how) some time after 1.5.2, meaning I was getting cobble forming, blocking up the water channel. It's sitting idle while I wait for water physics improvements to finally make it to minecraft after 1.13.

First tries

My second attempt at the SmoothiMaker consisted of me going back to the books and starting off with a single-block maker, pushing out a line of blocks. That was all very well, but how was I going to get this into a slab? By using a pair of makers, one at each end of a line of cobble. Double that, feeding the corners of a cube, and I potentially had the ability to produce a slab that was a massive 22x22x12. That's 5,808 blocks. Unfortunately, the time it would have taken to massage the blocks into a slab by creating them four at a time, meant that this model was not going to make it past the design phase. Even if I fed all eight corners of the cube, I still wasn't going to get the speed I wanted.

Success!

Thankfully, dnolan took my existing CobbliMaker and Behemoth design and figured out how to make smoothstone blocks get pushed up and out of the way sufficiently to create another line of smoothstone. In doing this, he provided me with the circuit, which I have since put into action as the SmoothiMaker Diamond. Taking one diamond pick to eat through the created smoothstone slab, it's easy to see why I called it that. It's a bit smaller, as I only set this up at 10 units wide, though it still pushes twelve blocks for each "slice" up and out. The circuitry for the Smoothstone making's definitely more complicated though. No pictures at this stage.

Where next?

No, I'm not making an automated Obsidianmaker. I can't push obby with pistons. Sigh. I actually can't think of other things that can be done that hasn't already been addressed by automation. I've seen automated melon, pumpkin and egg farms, semi-automated wheat farms (though you still have to plant the thing), semi-automated cane farms, and of course the mob spawners. Trees still have to be grown and harvested manually, and animals still have to be bred manually. Hmmm.

Slime killers, anyone?