XP Values Configuration
Customize XP per block, item, and weapon
Overview
XP values are stored in mods/mmoskilltree/xp-maps.json using an override-based system. The file only contains your customizations - defaults are built into the mod.
Shipping XP values in a content pack
Prefer a content pack: author one file per skill's XP map under Server/MMOSkillTree/XpMaps/ inside a pack folder, zip it, and drop the .zip into your server Mods/ folder. Building the zip.
mods/mmoskilltree/xp-maps.json stays the quick per-server tweak that always wins.
// Server/MMOSkillTree/XpMaps/MyPack_Weapons.json
{
"MINING": {
"Ore_Voidstone_": 220
}
}Precedence is the ordinary one: built-in defaults, then packs, then your xp-maps.json, which always wins. See Combat XP Modes for which modes actually read weapon XP values at all.
Pattern Matching
Block and item IDs use substring matching:
Ore_matches ALL ores (Ore_Iron_, Ore_Gold_, etc.)Rock_Gem_Diamondmatches only the diamond blockWood_Logmatches all log types
Modded Weapons: MMO_Weapon_Type Tag
Added in v1.0.3. Mod and content-pack authors can route a custom weapon to a combat skill without editing xp-maps.json by adding an MMO_Weapon_Type tag to the weapon's item JSON. It is a fallback: when the xp-map lookup above misses for a held item, the resolver reads the tag and routes XP to the first listed value that names a registered skill.
See the dedicated Weapon Skill Tags page for where the tag goes (the uppercase Tags block), the matching rules, valid skill IDs, and troubleshooting.
Commands
# Set XP for a pattern
/mmoconfig mining --args=Rock_Gem_Diamond|150
# Set XP for all ores (wildcard)
/mmoconfig mining --args=Ore_|25
# View current values
/mmoconfig list --args=mining
# View only your customizations
/mmoconfig diff --args=mining
# Reset a pattern to default
/mmoconfig remove --args=mining|Rock_Gem_Diamond
# Disable a pattern (no XP)
/mmoconfig disable --args=mining|Wood_LogFile Structure
{
"schemaVersion": 1,
"xpMaps": {
"MINING": {
"Ore_Iron_": 50,
"Rock_Gem_Diamond": 150,
"Wood_Log": -1
},
"WOODCUTTING": {
"Wood_Oak": 10
}
}
}Special Values
-1- Explicitly disable a pattern (no XP given)0- Pattern gives zero XP (still processed)- Positive number - XP awarded for matching blocks/items
Decimal Values
XP values accept decimals - e.g. 0.5, 2.5, 12.75. Useful when you want weapon scaling (which multiplies weapon XP into mob-kill XP) to resolve to small, specific base amounts. Applies to both xp-maps.json and mob-kill-xp.json.
Fishing integrations
An installed fishing integration (HyFishing or the CozyTales Fishing adapter) pays Fishing XP per catch, and those per-catch payouts are retuned in this file's FISHING block the same as any other pattern - same syntax, same commands, same admin page.
Reference Files
mods/mmoskilltree/_reference/defaults-xp-maps.json is a read-only copy of the XP values the mod ships, rewritten only when they change. It does not show what packs add or what you override, and the mod never reads it, so make your changes in xp-maps.json.
Admin UI
Use /mmoadmin → "Edit XP Values" for a visual editor:

- Browse by category and skill
- See default vs. current values
- Status indicators: Default (green), Override (orange), Disabled (red)
- Click pattern name to copy to text field
Best Practices
- Use specific patterns before wildcards (more specific = higher priority)
- Test with
/mmoconfig listto verify patterns match correctly - Use
/mmoconfig trimto remove redundant XP overrides - it strips only XP-map redundancy, nothing else - Back up your
xp-maps.jsonbefore major changes