Content generated with AI — it may contain mistakes.

Systems

Migration

Moving from ExyliaSurvivalCore's mines module, and importing mines from CataMines or RealMines.

From ExyliaSurvivalCore

Mines used to be a module of ExyliaSurvivalCore. They are now this plugin, and a server that ran them there brings everything over on its own: the mines, the blocks they were regrowing, the settings, the messages and the mining history.

Update ExyliaSurvivalCore

Use a release without the mines module, or turn its mines module off. While the survival core still runs its own mines, nothing is imported and the console says so.

Install ExyliaMines next to it

Drop ExyliaMines.jar into plugins/ and keep ExyliaSurvivalCore installed: the mines are read from the survival core's own database, whatever engine it uses, so it has to be running.

Start the server once

The console lists what was imported. From then on ExyliaMines runs the mines, and /minesadmin opens them.

What is brought over

WhatFromTo
SettingsThe settings and sounds sections of plugins/ExyliaSurvivalCore/modules/mines/config.ymlconfig.yml, written with them — only when ExyliaMines has no config.yml yet. The keys are the same.
Messagesplugins/ExyliaSurvivalCore/lang/<language>/modules/mines/messages.yml, every languagelang/<language>/messages.yml, where none exists yet. The keys are the same.
MinesThe sc_mines tablemines. Area, type, composition, levels, loot, effects, permission, switches, reset times and teleports.
Broken blocksThe sc_mine_broken_blocks tablemines_broken_blocks, so a hole left before the move still grows back.
Mining historyThe sc_stat_counters rows mines.<id>.blocks, per playermines_stats. See below.

A mine whose id ExyliaMines already has is left as it is. On a network sharing one database, that is what makes every row come over once, whichever server starts first.

Features that did not exist in the survival core — the hologram, lucky rewards, potion effects, Fortune settings — start empty on an imported mine.

Mining history

How many blocks each player mined in each mine, as the survival core's stats module counted them, is imported once the mines are in, for the mines this server has. Each player's count is raised to the survival core's number, never lowered, so a leaderboard starts from the history rather than from zero and running the import twice changes nothing.

It happens once

When the mines are in, the file plugins/ExyliaMines/.imported-survivalcore is written; the history writes .imported-survivalcore-stats. From then on nothing is read from the survival core again, so a mine you delete here never comes back. Deleting a marker file runs that part again on the next start.

The import waits, without writing its marker, while:

  • the survival core's folder is there but the plugin is not running — "ExyliaSurvivalCore left mines behind but is not running";
  • the survival core still runs its own mines module.

A server that never ran the survival core — no plugins/ExyliaSurvivalCore/ folder — has nothing to wait for, and the markers are written on the first start.

What else carries over

  • Permissions. exyliasurvivalcore.mines.admin still works: it is declared by ExyliaMines and grants exyliamines.admin. Mine permissions are stored on each mine and come over with it.
  • Commands. /minesadmin keeps its name.
  • Placeholders. Inside Exylia plugins' own files the names are the same, %mine_reset_<id>%. Through PlaceholderAPI the plugin in front changes: %exyliasurvivalcore_mine_reset_<id>% becomes %exyliamines_mine_reset_<id>%. See Placeholders.
  • The API. Plugins that broke mine blocks through ExyliaSurvivalCore move to MinesService. See API.

From CataMines or RealMines

/minesadmin import catamines
/minesadmin import realmines

The mines are read straight from the other plugin's folder, plugins/CataMines/mines/ or plugins/RealMines/mines/, one .yml file per mine. That plugin does not have to be installed, and nothing in its files is changed.

Every mine comes over as a classic mine of this server, enabled. Its id is its name in lower case, with anything other than letters, digits, _ and - turned into _. A mine whose id is already taken — on any server of the database — is skipped, so running an import again only adds what is new. The answer says how many were imported and how many skipped; a file that could not be read is named in the console.

Imported mines are set up at once and refill on their first interval. Their holograms, loot tables and everything else this plugin adds are set afterwards from /minesadmin.

CataMines 2.x

CataMinesExyliaMines
nameId and display name
region (world, p1, p2)The area. Only cuboid regions; any other region type is skipped.
composition (block, chance)The composition, each chance as a weight
resetDelayReset interval; the default from config.yml when it is not set
resetMode with PERCENTAGE, and resetPercentageThreshold: CataMines resets when the share left falls to its value, ExyliaMines when the share mined reaches it, so 100 − resetPercentage
warn.enableWarn, warn.warnSecondsReset warning: the longest of the warning seconds
teleportLocationEntry teleport
teleportResetLocation, with teleportPlayersToResetLocationSafe teleport

CataMines loot tables are not imported.

RealMines 1.x

RealMinesExyliaMines
typeOnly BLOCKS mines. Schematic and farm mines have no counterpart and are skipped.
name, displayNameId, and display name with its & colour codes removed
world, pos1, pos2The area
block-sets (default, or the first set), or blocksThe composition, each percentage as a weight
reset.time.active, reset.time.valueReset interval, at least 5 seconds; the default from config.yml when time resets are off
reset.percentage.active, reset.percentage.valueThreshold, as 100 − value
settings.send-mined-items-to-inventoryAuto-pickup
settings.break-permissionMine permission realmines.<name>.break
iconIcon, when it names a material
teleportEntry teleport, centred on the block

Locations are only imported in worlds that are loaded when the import runs; load the worlds first.

Something missing on this page? Tell us on Discord