HyronicHyronic Mcmmo Docs

Configuration

How mcMMO's configuration system works, what each config file controls, and the rules that keep your server from crashing on a bad edit.

This page explains how mcMMO's configuration works as a whole. Each individual file has its own detailed page (linked below).

Where the files live

Everything is in:

plugins/mcMMO/

mcMMO generates the default config files here the first time it runs (and regenerates any file that's missing). To reset a file to defaults, delete it and restart. mcMMO copies a fresh copy out of mcMMO.jar.

Changes require a full restart. Reloading is not supported. mcMMO reads its config at startup; /reload or live edits won't take effect and can break the plugin. Stop and start the server after any edit.

How edits are validated

mcMMO checks your config files at startup. If it finds an illegal value (a number out of range, a misspelled key, an invalid material name), it refuses to run with broken settings and disables itself. The server keeps running; mcMMO just won't load.

If mcMMO doesn't come up after an edit, read your server log. mcMMO is deliberately verbose about exactly which file and key it rejected. Fix that key and restart.

A file can be valid YAML and still have invalid mcMMO values. The YAML being well-formed only means the syntax is correct. mcMMO still range-checks the actual values.

What happens on update

  • If a config file is missing, mcMMO recreates it with defaults.
  • If an update adds new settings, mcMMO adds those keys to your existing files for you, without touching your customized values, except for a few loot/recipe files that don't auto-merge (see below).
  • upgrades_overhaul.yml is internal: mcMMO uses it to track one-time data upgrades. Do not edit it.

These files do not auto-add new keys on update. If you customize them, update them by hand each release (or delete them to regenerate fresh defaults): treasures.yml, fishing_treasures.yml, repair.vanilla.yml, salvage.vanilla.yml.

The main config file

All configuration files

FileControlsWhen you'd edit it
config.ymlGeneral toggles, parties, ability cooldowns, scoreboards, databaseMost common starting point
advanced.ymlThe math behind every sub-skill: chances, caps, formulas, activation valuesRe-balancing skills
experience.ymlXP curve & formula type, XP per block/mob/action, diminishing returnsChanging leveling speed
skillranks.ymlThe level at which each sub-skill rank unlocksRe-pacing unlocks
coreskills.ymlEnable/disable each skill and a few per-skill basicsTurning skills off
chat.ymlParty-chat and admin-chat formatting & behaviorCustomizing chat channels
sounds.ymlWhich mcMMO sound effects play, and their volume/pitchMuting/tuning sounds
potions.ymlAlchemy concoction recipesAdding/removing brews
treasures.ymlExcavation (Archaeology) loot tablesCustom dig loot
fishing_treasures.ymlFishing & Shake loot tablesCustom fishing loot
itemweights.ymlItem rarity weights used by fishing treasureTuning treasure rarity
repair.vanilla.ymlWhat Repair can fix and with which materialsCustom repair recipes
salvage.vanilla.ymlWhat Salvage can break down and what it returnsCustom salvage recipes
party.ymlMaster on/off switch for the entire party systemDisabling parties
persistent_data.ymlWhich mcMMO data is saved persistentlyAdvanced data control
custom_item_support.ymlRecognizing custom/modded items as mcMMO toolsModded servers
hidden.ymlExperimental/internal togglesRarely; leave alone
upgrades_overhaul.ymlInternal upgrade trackingNever edit

Older guides mention a child.yml for child-skill (Salvage/Smelting) settings. Current mcMMO no longer ships it. Child-skill relationships are built into the plugin. See Getting Started.

Editing YAML safely

mcMMO config files use YAML. A few rules prevent most mistakes:

  • Indent with spaces, never tabs. mcMMO's files use 4-space indentation; keep new lines aligned with the block they belong to.
  • Keep the key names exactly as generated. Don't rename or re-case keys.
  • Match the value type. A setting that ships as true/false expects a boolean; a number expects a number (no quotes).
  • When in doubt, paste the file into a YAML validator such as YAML Lint to catch syntax errors before you restart.

You can always view mcMMO's current defaults in the source: default config files on GitHub.

On this page