MCEdit Filters‎ > ‎

Dungeon Schematic Randomizer (Master)

posted May 18, 2013, 8:44 PM by Adrian Brightmoore   [ updated Jan 20, 2015, 1:56 PM ]
/u/StezzerLolz approached me with an idea to procedurally generate dungeons in Minecraft. I have been bitten by the idea of redstone rooms and dark tunnels spanning a large underground area, where the player fights their way through the dark with nothing but flint and steel to light the way through the domain of zombies, spiders, skeletons and creepers. Solving redstone riddles and chasing after forgotten caches of treasure and equipment in ancient tombs.

Development discussion over at

v6 adds an option to stay within the selection box width, as well as a 'start in the centre' setting that places the first tile in the midle of the box.

New feature in v4 - spheres:

New feature in v4 - Cylinders:

New feature in v4 - cities:

This is an MCEdit Filter, which means it is a small python code script that is called by the MCEdit tool by a map maker like you. When it runs, it walks around the map, starting at a random location within the selection box. The starting room is on the surface of the world so the player can stumble upon the complex.

The algorithm then places the next room directly below the start room.

From this point it starts a random walk around the map, placing each next room on a random 'face' of the last room. There is a check before placing a room to see if there is a place to put it without accidentally colliding with a previous room.

Each room is a .schematic file which you create by exporting sections of your Minecraft world. I have supplied a hodge-podge of samples. Remember to consider exits in the ceiling and floor, unless you want the player to dig around.

V2 is a prototype for stringing together individual room and corridor schematics in a modular fashion. There is no bounds checking, bounding box collision checking, generation of doorways between rooms, or random loot distribution. V3 has bounding box checking - drop it into your filters directory after unziping v2.

To use this filter in your MCEdit sessions:
  1. Download the zip and uncompress

  2. Copy .py and the DungeonSchematics directory into your filters directory

  3. Make a test world, give it a bit of 'underground'. The Default generator is good, or use a "Tunneler's Dream" flat world.

  4. In MCEdit, select a small region, run the script

  5. Save and explore in game.

If you have room ideas, send them to me please. I am keen to start compiling a library of tricks and traps to make the dungeon crawl more interesting. So far I have submissions from:

And, as with previous filters, I will continue to add features.

Here are some development progress pictures - earliest at the bottom:

Complexes in the hills

Adrian Brightmoore,
May 26, 2013, 2:55 AM
Adrian Brightmoore,
May 26, 2013, 3:26 AM
Adrian Brightmoore,
May 21, 2013, 5:11 AM
Adrian Brightmoore,
May 26, 2013, 2:26 AM
Adrian Brightmoore,
Jun 21, 2013, 11:11 PM
Adrian Brightmoore,
Jul 19, 2013, 6:00 PM
Adrian Brightmoore,
Jan 20, 2015, 1:54 PM