startPool | Ref<DungeonRoomPoolEntry> | — | The pool of the room the run begins in. It holds START templates. |
bossPool | Ref<DungeonRoomPoolEntry> | — | The pool of the final room. It holds BOSS templates. |
corridorPool | Ref<DungeonRoomPoolEntry> | — | The pool of the passages inserted between two rooms that cannot touch directly. Empty: rooms only ever touch directly. |
normalPools | List<WeightedRoomPool> | empty | The pools of the other rooms (NORMAL, TREASURE, SECRET), each with its own weight.WeightedRoomPool (2)
| Feld | Typ | Standard | Beschreibung |
|---|
pool | Ref<DungeonRoomPoolEntry> | — | The pool. | weight | Int | 1 | Relative weight of the pool: the weight of a template there is its weight in the pool times this one. |
|
minRooms | Int | 6 | At least this many rooms in total, the start and the boss included, corridors excluded. |
maxRooms | Int | 10 | At most this many rooms in total, the start and the boss included, corridors excluded. |
quotas | List<RoomQuota> | empty | Bounds on the number of NORMAL, TREASURE and SECRET rooms. A category left out is unlimited.RoomQuota (3)
| Feld | Typ | Standard | Beschreibung |
|---|
category | QuotaCategory | TREASURE | The category of rooms the bound applies to. A category without a bound is unlimited.Werte:NORMALTREASURESECRET | min | Int | 0 | At least this many rooms of the category. | max | Int | 1 | At most this many rooms of the category. |
|
minBossDepth | Int | 3 | The boss is at least this many steps away from the start (corridors are not counted). |
branchRatePercent | Int | DEFAULT_BRANCH_RATE_PERCENT | Chance, in percent, that a room beyond the main path opens a side branch instead of extending the path. |
trialBudget | Int | DEFAULT_TRIAL_BUDGET | How many placements the search tries for one layout before it plans the dungeon again. Trial budget times (replans + 1) must stay within the total the generator allows. |
replans | Int | DEFAULT_REPLANS | How many times the dungeon is planned again from a derived seed before the generation fails. |
affixes | List<Ref<DungeonAffixEntry>> | empty | The affixes that may be drawn for a run, by their weight. An affix listed twice counts once. |
affixCount | Int | 0 | How many affixes are drawn for a run (without repeating one). 0 draws none; more than the affixes with a weight draws all of them. The draw follows the seed of the run but never changes the layout of the dungeon. |
difficulty | Int | 1 | The base difficulty level of the dungeon, handed to the triggers of the rooms through the run context. |
paster | RoomPasterKind | STRUCTURE | How the rooms are put into the world. STRUCTURE uses the Paper structure API, with no other plugin needed. |
messages | GeneratorMessages | — | The texts reported to the author when the pools and templates cannot make a dungeon.GeneratorMessages (15)
| Feld | Typ | Standard | Beschreibung |
|---|
missingEntry | String | {field} points to an entry that does not exist: {detail} | A reference of the generator points to an entry that does not exist. {field} is the field, {detail} the id. | emptyReference | String | {field} is not set | A field of the generator that must name an entry is empty. {field} is the field. | noCapture | String | Room template {template} has no captured structure yet | The room template has no saved capture yet. {template} is the template. | unreadableCapture | String | The capture of room template {template} cannot be read: {detail} | The saved capture of the room template cannot be read. {template} is the template, {detail} the reason. | invalidTemplate | String | Room template {template} is not valid: {detail} | The room template is not valid (a door off its wall, a marker outside the box...). {template} is the template, {detail} the reason. | badConnectorType | String | Room template {template}: door {detail} has no valid connector type | A door of a template has no connector type, or its type does not exist. {template} is the template, {detail} the door number. | invalidParameters | String | The generator settings are not valid: {detail} | A number of the generator is out of its range. {detail} is the reason. | duplicateQuota | String | The quotas bound {detail} more than once | The same category is bounded twice in the quotas. {detail} is the category. | invalidEntry | String | {pool} is not valid: {detail} | A weight or a size of an entry is out of its range. {pool} is the pool, the type or the affix, {detail} the reason. | emptySealBlock | String | Connector type {type} has no seal block | A connector type has no seal block, so a door of that kind could not be closed. {type} is the connector type. | invalidSealBlock | String | Connector type {type} has a seal block the server cannot read: {detail} | The seal block of a connector type is not a block the server can read. {type} is the connector type, {detail} the text of the seal block. | noDungeon | String | No dungeon could be generated: {detail} | The generator could not make a dungeon from the pools and templates it was given. {detail} is the reason the generator gives. | noStartSpawn | String | Start room template {template} has no SPAWN marker | The start room has no SPAWN marker, so nobody could be placed when the run begins. {template} is the start template. | tooTall | String | The dungeon does not fit in the height of the world: {detail} | The dungeon does not fit between the lowest and the highest block of the world. {detail} gives the heights. | replayRefused | String | The dungeon cannot be rebuilt from its seed: {detail} | A stored dungeon can no longer be rebuilt from its seed. {detail} is the reason the generator gives. |
|
baseY | Int | DEFAULT_BASE_Y | The height (y) of the floor of the start room in the world of the run. Every other room is placed relative to it; the whole dungeon must fit between the lowest and the highest block of the world. |
roomsPerTick | Int | DEFAULT_ROOMS_PER_TICK | How many rooms are pasted per server tick while a run is being prepared. A lower number keeps the ticks short (the run takes longer to be ready), a higher one is faster but holds a tick longer. |
naturalSpawning | Boolean | false | Whether monsters and animals spawn by themselves in the world of the run. Off by default: the monsters of a generated dungeon come from its triggers, not from the dark. |
verticalMargin | Double | VERTICAL_MARGIN | Blocks added above the ceiling and below the floor of every room: a player counts as inside a room from its floor - margin to its ceiling + margin. It keeps a jump, a vehicle or a flat room from entering and leaving at every step (the same idea as the vertical margin of a dungeon room). 0 = exactly the box of the room. |
pasteTimeoutSeconds | Int | DEFAULT_TIMEOUT_SECONDS | How long, in seconds, a launch waits for the rooms to be pasted before it gives up: the run is cancelled, the players stay where they were, the entry cost is refunded and the world is thrown away. Raise it for a big dungeon pasted a few rooms per tick on a busy server. |