Dungeon Instance
Dungeon Instance
Manifest entry used to persist dungeon instance configuration.
Champs
| Champ | Type | Par défaut | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
artifact | Ref<DungeonArtifactEntry> | — | Unified artifact storing the statistics: per dungeon (runs started, completions, best time) and per player (runs, completions, best time). A player's personal best time is kept ONCE PER ARTIFACT, over every dungeon instance that shares it, and the best-time placeholders (%dungeon_best%, %dungeon_inst_<instance>_best%) read that single value, formatted mm:ss. Give each dungeon its own artifact when each needs its own personal best. Two artifact entries with the same artifactId share one file: only one of them is used. | ||||||||||||||||||||||||
runtimeArtifact | Ref<ActiveDungeonInstanceArtifactEntry> | — | Where the state of the runs of this dungeon is kept so that a tw reload or a Publish does not lose them: the world, the members, the loot chests and, for each player, the room they are in and the once rooms already used (a once room never fires again after a reload). Reference an 'Active Dungeon Instance Artifact' entry; several dungeons may share one. Without it the runs fall back to the runs.json file of the extension, with a warning at load. A server restart still ends the runs (their worlds are gone). | ||||||||||||||||||||||||
partyLobbyArtifact | Ref<DungeonPartyLobbyArtifactEntry> | — | Unused since 1.0: lobbies are no longer restored after a reload or a restart. Kept so that existing pages still load. | ||||||||||||||||||||||||
roomConfigurations | List<Ref<DungeonRoomConfigEntry>> | empty | Available room configurations | ||||||||||||||||||||||||
templateWorld | String | — | Template world name used to generate instances | ||||||||||||||||||||||||
quests | List<Ref<QuestEntry>> | empty | Quests associated with the dungeon | ||||||||||||||||||||||||
onStart | List<Ref<TriggerableEntry>> | empty | Triggers executed when the dungeon starts | ||||||||||||||||||||||||
onEnd | List<Ref<TriggerableEntry>> | empty | Triggers executed when the dungeon ends | ||||||||||||||||||||||||
entryCostMode | EntryCostMode | LEADER | Mode defining who needs to pay the entry costValeurs :LEADERGROUP | ||||||||||||||||||||||||
entryCosts | List<Item> | empty | Items required to enter the dungeon | ||||||||||||||||||||||||
missingItemsMessage | Var<String> | Missing items: {MissingQuantity}x {ItemName} by {PlayerName} | Message shown when items are missing | ||||||||||||||||||||||||
cooldownSeconds | Int? | — | Maximum duration of a run, in seconds: the run ends and players are sent back when it elapses. 0 or empty = no time limit. | ||||||||||||||||||||||||
startCooldownSeconds | Int | 0 | Countdown in the lobby before players are teleported | ||||||||||||||||||||||||
lobbyIdleKickSeconds | Int | 120 | Seconds a lobby may keep its players without ever starting its countdown (nobody ready, or too few players) before they are removed from it and told so. 120 = 2 minutes. | ||||||||||||||||||||||||
minPartySize | Int | 1 | Minimum players required to start | ||||||||||||||||||||||||
maxPartySize | Int | 4 | Maximum players per party | ||||||||||||||||||||||||
maxSimultaneousInstances | Int | 1 | Maximum simultaneous instances | ||||||||||||||||||||||||
enableScoreboard | Boolean | true | Enable scoreboard display | ||||||||||||||||||||||||
damageMultiplier | Double | 1.0 | Multiplier of the damage the players of a run take from non-players (mobs, arrows shot by mobs, TNT nobody primed) inside the run's world. 1 = unchanged, 2 = double, 0 = no damage. Anything of player origin is never scaled: fights between players, their arrows, the TNT they primed, their tamed pets, their potion clouds. | ||||||||||||||||||||||||
categoryPriority | Int | 0 | Priority order when displayed in a category global menu (lower = appears first) | ||||||||||||||||||||||||
isolation | IsolationSetting | AUTO | How runs get their world. AUTO: SLIME_CLONE when AdvancedSlimePaper is installed, otherwise WORLD_PER_RUN. SLIME_CLONE: in-memory clone of a slime world, isolated and cheap (needs AdvancedSlimePaper). WORLD_PER_RUN: copy of the template world folder, deleted at the end of the run; isolated but costly. SHARED_WORLD_SLOTS: one world, one slot of a grid per run; NOT isolated (mobs, items and blocks are shared) and the template must be built identically in every slot. A mode that cannot run on this server refuses the run; there is no fallback.Valeurs :AUTOSLIME_CLONEWORLD_PER_RUNSHARED_WORLD_SLOTS | ||||||||||||||||||||||||
sharedSlots | SharedSlotsLayout | — | Grid of the slots, used by SHARED_WORLD_SLOTS only. One slot per simultaneous instance.
|
| Champ | Type | Par défaut | Description |
|---|---|---|---|
spacingX | Int | 512 | Blocks between two slots along X. Must be at least the footprint when slots share a row. |
spacingZ | Int | 512 | Blocks between two rows of slots along Z. Must be at least the footprint when there are several rows. |
columns | Int | 0 | Slots per row. 0 = all the slots in one row along X. |
footprintX | Int | 256 | Width of the template along X, in blocks. |
footprintZ | Int | 256 | Width of the template along Z, in blocks. |
generatorOptional<Ref<DungeonGeneratorEntry>>maxAliveMobsIntDEFAULT_MAX_ALIVE_MOBSrestrictionsRef<DungeonRestrictionsEntry>statsMobScopeStatsMobScopeMARKED_ONLYreconnectGraceDuration120000Champs TypeWriter communs (criteria, modifiers)
| Champ | Type | Par défaut | Description |
|---|---|---|---|
criteria | List<Criteria> | empty | Criteria required to start the dungeon |
modifiers | List<Modifier> | empty | Modifiers applied to the dungeon |
How to use it
One entry per dungeon. Link it from a Dungeon Category to show it in the global menu.
| Field | What to know |
|---|---|
templateWorld | Name of the world folder of a fixed dungeon (letters, digits, _, -, up to 64 characters). What happens to it depends on isolation: cloned, copied for each run, or used itself with one slot per run. Empty for a generated dungeon. |
isolation, sharedSlots | How runs get their world. See Runs and world isolation. |
generator | Makes this a generated dungeon. |
maxAliveMobs | The cap of living mobs of one run: 150 by default, 500 at most. |
restrictions | A Dungeon Restrictions entry: what the players may not do during the run (elytra, vehicles, ender pearls, chorus fruit, riptide, some commands). A Dungeon Room that names its own replaces it while a player stands in that room. Empty = nothing is restricted. |
statsMobScope | Which mobs count in the player statistics (mob kills, damage dealt). MARKED_ONLY (default): only the mobs made by the run. ANY_MOB_IN_RUN_WORLD: also the other mobs of the world of the run, such as a boss placed by another plugin; refused with SHARED_WORLD_SLOTS (MARKED_ONLY is used, with a warning at load). |
reconnectGrace | How long a member who disconnects keeps their place. Default 2 minutes. Back in time, they reappear where they were, with their sidebar, hidden slots and game mode. When it runs out they leave the run and, at their next join, return to where they entered from. 0 = no grace. See Disconnections. |
roomConfigurations | One is picked at random for each run. Its spawnPoint is where players arrive. |
cooldownSeconds | Despite its name, this is the time limit of a run. When it reaches zero the run is closed. Leave it empty for no limit. |
startCooldownSeconds | Lobby countdown before the teleport, once everyone is ready. 0 starts at once. |
lobbyIdleKickSeconds | Seconds a lobby may keep its players without ever starting its countdown (nobody ready, or too few players) before they are removed and told so. Default 120 (2 minutes), minimum 1. The message is the snippet content.dungeon_lobby.idle_kick. |
minPartySize, maxPartySize | Players needed to start, and lobby capacity. |
maxSimultaneousInstances | How many runs can be active at once. It is also the number of lobbies shown in the party menu. |
entryCosts, entryCostMode | Items taken when the run starts. LEADER charges the first player of the lobby, GROUP charges everyone. |
missingItemsMessage | Sent to the whole lobby when a player lacks an item. {PlayerName}, {MissingQuantity} and {ItemName} are replaced. |
onStart, onEnd | Fired for each member when the run starts and when it ends. Not replayed at a reload. |
modifiers | Fact modifiers applied to each member when the run starts. |
criteria | Every player of the group must match them to start (an admin force-start skips them). |
damageMultiplier | Scales damage players take from non-players inside the run's world. 1 is unchanged, 0 is none. Damage from players is never scaled. |
quests | Quest names listed on the run scoreboard, below the time left. |
enableScoreboard | Show the sidebar scoreboard (dungeon name, time left, quests) during the run. |
categoryPriority | Order in the global menu. Lowest comes first. |
artifact | The statistics. |
runtimeArtifact | The state of the runs, so that a reload keeps them. |
partyLobbyArtifact | Unused since 1.0. Leave it empty. |
aggroMultiplier no longer exists. See the migration note.