Sunday, February 13, 2011

Large Constructions in Minecraft

I've been goofing around with Minecraft single player since alpha-something-or-other.  Legitimate spelunking can still be fun, but I also enjoy building improbably large things.  This is really only made practical by the wonderful MCEdit.

Here's a 144x144x128 mob trap.


Outside view showing the scale of the building. (v.2, different world)


The top half is made of pitch-black spawning trays and short canals ending in 2x2 holes.  The bottom is mostly empty space, partly filled by a large number of falling / drowning traps.  The key to the design is the observation that the potential spawning zone is (currently, as of beta) a subset of a 17x17 chunk volume, which contains many millions of blocks, but the active mob cap is quite small.  The goal here is to both control most of the spawn volume and to kill everything in it as quickly as possible in order to allow new mobs to spawn.  None of the canals in the spawning zone is more than 15 blocks long.  Each one ends in a very long fall into shallow moving water, which then leads to a drowning trap for the mobs not killed by the fall.  The very bottom of the structure is just a network of collection canals.

The distant wall appears to be made of floating blobs because I converted all the rock in the surrounding areas into glass; the sky blue color is actually distance fogging and the blobs are everything that isn't rock.



I liked the "visible Minecraft" effect so much that I built a 10 km railway with all the surrounding rock, dirt, and gravel converted to glass.  Gold ore was converted to lightstone for additional underground illumination. 


The effect is visible at night through the bottom of the ocean.


Sunrise seen through a hillside.




And now for something completely different:  A forested crater which extends all the way to the rendering horizon.


Night view.


The original site was mostly ocean.  The crater was constructed in MCEdit by creating a very large sphere of dirt using the brush tool, then creating a slightly smaller sphere of air centered within the dirt, also using the brush tool.  Technically this was only a section of a sphere, as it was made much larger than the 128-block maximum height in order to keep the steepest part of the bowl shallow enough to hold trees.  The portion of the bowl above sea level was then deleted, and the crater rim integrated with the surrounding landscape in-game using pick, shovel, and dynamite.

But this just left a big bowl of dirt.  I wanted the area to be heavily forested.  How do you generate thousands of trees?

MCEdit filters to the rescue!  I learned enough Python to write a filter which picked random x,z coordinates within a selection block, located ground level, added a sapling there, and changed a nearby empty block to lightstone to help the sapling grow.  Then I entered the game and waited.

Once the forest was fairly dense, I dynamited several points on the rim and cleared out some of the foliage in order to create a network of waterfalls and rivers leading to pond in the center.  Next I added a rail terminus leading to my spawn point.  The last few steps were cleanup:  Removal of ungrown saplings and redundant lightstone blocks, both of which were performed with Python filters, along with a lot of detail tweaking in-game.

I'd originally planned to remove the lightstone after the trees were grown, but I found I really liked the effect at night.