MMMOUpgradeUser Wikiv2.0 docs
Rules

Upgrade rules

upgrade.yml controls which items can be upgraded, max level, level display, consumed items, failure behavior, and success chance calculation.

Success Formula

finalChance = upgradeStoneChance + luckyCharmChance + levelBonus
finalChance = min(finalChance, success-chance.max-percent)

# Free mode has an extra cap:
finalChance = min(finalChance, license-limits.free.max-success-chance)

In Premium mode, item stats such as MMOUPGRADE_STONE_CHANCE or MMOUPGRADE_LUCKY_CHANCE can replace the chance from the stone or charm.

Full Example

max-level: 25

license-limits:
  free:
    max-level: 10
    max-success-chance: 75

allowed-types:
  - SWORD
  - ARMOR

level-display:
  mode: BOTH
  name-format: "{name} | Lv.{level}"
  name-strip-suffixes:
    - " | Lv.{level}"
  lore-format: "<aqua>Level {level}</aqua>"
  lore-position: TOP
  lore-index: -1

level-lore-format: "<aqua>Level {level}</aqua>"
level-name-format: "{name} | Lv.{level}"
level-name-strip-suffixes:
  - " | Lv.{level}"

consume-items:
  upgrade-stone: true
  lucky-charm: true
  protect-charm: true

failure:
  downgrade: true
  protect-charm-prevents-downgrade: true

success-chance:
  max-percent: 100
  level-bonus:
    0-to-3: 60
    4-to-7: 40
    8-to-11: 20
    12-to-15: 10
    16-to-20: 5
    21-to-23: 2
    24-to-25: 1

Important Keys

allowed-types

An MMOItems item can only be upgraded if its type is in this list. Premium can use MMOUPGRADE_ENABLED to override this per item.

level-display.mode

BOTH shows name and lore, NAME shows only name, LORE shows only lore, and NONE stores only NBT level data.

name-strip-suffixes

Removes the old level suffix before adding the new one, preventing names like Sword | Lv.1 | Lv.2.

failure

If downgrade: true, a failed upgrade lowers the level. A protect charm can preserve the level when the rule is enabled.