Extractioncraft Configuration
Extractioncraft uses several configuration files. The main settings live in config.yml and messaging.yml. Content packages, loot tables, and loot pools each have their own config folders.
config.yml
| Key | Type | Default | Description |
|---|---|---|---|
deleteItemsOnFailToExtract | Boolean | true | Whether players lose all items if they fail to extract from a match using one of the extraction points. When enabled, premade content is balanced around this risk. Disabling it makes content easier to farm with less reason to engage extraction mechanics. |
messaging.yml
All messages support & color codes and the $player / $count placeholders where noted.
| Key | Default | Description |
|---|---|---|
failedToJoinOngoingMatchAsPlayerMessage | Can't join this match - it has already started! | Shown when a player tries to join an in-progress match |
failedToJoinOngoingMatchAsPlayerInstanceIsFull | Can't join this match - the instance is already full! | Shown when the match has reached its max player count |
failedToJoinOngoingMatchAsPlayerNoPermission | Can't join this match - you don't have the permission! | Shown when a player lacks join permission |
failedToJoinMatchAsSpectatorNoSpectatorsAllowedMessage | Can't join this match - spectators are not allowed! | Shown when spectating is disabled for the content package |
failedToJoinMatchAsSpectatorNoPermission | Can't spectate this match - you don't have the permission! | Shown when a player lacks spectate permission |
matchJoinAsPlayerMessage | [Extractioncraft] You are now in the match, $player! | Chat message on joining a match as a player. $player is replaced with the player name. |
matchJoinAsPlayerTitle | Extract! | Title shown when joining a match |
matchJoinAsPlayerSubtitle | Grab the loot and head to an extraction point! | Subtitle shown when joining a match |
matchJoinAsSpectatorTitle | (empty) | Title shown when joining as spectator |
matchJoinAsSpectatorSubtitle | Now spectating! | Subtitle shown when joining as spectator |
matchJoinAsSpectatorMessage | [Extractioncraft] You are now spectating a match! Do /extractioncraft quit to stop spectating! | Chat message on joining as spectator |
matchLeaveAsPlayerMessage | [Extractioncraft] You have left the match, $player! | Shown when a player leaves a match. $player is replaced with the player name. |
matchLeaveAsSpectatorMessage | [Extractioncraft] You have left the match, $player! | Shown when a spectator leaves a match |
matchFailedToStartNotEnoughPlayersMessage | This match requires $count players before starting - can't start yet! | Shown when /exc start is used without enough players. $count is replaced with the minimum player count. |
matchStartingMessage | [Extractioncraft] Match starting! | Chat message when match countdown begins |
matchStartingTitle | Match starting! | Title shown during countdown |
matchStartingSubtitle | in $count... | Subtitle during countdown. $count is the remaining seconds. |
preventTeleportInMessage | [Extractioncraft] You have attempted to teleport into an ongoing match - you can't do that! | Shown when someone tries to teleport into a match world |
preventTeleportOutMessage | [Extractioncraft] You have attempted to teleport from an ongoing match - you can't do that! | Shown when a match player tries to teleport out |
Content Package Configuration
Content packages are YAML files in the content_packages/ folder. Each defines a playable map configuration.
| Key | Type | Default | Description |
|---|---|---|---|
isEnabled | Boolean | true | Whether this content package is active |
name | String | (required) | Display name of the package (supports & color codes) |
description | String list | (required) | Description lines shown in the setup menu |
downloadLink | String | (optional) | URL where the content can be downloaded |
version | Integer | 0 | Content version number, used for update checks |
folderName | String | (required) | Name of the schematics subfolder for this package |
usesEliteMobs | Boolean | false | Whether this package requires EliteMobs |
usesBetterStructures | Boolean | false | Whether this package requires BetterStructures |
usesFreeMinecraftModules | Boolean | false | Whether this package requires FreeMinecraftModels |
betterStructuresModulesContainerName | String | (optional) | The BetterStructures module generator config filename |
spectatable | Boolean | false | Whether spectators can join matches using this package |
pvpEnabled | Boolean | true | Whether PvP is enabled during matches |
minPlayers | Integer | 1 | Minimum players required to start a match |
maxPlayers | Integer | 100 | Maximum players allowed in a match |
chestLootTables | String list | [] | Loot tables used for chests, formatted as filename.yml:weight |
barrelLootTables | String list | [] | Loot tables used for barrels, formatted as filename.yml:weight |
Loot Table Weight Format
Chest and barrel loot table entries use the format <loot_table_filename.yml>:<weight>. When a player opens a container, one loot table is selected based on weighted probability.
Example:
chestLootTables:
- kobold_mines_chest_high_loot_table_10.yml:.2
- kobold_mines_chest_low_loot_table_10.yml:.2
barrelLootTables:
- kobold_mines_barrel_loot_table_10.yml:1