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:

TierLevel RequiredChoices OfferedPicks Required
1521
21021
31531
42031
53042
64042
75052
86552
98053
1010063

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:

FieldTypeDescription
tierintTier index (0–9)
levelRequiredintMinimum skill level to unlock this tier
choicesRequiredintNumber of rewards the player must pick from this tier
choicesarrayList of reward options available at this tier

Reward Fields

Each entry in the choices array has these fields:

FieldRequiredDescription
idYesUnique identifier for this reward (e.g., mining_luck_1)
typeYesReward type (see table below)
valueYesMagnitude of the effect (percentage or flat amount depending on type)
displayNameYesName shown in the skill tree UI
descriptionYesDescription shown in the skill tree UI
combatTargetNoRestricts 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.

TypeValue FormatEffect
STAT_HEALTHFlat amountIncreases maximum health
STAT_DAMAGEPercentageIncreases damage dealt
STAT_DEFENSEPercentageReduces damage taken (capped at 90%)
STAT_SPEEDPercentageIncreases movement speed
STAT_STAMINAFlat amountIncreases maximum stamina
STAT_MANAFlat amountIncreases maximum mana
LUCKPercentageChance to receive bonus resources
BONUS_XPPercentageIncreases XP gained from this skill
CRITICAL_CHANCEPercentageChance to deal critical damage
LIFESTEALPercentageRestore health when dealing damage
KNOCKBACK_RESISTANCEPercentageReduces knockback received
HASTEPercentageIncreases gathering speed
FORTUNEPercentageChance for bonus item drops
VEIN_MINERBlock countBreak connected blocks of the same type
FALL_DAMAGE_REDUCTIONPercentageReduces fall damage taken
EFFECT_DURATIONPercentageEntity effects last longer
COOLDOWN_REDUCTIONPercentageReduces 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.

ValueApplies To
ALLAll combat skills (default)
MELEESwords, Daggers, Polearms, Staves, Axes, Blunt, Unarmed
RANGEDArchery
MAGICMagic abilities
SWORDSSwords only
DAGGERSDaggers only
POLEARMSPolearms only
STAVESStaves only
AXESAxes only
BLUNTBlunt weapons only
ARCHERYArchery only
UNARMEDUnarmed 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.json shows 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=PlayerName

Examples

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
      ]
    }
  }
}