This guide explains the simple details involved in creating your own dungeons.

[CREATING YOUR BUILDING AREA]

To get started, run Minecraft with Dimensional Doors installed and use the command "/dd-create". This will create an empty pocket dimension for you to build in. It used to be necessary to use this command to ensure that the resulting room was oriented properly for exporting. That's no longer the case; you can now create pockets in any way and they'll also work fine.

[CHOOSING YOUR BUILDING MATERIALS]

You can ONLY build a dungeon using regular Minecraft blocks and some Dimensional Doors blocks. Everything that is not a regular Minecrat block or part of the acceptable Dimensional Doors blocks will be turned into Fabric of Reality during both exporting and importing of the dungeon. This is a safety precaution against potentially serious crashes. The permitted blocks from Dimensional Doors are:

Fabric of Reality, Ancient Fabric, Eternal Fabric, Warp Doors, Dimensional Doors, and Transient Doors

Transient doors are only intended for use with Rift Gateway designs and may not be assigned a destination if loaded in a dungeon. Also note that rifts are not in the permitted list and will be filtered out. Entities (e.g. mobs, minecarts, items frames, and dropped items) will not be imported or exported either.

Previously, builders would have to use regular Minecraft doors and those would be converted into Warp Doors and Dimensional Doors when a design was imported. That behavior was changed to that players could use regular doors within their designs. All dimensional doors will be reset upon importing so creating paths within a single room is currently not possible.

[BUILDING YOUR DUNGEON]

The first step is to place the entrance door. That is where the player will appear when they teleport in for the first time. It is designated using a Warp Door. Any dungeon without an entrance door will fail to load.

You can place Dimensinoal Doors to connect your room to other rooms. You only have to place the doors where you want them. The doors will be linked to other rooms automatically whenever a player steps through.

You can also place Warp Doors to act as exits to the Overworld and other dimensions. Their destinations will be assigned automatically whenever a player steps through. Note that there is an extra step involved for this. Any exit doors must have a block of regular sandstone underneath to make the proper entrance clear. If you forget to place the sandstone block, then the mod may select one of your exit doors as the entrance. The mod will also automatically replace the sandstone block with the block underneath it.

Any empty chests or trapped chests will be loaded with loot automatically when the dungeon is imported. Chests or trapped chests with contents already will not be affected. Be sure not to leave loot inside your chests if you import and re-export any of your designs; this is a common mistake.

It used to be that empty dispensers would be filled automatically with a stack of arrows. That was needed before when loaded inventories could not be exported. Now that feature has been removed for added flexibility - in case someone needs to have empty dispensers in their designs.

Finally, End Portal Frame blocks act as special markers. When the dungeon is imported, the blocks are removed and Monoliths are spawned in their place. This is used to manually set up Monolith positions to ensure that certain areas of a dungeon are protected. It's not usually necessary to use those markers because have ways of assigning them random positions in a dungeon (explained below).

[EXPORTING YOUR DUNGEON]

Once you have finished creating your dungeon, you need to export it as a schematic file with the command "/dd-export <DungeonType> <DungeonName> <IsOpen> [SpawnWeight]"

The mod searches a 101 x 101 x 101 block cube (centered on the player's position) for blocks and chooses the smallest area that contains all of the blocks it finds. That area is then exported. Be careful about leaving garbage outside of the pocket in which you were building since it will be detected and exported along with everything else.

The following section explains each parameter for the command.

DungeonType: The dungeon types for the default Ruins are "Hub", "SimpleHall", "ComplexHall", "Trap", "Exit", and "DeadEnd".

    Hub: Dungeons that have 4 or more iron doors in them should be labeled as hubs, so they don't generate one after another.

    SimpleHall: Dungeons that contain one or two Dimensional Doors, but no more than that, and don't contain traps. These are the halls that separate rooms and are generally "closed" rooms.

    ComplexHall: These dungeons are more like rooms than hallways and can be open. They can have piston puzzles or locks, and up to three Dimensional Doors. In addition, they can contain wooden doors to link to the surface.

    Trap: These dungeons are primarily traps and often contain only a single iron door. The traps should never instantly kill the player, and it should be possible to beat them. They can contain either a reward/chest, or simply allow progress. Piston traps are very fun for these.

    Exit: The main purpose of these dungeons is to link back to Overworld with a wooden door. They should never contain iron doors.

    DeadEnd: Dungeons that have no other doors except the entrance. Usually contain some sort of treasure. 

Note that there used to be a Maze type as well. That type was changed for internal use. Dungeon types are specific to each dungeon pack and other type names may apply for other packs.

IsOpen: Indicates whether the dungeon is an open-air structure or a closed structure that should be surrounded by Monoliths. Monoliths prevent players from breaking out of closed structures to avoid puzzles or traps. The only valid values are "open" or "closed".

SpawnWeight: An optional integer that determines how frequently you want the dungeon to appear relative to others of the same type. The default weight is 100. Higher values cause a dungeon to generate more often, while lower values cause it to be less common. The minimum weight is 0 and the maximum weight is 10,000.

--------------------------

You can also use the command "/dd-export <fileName> override" to force the mod to export your surroundings as a schematic without following the naming restrictions above. This is useful for exporting a dungeon with a dungeon type that isn't part of Ruins.

Examples names:
    Hub_RuinsWithDoors_Open_100
    SimpleHall_WindingHallway_Closed_50
    Trap_CleverTrap_Closed

Although you can deviate from the format above, the current dungeon generation system requires that format to work properly. It will not select schematics that do not follow those naming rules.

Congratulations! You have added your own dungeon. You can use the command "/dd-rift <dungeonName>" to generate it, or use "/dd-list" to list all available dungeons.
