Dungeon Room
Manifest entry representing a dungeon room defined by a polygon footprint. Place at least 1 node (point room, radius 0.5), 2 nodes (line segment room), or 3+ nodes (polygon room). Y bounds are derived automatically from the nodes' Y values (min Y = floor, max Y = ceiling).
Overlapping/nested rooms are fully supported — each room fires its onEnter/onLeave triggers independently. Use priority to control enter-order when multiple rooms share the same position.
Room Editing
Use /dungeon room <room> edit to enter the visual room editor. You receive a hotbar toolbar:
| Slot | Item | Action |
|---|---|---|
| 1 | Blaze Rod | Add a node at target block (click) or at your feet (sneak+click) |
| 2 | Redstone | Remove the last placed node |
| 8 | Lime Dye | Save and apply the room |
| 9 | Barrier | Cancel editing |
Colored item displays mark each node:
- Emerald = node 1, Amethyst = node 2, Diamond = all others
Blue particle lines connect consecutive nodes, and green vertical pillars show the Y extent. Left-click a node marker for its coordinates; shift+left-click to remove it.
Configuration
dungeon_room — Map
Configuration for the dungeon room.
Properties
nodes
"> Ordered nodes defining the room's polygon boundary. Each node has X, Y, Z coordinates — Y values define the room's vertical extent automatically.
Position
x
X coordinate.
y — Double
Y coordinate.
z — Double
Z coordinate.
priority — Int
Higher-priority rooms fire onEnter first when the player is in multiple rooms simultaneously.
criteria
"> Conditions required to enter the room. If criteria don't match, the room is excluded for that player. modifiers
"> Modifiers applied to players while inside the room. onEnter
"> Triggers executed when a player enters the room. onLeave
"> Triggers executed when a player leaves the room. enterOnce —
Boolean
If true, onEnter triggers run only once per dungeon instance.
leaveOnce — Boolean
If true, onLeave triggers run only once per dungeon instance.
Polygon Detection
The extension supports three room shapes based on node count:
| Nodes | Shape | Detection |
|---|---|---|
| 1 | Point | Player is within 0.5 blocks of the node |
| 2 | Line segment | Player is within 0.5 blocks of the segment |
| 3+ | Polygon | Ray-casting point-in-polygon on the XZ plane |
Example
dungeon_room:
id: "boss_arena"
name: "Boss Arena"
nodes:
- {x: 10.0, y: 64.0, z: 10.0}
- {x: 20.0, y: 64.0, z: 10.0}
- {x: 20.0, y: 64.0, z: 20.0}
- {x: 10.0, y: 64.0, z: 20.0}
priority: 2
criteria:
- type: permission
permission: "dungeon.boss_arena"
onEnter:
- "boss_spawn_trigger"
enterOnce: true