Commands
Commands are registered through Brigadier, so tab completion knows which tilesets exist and which players you can invite.
Permissions
Section titled “Permissions”| Node | Grants | Default |
|---|---|---|
dungeon.use |
entering a dungeon at all | op |
dungeon.admin |
creating, destroying and inspecting dungeon worlds | op |
mazegen.use |
generating and undoing mazes | op |
dungeon.use defaults to op. Opening a new feature to the whole server at once
risks somebody spending their one daily on a broken dungeon, which they cannot
get back until tomorrow. Grant it in LuckPerms or permissions.yml when you are
ready.
/dungeon for players
Section titled “/dungeon for players”| Command | Does |
|---|---|
/dungeon |
where you stand: daily, shards, current run |
/dungeon run [tileset] |
build today’s dungeon and go in |
/dungeon leave |
end your run |
/dungeon party |
who is with you |
/dungeon invite <player> |
ask somebody to come |
/dungeon knock <player> |
ask to be let into theirs |
/dungeon accept [player] |
confirm an invite or a knock |
/dungeon join <player> |
enter a run already in progress, until its lever is pulled |
/dungeon for admins
Section titled “/dungeon for admins”Everything here needs dungeon.admin.
| Command | Does |
|---|---|
/dungeon dryrun <tileset> [days] |
build a whole dungeon with no player, report it, throw it away |
/dungeon loot <tier> [theme] |
roll one chest and print what came out |
/dungeon grant <player> <shards> |
add or remove shards, −16 to 16 |
/dungeon close <run> |
force a run to end |
/dungeon reload |
re-read config.yml |
/dungeon world create <id> |
make an empty dungeon world |
/dungeon world destroy <id> |
delete one |
/dungeon world list |
list them |
/dungeon world bench <count> |
time world creation, 1–64 |
dryrun
Section titled “dryrun”/dungeon dryrun v1/dungeon dryrun v1 7It builds the day’s dungeon from the console with nobody in it, reports the room count, the monsters by kind, the chests, the boss room’s bounds, the lever, the floating sign’s text, the exit portal’s block, every NPC it stood up, both info boards’ contents and the boss spawning, then deletes the world.
The optional day count runs it for a date in the future, which is how you find out whether a change works on all five elements rather than just the one today happens to be.
If you add a feature, add a line to the dryrun. Everything in this project that broke silently broke because nothing printed it.
What reload leaves alone
Section titled “What reload leaves alone”/dungeon reload re-reads config.yml: loot tiers, NPC roles, board settings and
shard numbers. It does not touch the ledger, which is state rather than
configuration, and reloading it would roll back everybody’s day.
The generator underneath. Builders mostly need savetile and the rest is tileset
plumbing.
| Command | Does |
|---|---|
/maze savetile <set> <name> |
save the current selection as a tile |
/maze select / frame |
selection helpers |
/maze tiles / newset / deletetile / deleteset |
manage tilesets |
/maze gen / preview / auto |
generate a maze |
/maze undo / cancel |
take one back, or stop one mid-paste |
/maze daily |
what today’s maze would be |
/maze weights |
tile frequency |
/maze convert / export |
schematic import and export |
/maze modes |
generator algorithms |
/maze reload |
re-read config |
/maze reload does not reload tilesets and says so when you run it. To force one,
use /maze tiles <name>, which reloads from disk. savetile re-reads the set as
it writes.