Skill Tree Configuration
Customize reward tiers, choices, and combat targeting
Overview
The skill tree config defines the reward tiers players progress through as they level each skill. Each tier has a level requirement, a set of reward choices, and a number of picks the player must make. See the Skill Trees page for the player-facing experience and the Reward Types page for details on each reward type.
The config file mods/mmoskilltree/skill-tree.json uses an override-based system — your customizations are stored separately from defaults and preserved across mod updates.
File Structure
{
"schemaVersion": 1,
"overrides": {
"MINING": {
"0": {
"tier": 0,
"levelRequired": 5,
"choicesRequired": 1,
"choices": [
{
"id": "mining_luck_1",
"type": "LUCK",
"value": 5.0,
"displayName": "Lucky Strikes I",
"description": "5% bonus resource chance"
},
{
"id": "mining_stamina_1",
"type": "STAT_STAMINA",
"value": 10.0,
"displayName": "Endurance I",
"description": "+10 max stamina"
}
]
}
}
}
}Each skill has up to 10 tiers (numbered 0–9). Only include tiers you want to customize — missing tiers use defaults automatically.
Default Tiers
Every skill uses the same tier progression by default:
| Tier | Level Required | Choices Offered | Picks Required |
|---|---|---|---|
| 1 | 5 | 2 | 1 |
| 2 | 10 | 2 | 1 |
| 3 | 15 | 3 | 1 |
| 4 | 20 | 3 | 1 |
| 5 | 30 | 4 | 2 |
| 6 | 40 | 4 | 2 |
| 7 | 50 | 5 | 2 |
| 8 | 65 | 5 | 2 |
| 9 | 80 | 5 | 3 |
| 10 | 100 | 6 | 3 |
Higher tiers offer more choices and require more picks, creating meaningful build decisions at endgame levels.
Node Fields
Each tier node has the following fields:
| Field | Type | Description |
|---|---|---|
tier | int | Tier index (0–9) |
levelRequired | int | Minimum skill level to unlock this tier |
choicesRequired | int | Number of rewards the player must pick from this tier |
choices | array | List of reward options available at this tier |
Reward Fields
Each entry in the choices array has these fields:
| Field | Required | Description |
|---|---|---|
id | Yes | Unique identifier for this reward (e.g., mining_luck_1) |
type | Yes | Reward type (see table below) |
value | Yes | Magnitude of the effect (percentage or flat amount depending on type) |
displayName | Yes | Name shown in the skill tree UI |
description | Yes | Description shown in the skill tree UI |
combatTarget | No | Restricts combat rewards to specific weapon types (default: ALL) |
Reward Types
All available type values. See Reward Types for detailed stacking behavior and per-skill breakdowns.
| Type | Value Format | Effect |
|---|---|---|
STAT_HEALTH | Flat amount | Increases maximum health |
STAT_DAMAGE | Percentage | Increases damage dealt |
STAT_DEFENSE | Percentage | Reduces damage taken (capped at 90%) |
STAT_SPEED | Percentage | Increases movement speed |
STAT_STAMINA | Flat amount | Increases maximum stamina |
STAT_MANA | Flat amount | Increases maximum mana |
LUCK | Percentage | Chance to receive bonus resources |
BONUS_XP | Percentage | Increases XP gained from this skill |
CRITICAL_CHANCE | Percentage | Chance to deal critical damage |
LIFESTEAL | Percentage | Restore health when dealing damage |
KNOCKBACK_RESISTANCE | Percentage | Reduces knockback received |
HASTE | Percentage | Increases gathering speed |
FORTUNE | Percentage | Chance for bonus item drops |
VEIN_MINER | Block count | Break connected blocks of the same type |
FALL_DAMAGE_REDUCTION | Percentage | Reduces fall damage taken |
EFFECT_DURATION | Percentage | Entity effects last longer |
COOLDOWN_REDUCTION | Percentage | Reduces ability cooldowns |
Combat Targeting
Combat rewards (STAT_DAMAGE, CRITICAL_CHANCE, LIFESTEAL) can be restricted to specific weapon types using the combatTarget field. This lets you create weapon-specific bonuses like "Swords deal +10% damage" instead of a global damage boost.
| Value | Applies To |
|---|---|
ALL | All combat skills (default) |
MELEE | Swords, Daggers, Polearms, Staves, Axes, Blunt, Unarmed |
RANGED | Archery |
MAGIC | Magic abilities |
SWORDS | Swords only |
DAGGERS | Daggers only |
POLEARMS | Polearms only |
STAVES | Staves only |
AXES | Axes only |
BLUNT | Blunt weapons only |
ARCHERY | Archery only |
UNARMED | Unarmed only |
If combatTarget is omitted, the reward defaults to ALL and applies to every combat skill.
Override Semantics
- Missing tiers use defaults automatically — only include tiers you want to change
- Missing skills use defaults — only include skills you want to customize
- Overriding a tier replaces the entire tier (all choices must be specified)
- New defaults added in mod updates propagate without losing your customizations
- Reference file at
mods/mmoskilltree/_reference/defaults-skill-tree.jsonshows all defaults
Admin Editor
The "Edit Skill Tree" button in /mmoadmin provides a visual editor for skill tree configuration. You can browse tiers per skill, modify reward choices, adjust level requirements, and change picks required — all without editing JSON files directly.
Disabling Tiers & Reset
Disable a Tier
Set a tier's choices to an empty array to disable it:
"overrides": {
"MINING": {
"9": {
"tier": 9,
"levelRequired": 100,
"choicesRequired": 0,
"choices": []
}
}
}Players will skip that tier entirely.
Skill Tree Reset
Players can respec their skill tree choices via the reset button in the /skilltree UI. To disable this, toggle "Allow Skill Tree Reset" in /mmoadmin General Settings, or set "allowSkillTreeReset": false in skill-config.json.
Commands
# Reload all configs (including skill tree)
/mmoconfig reload
# Reset all configs to defaults
/mmoconfig reloaddefaults
# Reset a player's skill tree choices (lets them re-pick)
/mmoconfig resetrewards --args=PlayerNameExamples
Custom Tier Override
Make Mining tier 1 (level 10) offer 3 choices instead of 2:
"overrides": {
"MINING": {
"1": {
"tier": 1,
"levelRequired": 10,
"choicesRequired": 1,
"choices": [
{
"id": "mining_luck_2",
"type": "LUCK",
"value": 8.0,
"displayName": "Lucky Strikes II",
"description": "8% bonus resource chance"
},
{
"id": "mining_stamina_2",
"type": "STAT_STAMINA",
"value": 15.0,
"displayName": "Endurance II",
"description": "+15 max stamina"
},
{
"id": "mining_haste_1",
"type": "HASTE",
"value": 5.0,
"displayName": "Quick Hands I",
"description": "5% faster mining"
}
]
}
}
}Adding Combat Targeting
Make a Swords damage reward that only applies to swords:
{
"id": "swords_damage_melee",
"type": "STAT_DAMAGE",
"value": 10.0,
"displayName": "Blade Mastery",
"description": "+10% melee damage with swords",
"combatTarget": "SWORDS"
}Changing Picks Required
Require 3 picks at tier 5 (level 30) for Woodcutting:
"overrides": {
"WOODCUTTING": {
"4": {
"tier": 4,
"levelRequired": 30,
"choicesRequired": 3,
"choices": [
// ... your 4+ choices here
]
}
}
}