EpicQuest Dungeoning lets pack authors and server owners load custom dungeon structures from config and send players into them through a simple portal flow — no coding required.
Export builds with WorldEdit or structure blocks, drop them in a folder, edit one JSON file, and players can pick a dungeon, step on a portal block, explore, and return to spawn when they’re done.

Features
- Dungeon selection GUI — preview images, descriptions, confirmation dialog, and per-player dungeon selection.
- Configurable portal block — step on any block ID to enter your selected dungeon.
- Shared void dimension — all dungeons live in
epicquest_dungeoning:dungeons, spaced along the X axis so large schematics do not overlap.
- Schematic support — vanilla structure
.nbt and WorldEdit Sponge .schem (v1/v2/v3).
- Return to spawn — inventory button returns you to your bed / respawn anchor / world spawn (not the nether portal).
- Teleport charge — particles and sounds while entering or returning; configurable duration; interrupted by movement or damage; bypassed in creative.
- Live config reload — edit
dungeons.json and open /dungeon select to pick up changes without a full server restart.
- Reload progress bar — real per-step loading overlay when selecting, reloading, or resetting dungeons.
- Reset all dungeons — reload every schematic from disk (cooldown-gated; creative bypass).
- Structure protection — optional block-break / block-place protection inside dungeons.
- Fall damage immunity — optional short immunity after returning from a dungeon.
- One-shot trial spawners — trial spawners placed in schematics fire once per dungeon reset.
Player flow
- Run
/dungeon select (or /dungeons select) and choose a dungeon.
- Stand on the configured portal block until the teleport charge completes.
- Explore the dungeon. Use the return button in your inventory to go back to spawn (also charged).
- Operators can use Reset All Dungeons on the selection screen to wipe and reload every schematic.
Author setup
On first launch the mod creates:
config/epicquest_dungeoning/
dungeons.json
schematics/
images/
- Drop
.nbt or .schem files into schematics/.
- Add dungeon entries to
dungeons.json (id, name, description, schematic filename, spawn point).
- Optional: add preview PNGs to
images/ and reference them with "image": "preview.png".
- Run
/dungeon select or /dungeon reload to load changes — no restart required for list updates.
Example dungeon entry

Spawn coordinates are relative to each dungeon’s placement origin by default (1st dungeon at X=0, 2nd at X=10000, etc.). Set "absolute_position": true to use world coordinates directly.
Configuration (dungeons.json)
| Field |
Description |
teleport_block |
Block ID for the entry portal (e.g. minecraft:emerald_block) |
return_button_item |
Item icon for the inventory return button |
return_cooldown_minutes |
Cooldown between returns (default 20) |
reset_cooldown_minutes |
Cooldown between reset-all (default 60) |
teleport_charge_seconds |
Charge duration before enter/return teleport (0 = instant; creative bypasses) |
protect_structures |
Prevent breaking/placing blocks in dungeons |
return_fall_damage_immunity |
5 seconds of fall immunity after returning |
Commands
/dungeon select — open the dungeon picker (reloads config + schematics with progress bar).
/dungeon return — return to spawn from inside a dungeon.
/dungeon list — show active dungeon IDs and the config file path in use.
/dungeon reload — (op) reload config, clear non-player entities in the dungeon dimension, and preload schematics.

Each dungeon spawn uses relative coordinates to the schematic placement origin by default. Set "absolute_position": true for raw world coordinates. Spawn Y respects your configured value (with a safe fallback only if that spot is not standable).
Requirements
- Minecraft: 1.21.1
- Loader: NeoForge
Designed for adventure packs and RPG servers that want instanced dungeon content without writing custom dimension code.