Extractioncraft Setup
This section describes the Extractioncraft 1.0-SNAPSHOT source, not a verified release combination. The current source compiles against BetterStructures 2.7.6 and EliteMobs 10.9.7 and calls their APIs directly. Use a tested, matching build set before opening a server to players; installing the latest companion plugins alone does not establish compatibility.
Requirements
- The plugin targets Java 21 bytecode; use the Java runtime required by your chosen server version
- A compatible Paper/Spigot server: the descriptor declares
1.21.4, while the current build compiles against Spigot API26.3-R0.1-SNAPSHOT. These values do not establish a tested server-version range - BetterStructures (declared as a soft-depend, required to start)
- EliteMobs (declared as a soft-depend, required to start)
- FreeMinecraftModels (declared as a soft-depend, required to start)
- WorldEdit or FastAsyncWorldEdit, which BetterStructures uses to generate the maps
During startup Extractioncraft waits for BetterStructures, EliteMobs and FreeMinecraftModels to finish loading, then gives them up to 5 minutes to reload any content it just imported. If any of them is missing, fails to load, or is still reloading after that time, Extractioncraft logs ExtractionCraft initialization failed and its commands are not registered.
What Extractioncraft Creates
On startup, Extractioncraft initializes these paths:
plugins/Extractioncraft/config.yml
plugins/Extractioncraft/messaging.yml
plugins/Extractioncraft/content_packages/
plugins/Extractioncraft/loot_pools/
plugins/Extractioncraft/loot_tables/
plugins/Extractioncraft/imports/
content_packages/ is pre-filled with the five premade Kobold Mines configuration files. loot_pools/ and loot_tables/ start out empty. The loot tables the premade packages reference (kobold_mines_equipment_loot_table.yml and kobold_mines_supplies_loot_table.yml) arrive with the downloadable content pack, not with the plugin jar.
The content pack also carries the map data, which lives in the companion plugins: module generators, modules, components and spawn pools go to BetterStructures, bosses and items go to EliteMobs, and models go to FreeMinecraftModels. A package counts as downloaded in /exc setup when BetterStructures has loaded the module generator named in the package's betterStructuresModulesContainerName.
Recommended First-Time Flow
- Install Extractioncraft along with BetterStructures, EliteMobs, FreeMinecraftModels, and WorldEdit (or FastAsyncWorldEdit). Start the server once.
- Run
/exc initializeto open the first-time setup menu. Its status pane is red when neither WorldEdit nor FastAsyncWorldEdit is enabled, yellow when no package is both enabled and backed by a loaded module generator, and green once a package is ready. Click the pane for the next steps. The player skull links to the Extractioncraft page on nightbreak.io and the Discord. - Download the content pack from nightbreak.io.
- Place the downloaded ZIP into the
plugins/Extractioncraft/imports/folder. - Run
/exc reloador restart the server. The importer unpacks the ZIP into the Extractioncraft, BetterStructures, EliteMobs and FreeMinecraftModels folders. Extractioncraft then reloads BetterStructures, and also EliteMobs when the pack added EliteMobs content, and waits for the companion plugins to finish loading. - Run
/exc setupto browse and manage content packages. Each package shows a colored status (green = installed, yellow = downloaded but not installed, red = not downloaded). Clicking a green package disables it, clicking a yellow one enables it, and clicking a red one prints its download link with instructions to place the file in the imports folder and run/exc reload. The setup menu also includes a Recommended Plugins entry and an info button (the player skull) with links to the wiki, the Discord, your account token page,/extractioncraft recommendedpluginsand/nightbreak plugins.
Content packages are not downloaded in-game; use the download link and the imports folder.
MagmaCore Shared Setup Features
Because MagmaCore is bundled into Extractioncraft, the plugin ships with the shared Nightbreak setup tooling:
- Recommended plugins —
/exc recommendedplugins(or the entry inside/exc setup) lists the companion plugins that pair well with Extractioncraft and shows which are already installed. - Account token / licensed content —
/nightbreakloginregisters your nightbreak.io account token so the server can download licensed content in-game. - Plugin catalog —
/nightbreak pluginsopens a browsable catalog of MagmaGuy's other plugins.
Premade Content
Extractioncraft ships with configuration for the following premade content packages (Kobold Mines series):
| Package | Config filename | Level | Max players |
|---|---|---|---|
| Kobold Mines 10 | kobold_mines_10.yml | 10 | 8 |
| Kobold Mines 20 | kobold_mines_20.yml | 20 | 8 |
| Kobold Mines 30 | kobold_mines_30.yml | 30 | 8 |
| Kobold Mines 40 | kobold_mines_40.yml | 40 | 8 |
| Kobold Mines 50 | kobold_mines_50.yml | 50 | 8 |
The level is the package's contentLevel, used for container loot. The bosses in the content pack's spawn pools spawn at the same level. Each map has Normal, Hard and Mythic zones, with the hardest zone at the center; see mob kill loot.
All premade packages use BetterStructures, FreeMinecraftModels, and EliteMobs. PvP is enabled by default. The map data must be downloaded separately from the content link shown in the setup menu.
Starting a Match
Once content is installed:
- Run
/exc createMatch <contentPackage.yml>(e.g./exc createMatch kobold_mines_10.yml). The argument tab-completes every content package loaded at startup. The command refuses a package that is disabled, or whose module generator is missing, disabled, not a world generator, or has no installed start modules. - The plugin generates the instanced world via BetterStructures using the package's
betterStructuresModulesContainerName. Generation is not instant and shows a progress boss bar; you are teleported to a random spawn point in the new world once it is ready. Generation is cancelled if it takes longer than 15 minutes, if you disconnect, or if you run/exc leave. - Extractioncraft registers no join command, so the match contains only the player who created it. Once
minPlayersis met (1by default), any player in the match can run/exc start. - To leave a match at any time, run
/exc leave(or/exc quit). Leaving after the match has started counts as a failed extraction; see match flow.