EpicQuestDungeoning

Quick rating

Community listing page, reviews here may not be monitored by the author.

EpicQuestDungeoning

No reviews yet

Keyed jigsaw dungeons: each portal gets its own instance. Pack-authored pieces, events, and objectives.

Mod Loaders
Minecraft

About

Description

EpicQuest Dungeoning is a NeoForge 1.21.1 dungeon runner. You author jigsaw pieces, attune a key, open a portal, and the mod generates a fresh layout in a void dimension for that run.

Every keystone that accepts a key gets its own instance, placed 10,000 blocks apart so two parties can run the same dungeon at once. Completing a dungeon extracts that party and wipes that instance.

Play

  • Craft an unbound Dungeon Key, then attune it on an anvil with the dungeon’s attunement item.
  • Insert the key into a Dungeon Keystone. That portal generates a unique layout and opens.
  • Walk through to the Dungeon Player Spawn in that instance.
  • Return leaves you at the portal you came from. Other players keep playing.
  • Complete (kill, collect, end pad, or /dungeon complete) starts a 10-second extract for everyone in that instance, closes that portal, and wipes the layout.
  • If you log off and the instance is wiped before you return, you respawn at your entry portal instead of the empty void.

Author

  1. Build pieces with vanilla Structure Blocks. Non-minecraft names (e.g. mypack:hall_1) save into config/epicquest_dungeoning/dungeons/<id>/structures/.
  2. Write template pools under worldgen/template_pool/ and register the dungeon in dungeons.json (jigsaw start pool, size, dead-ends, optional unique rooms).
  3. Put a Dungeon Player Spawn in the start piece. Add a Dungeon End Pad only if completion is reach_end.
  4. Optional: place Dungeon Event Markers and ship datapack dungeon_event / event_poll JSON for proximity command polls.
  5. Use /dungeon jigsaw place <namespace> <piece> to drop a piece with SAVE/CORNER structure blocks, then reload and test through a real portal.

Pack layout

config/epicquest_dungeoning/
  dungeons.json
  images/                          optional key / GUI preview PNGs
  dungeons/<dungeon_id>/
    structures/<namespace>/.../*.nbt
    worldgen/template_pool/<namespace>/*.json

Dungeon events

In Creative, right-click a marker: event id + the block that replaces it on generate (often air). Datapack files:

data/<namespace>/dungeon_event/<path>.json
data/<namespace>/event_poll/<path>.json

Proximity fires one weighted command set as the player; ~ is the marker. Each placed marker fires once until wipe or /dungeon event reset. Shared ids can chain with chain_proximity.

Example dungeon entry

{
  "id": "quartz_corridors",
  "name": "Quartz Corridors",
  "description": "A labyrinth of smooth quartz halls.",
  "attunement_item": "minecraft:quartz",
  "jigsaw": {
    "start_pool": "quartz_corridors:anchor",
    "start_jigsaw_name": "quartz_corridors:anchor",
    "size": 12,
    "max_distance_from_center": 160,
    "fallback_pool": "quartz_corridors:dead_ends",
    "unique_templates": ["quartz_corridors:boss"],
    "unique_depth_min_ratio": 0.75,
    "unique_depth_max_ratio": 1.0
  },
  "completion": { "type": "reach_end", "stand_seconds": 3 }
}

Completion

  • kill_entity — configured entity is killed by someone in that instance
  • collect_items — required items detected (not consumed)
  • reach_end — stand on a Dungeon End Pad

Omit completion to use return, API, or /dungeon complete only.

Operator commands

  • /dungeon generate · wipe · reload · list · select
  • /dungeon jigsaw place · piece · pieces · simulate · placeportal · givekey
  • /dungeon complete · return · event reset / event resetall

Also included

  • Attunable keys with rich tooltips and optional JEI
  • Structure protection, teleport charge, reload / Reset All UI
  • Public completion API and NeoForge events
  • Layout retries when unique rooms (boss, etc.) cannot be placed

Requirements: Java 21 · NeoForge 1.21.1

For feedbacks and bug reports: Semeth Wiki