Skip to main content

Extractioncraft Setup

Requirements

  • Java 21
  • A Paper/Spigot-compatible server on the 1.21.4 API 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.

  1. Install Extractioncraft along with BetterStructures, EliteMobs, FreeMinecraftModels, and WorldEdit (or FastAsyncWorldEdit). Start the server once.
  2. Run /exc initialize to 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.
  3. Download content packages from nightbreak.io.
  4. Place downloaded content into the plugins/Extractioncraft/imports/ folder. The plugin will extract supported archives on the next startup.
  5. Run /exc reload or restart the server.
  6. Run /exc setup to 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/nightbreaklogin registers your nightbreak.io account token so the server can download licensed content in-game.
  • Plugin catalog/nightbreak plugins opens a browsable catalog of MagmaGuy's other plugins.

Premade Content

Extractioncraft ships with configuration for the following premade content packages (Kobold Mines series):

PackageConfig filenameEliteMobs level rangeMax players
Kobold Mines 10kobold_mines_10.yml0-108
Kobold Mines 20kobold_mines_20.yml11-208
Kobold Mines 30kobold_mines_30.yml21-308
Kobold Mines 40kobold_mines_40.yml31-408
Kobold Mines 50kobold_mines_50.yml41-508

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:

  1. 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.
  2. 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.
  3. 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. Once minPlayers is met (1 by default), any player in the match can run /exc start.
  4. 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.