Extractioncraft Setup
Requirements
- Java 21
- A Paper/Spigot-compatible server on the
1.21.4API line - BetterStructures (soft-depend, required for premade content)
- EliteMobs (soft-depend, required for premade content)
- FreeMinecraftModels (soft-depend, required for premade content)
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_chest_high_loot_table_10.yml and friends) arrive with the downloadable content pack, not with the plugin jar.
The schematics/ folder is not created on startup. It appears once content is installed, and holds the map data for each content package under a subfolder named after the package's folderName (e.g. schematics/kobold_mines_10/). Extractioncraft uses the presence of that subfolder to decide whether a package counts as downloaded in /exc setup.
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. It checks that WorldEdit (or FastAsyncWorldEdit) is installed and that at least one BetterStructures schematic configuration is available, then offers a "Complete first-time setup" button. Because the maps are BetterStructures content, this menu's help links point at the BetterStructures setup page and the shared Discord. - Download content packages from nightbreak.io.
- Place downloaded content into the
plugins/Extractioncraft/imports/folder. The plugin will extract supported archives on the next startup. - Run
/exc reloador restart the server. - Run
/exc setupto browse and manage installed content packages. Each package shows a colored status (green = installed, yellow = downloaded but not installed, red = not downloaded) and a click action. 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, and the update commands.
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 | EliteMobs level range | Max players |
|---|---|---|---|
| Kobold Mines 10 | kobold_mines_10.yml | 0-10 | 8 |
| Kobold Mines 20 | kobold_mines_20.yml | 11-20 | 8 |
| Kobold Mines 30 | kobold_mines_30.yml | 21-30 | 8 |
| Kobold Mines 40 | kobold_mines_40.yml | 31-40 | 8 |
| Kobold Mines 50 | kobold_mines_50.yml | 41-50 | 8 |
All premade packages use BetterStructures, FreeMinecraftModels, and EliteMobs. PvP is enabled by default. The map data must be downloaded separately from the content links 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 the available content package filenames — including packages currently marked as not installed, so a wrong pick will fail at world generation rather than at the command. - The plugin generates the instanced world asynchronously via BetterStructures using the package's
betterStructuresModulesContainerName. Generation is not instant; you are teleported to a random spawn point in the new world once it is ready. - The current build registers no join command, so the match contains only the player who created it — the package's
maxPlayers(8 for all premade packages) is read by the shared match runtime but nothing can reach it. OnceminPlayersis 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 a live match without extracting destroys your inventory by default — see match flow.