Skip to main content

Upgrade System

Success Rates

Success rates are configured in:

contents/success-rates.yml

Example:

success-rates:
"1-3": 1.0
"4-5": 0.8
"10-15": 0.5

Rates use decimal values:

ValueMeaning
1.0100%
0.880%
0.550%

Level Caps

The plugin can combine global, tier-based, and item-specific limits.

Common cap sources:

SourcePurpose
max-levelGlobal fallback cap from config.yml.
tier-max-levelsCaps by MMOItems tier or rarity.
item-max-levelsCaps for a specific MMOItems type and id.
MMOItems item dataOptional item max level when compatibility settings allow it.

Upgrade Materials

Upgrade costs are configured under:

contents/materials/

Materials can be split across multiple files. This is useful when you want separate files for weapons, armor, event gear, or special equipment families.

Supported material providers include:

TypeDescription
VANILLAVanilla Minecraft material.
MMOITEMSMMOItems item, usually matched by type and id.
ITEMSADDERItemsAdder custom item.
NEXONexo custom item.
MYTHICMOBSMythicMobs item.

Example:

special_excalibur:
type: CUSTOM
item-id: SWORD:EXCALIBUR
levels:
"1":
money: 1000.0
exp: 50
materials:
- type: VANILLA
id: DIAMOND
amount: 1

MMOItems type-wide material matching is supported in current versions. For example, id: MATERIAL or id: MATERIAL:* can accept any MMOItems item from the MATERIAL type when the material rule is configured for that behavior.

Upgrade Gains

Stat gains are configured under:

contents/upgrade-gains/

Example:

levels:
1:
ATTACK_DAMAGE: "5%"
CRITICAL_STRIKE_CHANCE: 2.0
6:
PERM_EFFECTS:
SPEED: 1
10:
ABILITIES:
- type: FIREBOLT
mode: RIGHT_CLICK
damage: 50
cooldown: 5

Gain values can be fixed numbers or percentages.

FormatMeaning
5%Adds 5% based on the base value.
+3%Adds 3% based on the base value.
-2%Removes 2% based on the base value.
10Adds a flat value.
+5Adds a flat value.
-3Removes a flat value.

Upgrade Flow

The normal GUI upgrade flow is:

  1. Player opens /mmoupgrade gui.
  2. Player places an MMOItems item in the input slot.
  3. The GUI checks upgrade eligibility and material requirements.
  4. Optional support scrolls modify the attempt.
  5. Optional minigame runs if enabled.
  6. The plugin rolls success or failure.
  7. The item is rebuilt with the new level and configured gains.
  8. Costs are consumed and statistics are updated.