Extractioncraft Match Flow
This page documents what actually happens from the moment a match is created to the moment the instanced world is deleted, including the timers, the extraction rules, and the way players lose their gear.
Creating the Match
/exc createMatch <contentPackage.yml> hands the package's betterStructuresModulesContainerName to BetterStructures, which generates a brand new instanced world. The command first checks that BetterStructures, EliteMobs and FreeMinecraftModels are loaded, that the player is not already in a match or waiting for one, and that the package and its module generator are enabled.
While the world generates, the player is held for this match and cannot join or create another. Generation is cancelled, and the half-built world deleted, if it takes longer than 15 minutes, if the player disconnects or runs /exc leave, or if one of the companion plugins stops being available. When generation finishes:
- An
ExtractionMatchis created for that world and starts in the waiting state. - The player who ran the command is added to the match and, on the next tick, teleported to a randomly chosen spawn point in the new world. A map with no spawn point cancels the match instead.
Anyone entering the match is put into Adventure mode. Their previous location and gamemode are saved before the switch and restored when they leave. Players keep their own inventory in the match; nothing is stored aside.
There is no queue and no matchmaking. A match exists because somebody created it.
Waiting for Players
/exc createMatch is the only built-in way into a match. Extractioncraft registers no join or spectate subcommand, so a match normally holds exactly one player: the person who created it. Other plugins can admit players or spectators through the developer API; the rules below apply to them.
While the match is waiting:
- Admission allows players up to the package's
maxPlayers(8 for all premade Kobold Mines packages), rejecting a full instance withfailedToJoinOngoingMatchAsPlayerInstanceIsFull. - Once the match is counting down or live, nobody else can join as a player. Late joiners get
failedToJoinOngoingMatchAsPlayerMessage. - Spectators are only accepted when the content package sets
spectatable: true. All premade packages leave itfalse. - Leaving now is free: the item wipe rule only applies once the match is live.
Starting
Any player inside the match can run /exc start.
- If fewer than
minPlayersare present, the match refuses to start and everyone is told so viamatchFailedToStartNotEnoughPlayersMessage($amountis replaced with the required count). - Otherwise the countdown displays
2,1, then0at one-second intervals. It finishes on the third update, about two seconds after the first. - If the player count drops below
minPlayersduring the countdown, the match is aborted and ends outright. - Running
/exc startagain after the countdown has begun does nothing.
When the countdown finishes, the match goes live. Physical redstone interaction is unlocked, the map's instanced bosses spawn, chests and barrels are placed, and the 15-minute timer, shrinking world border and compass boss bar start. The decorative (unusable) extraction points are pasted at the same time.
Timers
| Timer | Length | Effect |
|---|---|---|
| Match timer | 15 minutes | Shown as Timer MM:SS on the Extractioncraft sidebar scoreboard, refreshed once per second. At 00:00 the match ends. |
| Extraction points unlock | 1 minute after start | The usable version of each extraction point is pasted in, complete with its lever. |
| Extraction window | 20 seconds | Started by pulling an extraction point's lever. |
| Container opening | 3 seconds | Time you must stand still to loot a chest or barrel. |
When the match timer reaches 00:00, the match ends and every player still inside is removed as a failed extraction. See death and item loss.
The World Border
The border is centered on the middle of the generated map and starts as wide as the map. BetterStructures reports that width as (2 × radius − 1) × moduleSizeXZ from the module generator, which is 384 blocks for the premade Kobold Mines maps. Once per second the border is set to the starting width scaled by the time left, so it shrinks steadily and reaches 1 block when the 15-minute timer runs out.
The border's warning distance is set to the current border width minus 50, never below 0. Because Minecraft measures warning distance as "how many blocks from the border the screen starts tinting", the red warning overlay covers the whole map until the border is under 100 blocks wide; after that it only shows near the edge.
Because the hardest zones sit in the middle of the map (see mob kill loot), the shrinking border steadily pushes players into the harder and more rewarding part of the map. Border damage still applies, and lethal border damage removes a player through the normal match-death path.
Extracting
- Find an extraction point. The boss bar at the top of the screen is a compass strip: it shows a
⦿marker for every extraction point within 90° of where you are looking, at about 3° per character. The bar appears as soon as the match starts, but it stays empty for the first minute; markers are only drawn for the usable extraction points, which are not placed until the unlock timer fires. - Right-click the lever on the extraction point. The lever is removed, every player within 10 blocks is told "You have triggered an exit!", and a single 20-second extraction window opens for that point.
- Stand inside the extraction zone, the 7 × 7 × 7 block cube centered on the extraction point's block. While you are inside it you see
Extracting! in N seconds!. - Stepping out shows
Extraction cancelled!, but the window keeps running. Getting back inside before it closes still counts. - When the window closes, everyone standing inside extracts at once:
Victory / Extraction successful!. They are removed from the match and keep everything they are carrying.
Each extraction point opens one window per match. The handler accepts a lever within 10 blocks of an extraction point that has not been used yet. A lever near a point that was already used does nothing special and toggles like a normal lever.
Death and Item Loss
Extractioncraft matches give each player a single life and there is no respawn or death chest.
- Damage that would kill a player is cancelled outright. Instead, the player is removed from the match. During a live match their potion effects, fire, freezing and fall distance are cleared first.
- On removal they get their saved gamemode back and are teleported to where they were standing before they joined. Health is not restored, except for players who are still inside when the match ends.
- Falling below the bottom of the world puts a player back on the last block they stood on, up to three times in a row. After that the void can kill them like any other damage.
How a player leaves decides what happens to their items once the match is live:
| Way you left | Keeps loot? |
|---|---|
| Extracted at an extraction point | Yes, soulbound |
Server shutdown or /exc reload | Yes, soulbound |
Died, /exc leave, /exc quit or disconnected during a live match | No, with the default config |
| Still inside when the 15-minute timer ran out | No, with the default config |
| Left while the match was still waiting or counting down | Yes, untouched |
"No" clears the whole inventory, the item on the cursor and the crafting grid when deleteItemsOnFailToExtract is true (the default). With it set to false, those exits soulbind the items instead. Soulbinding binds every unbound item to the departing player while the EliteMobs Soulbind enchantment is enabled; items that are already bound keep their owner.
Players still inside when a countdown is aborted for lacking minPlayers are removed as the match ends and keep their items untouched, because the match never went live. Item loss applies only to players who were in the match when it went live.
World Protections
The instanced match world is protected for its whole lifetime:
- Players cannot break or place blocks, use bonemeal, empty buckets, edit signs, or damage the terrain. Explosions, fire, liquid flow, leaf decay and vanilla mob spawning are blocked, and elytra gliding is disabled.
- Chests, barrels and other containers cannot be opened; match containers are looted as described in container loot. Doors, trapdoors and fence gates cannot be used. Item frames, armor stands and flower pots are protected.
- Physical redstone interactions, such as pressure plates, are blocked until the match goes live. This setting does not block every kind of redstone interaction.
- PvP is blocked when the content package sets
pvpEnabled: false. - Players in the match cannot teleport by any means the match did not start itself, including commands, ender pearls and chorus fruit. Other players cannot teleport into the match world unless they hold
extractioncraft.match.bypass(default: op). - While the match is counting down or live, anyone else found in the match world without
extractioncraft.match.bypassis sent to the main world's spawn.
Admins can use /exc protection bypass for the block and interaction checks that consult the player's bypass flag. It does not bypass match teleport restrictions, PvP prevention or every world rule.
Ending the Match
A match ends when its last active player is removed (whether they extracted, died, left, or disconnected), when the 15-minute timer runs out, or when a countdown loses its minimum player count. Everyone still inside is healed and removed, Extractioncraft stops the match's border, compass, scoreboard and particle tasks, and anyone else left in the world, such as staff with the bypass permission, is sent to the main world's spawn.
Ending the match then requests permanent deletion of its temporary world. Deletion is skipped if the world cannot unload; while the plugin is enabled, folder deletion waits five seconds and also checks that the world has not been loaded again.
Matches are also torn down when the plugin is disabled, which includes /exc reload and server shutdown. Matches still generating are cancelled, and players in live matches keep their items as described above.