Repository navigation
Editor
The Dungeon Train editor is a built-in, in-world authoring tool. Build carriages, interiors, parts, tracks, pillars, and tunnels by placing blocks — save them as templates, and the train spawner picks from your saves at runtime, deterministically per car. Export your library as a zip package to share with friends.
Single-player creative already has it; survival players don't need to switch — entering the editor auto-grants creative and exiting restores your previous game mode.
You can launch the editor from the title screen "Train Editor" button, or in any
world: /dt editor or press X → Editor.
Entering the Editor teleports you to the Carriages plot grid.
The editor world sits at a stopped midday — no day/night cycle, no natural mob spawning — so every plot is authored under the same light. The one exception is a dimensional-carriage plot whose Sky is Day/Night: while you stand in it the clock runs at 10× (a full day in about two minutes) and snaps back to noon the moment you step out. See Sky.
A couple of seconds after you first enter the editor each session, a short welcome
message appears in chat with a quick orientation and a clickable @brennanhatton
mention — click it to message Brennan directly (it reaches him on Discord), so you
can ask questions or show off what you're building.
You stand in a plot — a bedrock-caged region, one per template. The status HUD
at the top of the screen tells you which plot you're in (Editor: Carriages / standard). Whatever you build inside the cage is what saves on /dt save.
Each kind of template has its own category and plot grid:
| Category | What you build |
|---|---|
| Carriages | The outer shell — walls, roof, doors as one monolithic NBT. |
| Carriage parts | Reusable FLOOR / WALLS / ROOF / DOORS overlaid on a shell. |
| Contents | The interior stamped inside a shell — chests, fixtures, decor. |
| Tracks | Open-air rail tiles, tiled along the train axis. |
| Pillars | Top / middle / bottom column sections + stair adjuncts. |
| Tunnels | Section + portal templates. |
Full walkthroughs in Templates.
Every plot has two ends, and they look alike. The editor names them: a blue Entrance floats over the doorway players walk in through, and a yellow Exit over the end they leave by, each in a matching wireframe box. The train runs in one direction, so the Entrance is always the end a rider reaches first.
Carriage and Contents plots get the words and the boxes only — the doorway itself is yours to build, so nothing is drawn over your blocks. Dimensional carriage rooms are the exception: their corridors are not part of the template at all, so the editor stands a see-through ghost door in each opening to show you what you have to build around.
The words fade in as you get close; the coloured boxes carry across the plot grid.
Turn the whole overlay off with /dt editor doorghosts off.
The editor has two layers that work together: templates and variants.
A template is one saved train piece — a carriage, a floor, a tunnel section. You build it block-by-block in its plot, hit save, and from then on the train can spawn it. The more templates you save in a category, the more variety you get as you ride — and you can weight them so some appear more often than others.
A variant is randomisation inside a single template, so two carriages built from the same template don't have to be identical:
- Block variants mark a block as "this could be any of these blocks." A windowed carriage could roll glass, stained glass, or iron bars at each window — different on every carriage, but consistent on the same one forever.
- Container variants mark a chest, barrel, hopper, or shulker with a loot pool. The spawner rolls the actual contents when the carriage appears.
Every roll — which template spawns, which block fills a variant slot, which items land in a chest — is tied to the world seed. Walk back over a stretch of track and you'll see the same carriages with the same blocks and the same loot, every time.
Three keys, layered on the same plot:
-
X— the command menu. Billboarded in-world panel for everything menu-driven: pick a category, save the plot, create / rename / remove templates, toggle DevMode, nudge weights, jump between templates. -
Z— block variants. Mark individual block positions with a random pool — every spawned carriage rolls a different state per cell. -
C— container variants. Open a chest / barrel / hopper / shulker and mark it with a weighted item pool that rolls into the container at spawn. -
V— the template blocks menu. Lists every block used in the plot with counts, and swaps one everywhere — structure and block-variant candidates alike — with whatever you're holding, keeping its orientation. Built for reskinning a duplicated template in one pass.
Every menu action also has a /dt … slash equivalent — see Commands.
Every number in the editor — weights, min / max levels (a mob variant's too), container fill, stack count and drop chances, room length / width / height, exit spacing, floor depth, book shares, menu distance, and the builder's tiles-per-row and room-size chips — is one cell that answers to the same three gestures (PR #2041):
| Gesture | Effect |
|---|---|
| click | +1 (chance cells step by 5) |
| shift-click or right-click | −1 |
| Cmd-click (Ctrl on Windows / Linux) | type the value — a number pad, or a field over the cell on the editor screen's sheet |
On a max (level, fill), leaving the typed value empty sets it back to all. The rows that
used to be [-] value [+] are a single number now; right-click on anything that isn't a number
does nothing.
Open X → Package → Save to bundle everything you've made into one
zip you can hand to a friend — or share in the Discord
to get it considered for the next mod release. See Packaging.
- Commands — every hotkey and every slash command, in one place.
- Templates — building each kind, plot layout, weighting.
- Stages — named, reusable spawn gates many templates share.
- Stage placeholder blocks — build once with placeholders that resolve to each stage's own blocks.
- Block variants — the Z key, lock groups, the clipboard.
- Container variants — the C key, weighted item pools.
- Template blocks menu — the V key, reskin-in-one-pass swap.
- Packaging — saving, sharing, and submitting to the mod.
For implementation-level reference: Feature-Carriage-Editor, Feature-Command-Menu, Feature-Block-Variant-Menu, Feature-Container-Contents-Menu, Feature-User-Content-Export, Feature-Template-Blocks-Menu.