Module Configuration

Module Configuration

Each module keeps its own files under plugins/BusyMining/modules/<module>/:

Not every module has all three. Here's what ships:

Module config.yml messages.yml gui.yml Settings reference
core ✓ ✓ ✓ (Stats menu) Mining Levels & Zeta
gem ✓ ✓ ✓ Gemstones
economy ✓ ✓ ✓ (Mine Shop) Mine Shop
flux ✓ ✓ Fluxes
artifact ✓ ✓ ✓ Artifacts & Fossils
passive ✓ ✓ ✓ Passive Upgrades
rune ✓ ✓ Rune Guardians
singularity ✓ ✓ ✓ Singularity
refinery ✓ ✓ Refinery
oracle ✓ ✓ ✓ Oracles
enchantment Mining Enchantments
journal ✓ ✓ ✓ Journal
vessel ✓ ✓ ✓ Vessels
minion ✓ ✓ ✓ Minions

Files are created the first time a module loads. A module that's turned off in config.yml doesn't create its folder.

Missing keys and updates

On every start and /mine reload, BusyMining compares each of your files with the default bundled in the jar and adds any setting that's missing, together with its comment. Nothing you wrote is changed: your values, quotes, comments, indentation and key order stay exactly as they are, and the previous copy of the file goes to plugins/BusyMining/backups/ first. That means:

  • New options from an update appear in your files by themselves.
  • A key you delete comes back with its default value. To change a setting, edit it rather than removing it.
  • Values you already have are never overwritten, even when the default changes in an update.

Some sections hold your own entries instead of fixed settings. These are never added to: an entry you remove stays removed, and nothing is inserted into the entries you keep.

File Sections left alone
mainmenu.yml items
modules/core/config.yml Zeta.Amounts, MiningLevels.Amounts
modules/core/gui.yml Stats.items
modules/economy/gui.yml SellShop.items
modules/oracle/config.yml Oracles.Bosses.Phase1.Drops, Phase2.Drops, Phase3.Drops

A file that isn't valid YAML is not updated; the console names it and why. The usual cause is text without quotes: put text in double quotes, especially when it contains &, %, : or #, or starts with {, [, *, ! or @.

Whatever is missing from a file that couldn't be updated still works at the default bundled in the jar.

Block names

Wherever a module asks for a block (SummonBlock, ore lists, Gemstones.Blocks), names match partially: DIAMOND_ORE also matches DEEPSLATE_DIAMOND_ORE. Where a list has both a partial and an exact entry for the same block, the exact one wins.

Applying changes

/mine reload re-reads every module file and restarts all modules.