Power Level

A single scalar summarizing a player's overall progress

Overview

Power Level Since 1.5.0 folds combat level, claimed skill-tree stat rewards, unlocked abilities, ability mastery, and claimed achievements into a single clamped scalar per player. The mod computes and caches it; Power Level changes nothing visible by itself.

Power Level exists for a consumer, not for its own sake

Nothing in MMO Skill Tree itself reads a player's Power Level to change gameplay. It exists as a stable API surface for a separate consumer - most notably the optional MMO Mob Scaling companion mod, which reads it to scale mob difficulty. If you don't run a consumer mod, Power Level is computed and cached for nothing; that's fine, it's cheap.
Default mode
BALANCED
Clamp range
1 - 200
Pillars
6
Modes
3
Override configmods/mmoskilltree/power-level.jsonServer/MMOSkillTree/PowerLevel/*.json

The jar ships Server/MMOSkillTree/PowerLevel/Default.json as the base tuning. A pack can overlay a partial body; the owner file always wins. Every leaf folds independently - a partial file changes only the keys it mentions.

defaults<pack<owner

Modes

Power Level is computed under one of three named weight presets. DefaultMode in power-level.json (or a pack's PowerLevel asset) picks which one is active server-wide.

ModeWeighting
COMBAT_ONLYWeighs combat level and combat-relevant pillars heavily; ignores Achievements
BALANCED (default)Combat and stat rewards dominate, with smaller contributions from abilities, mastery, and achievements
COMPLETIONISTSpreads weight more evenly, giving achievements and mastery more relative influence

Pillars

Each pillar contributes provider.contribution(...) * weight(activeMode, pillarId) to the total, which is then clamped. Six pillars are built in; a sibling mod can register additional pillars, which become first-class weight targets in Modes automatically.

FieldTypeDefaultDescription
Combatobject { Factor }1.5Scales the player's combat level (the max level across combat skills).
StatRewardsobject { Factors: map }optionalA generic per-{stat key} factor map (e.g. STAT_HEALTH, DAMAGE_PCT, FLAT_DAMAGE) summing every claimed skill-tree + mastery stat reward. Adding a new surfaced stat is a JSON line, not a codec change.
MaxHealthobject { BaseHealth, Factor }100 / 10.0Contributes (maxHealth / BaseHealth) * Factor.
Abilitiesobject { Factor }3.0Scales unlocked active abilities.
Masteryobject { Factor }4.5Scales claimed ability mastery nodes.
Achievementsobject { Factor }3.0Scales claimed achievement points.
* required

Clamp

FieldTypeDefaultDescription
MinPowerdouble1.0Floor of the scale; also the no-skill-data fallback returned by the API.
MaxPowerdouble200.0Ceiling of the scale.
BaseOffsetdouble0.0A flat offset added before clamping.
* required

The final value is clamp(pillarPower + BaseOffset, MinPower, MaxPower). A consumer mod that maps Power Level onto its own difficulty scale should read the live bounds from MMOSkillTreeAPI.getPowerLevelMin()/getPowerLevelMax() instead of hardcoding 1/200, so the two scales cannot silently drift apart when either config is retuned.

Current Tuning (1.5.1+)

Example figures were retuned in 1.5.1

1.5.1 raised every pillar factor 1.5x over 1.5.0's original launch tuning. Use these current figures, not any earlier example numbers.
BuildPower Level (BALANCED)
Maxed weapon tree (e.g. Swords L98) alone~68
Mid-progress, multi-pillar build~130
Full completionist (every pillar maxed)200 (clamp ceiling)

Example Owner Override

A partial power-level.json only needs the keys you want to change - every other leaf inherits from the jar default (or a pack overlay under it):

mods/mmoskilltree/power-level.json
{
  "SchemaVersion": 2,
  "DefaultMode": "COMPLETIONIST",
  "Clamp": { "MaxPower": 250.0 },
  "Pillars": {
    "Achievements": { "Factor": 4.0 }
  }
}

This raises the ceiling to 250, switches the server default to COMPLETIONIST weighting, and bumps the Achievements factor - every other pillar and mode weight stays at the jar/pack default.

Pack Authoring

A content pack can ship its own Server/MMOSkillTree/PowerLevel/*.json asset using the same nested Clamp/Pillars/Modes schema as the jar default. Precedence resolves

defaults<pack<owner
per leaf: a pack can retune the jar default for its own content, and an owner's power-level.json always wins over both.

API

A sibling mod reaches a player's power only through MMOSkillTreeAPI - never hyMMO internals directly.

FieldTypeDefaultDescription
getPowerLevel(store, ref)doubleoptionalThe player's current Power Level, cached and recomputed only after a pillar-input mutation or a config reload.
getPowerLevelMin()doubleoptionalThe configured clamp minimum.
getPowerLevelMax()doubleoptionalThe configured clamp maximum.
getCombatLevel(store, ref)intoptionalThe cheap combat sub-input alone (max level across combat skills); returns 0 for a player with no skill data.
statRewardSum(store, ref, statKey)doubleoptionalThe sum of a player's skill-tree + mastery stat-reward contributions for one stat key; 0.0 for an unrecognized key.
* required

Consumers

MMO Mob Scaling

Companion Mod

Optional companion mod that scales mob difficulty using a player's Power Level and can cast abilities on non-player mobs through the same ability catalog. Replaces the removed built-in Elite Mobs system. Own CurseForge listing, own version numbers - it is not bundled with MMO Skill Tree or any of its content packs.