Skip to main content

Skill System

EliteMobs uses a skill-based progression system where players level up by fighting elite mobs. Rather than a single global level, players develop individual weapon skills and an armor skill that together determine their overall power.

There are 9 skill types:

SkillWeaponNotes
SwordsAny _SWORD
AxesAny _AXE
BowsBOW
CrossbowsCROSSBOW
TridentsTRIDENT
Hoes (Scythes)Any _HOE
MacesMACERequires Minecraft 1.21+
SpearsAny _SPEARRequires Minecraft 1.21.11+ (with resource pack)
ArmorHelmets, chestplates, leggings, bootsLevels passively

Skills level up by using the associated weapon to kill elite mobs. Your Combat Level -- calculated from your skills -- determines what content you can access, what gear you can equip, and what difficulty mobs spawn around you.

How Skills Level Up

When you kill an elite mob, you earn XP based on the mob's level. The XP is distributed as follows:

  • Weapon XP goes to the skill matching the weapon in your main hand only. Off-hand weapons do not earn XP.
  • Armor XP is earned passively on every kill at 1/3 the rate of weapon XP. This means armor always trails behind your weapon skills.
  • Group fights: When multiple players damage the same elite, XP is split proportionally based on each player's damage contribution. If you dealt 60% of the damage, you earn 60% of the base XP.

Base XP from Mobs

The base XP earned from killing a mob is:

mob_xp = mob_level ^ 2
Mob LevelXP Earned
11
10100
25625
502,500
10010,000

Boss XP Multiplier

Tougher mobs are worth more. The base XP above is multiplied by a factor derived from the mob's healthMultiplier and damageMultiplier:

bossXPMultiplier = healthMultiplier^0.6 * (1 + (damageMultiplier - 1) * 0.15)

The HP component uses a sublinear exponent (0.6) so that longer fights pay more without making high-health bosses disproportionately profitable to farm. The damage component is heavily dampened, because even small increases in damage raise difficulty a lot and a linear reward would push players toward suicidal targets.

healthMultiplierdamageMultiplierXP multiplier
1.01.01.00x
3.0 (miniboss)1.21.99x
7.0 (boss)1.43.41x
40.0 (world boss)1.59.83x

The full order of operations on a kill is: effective mob level (after the anti-exploit caps below) → base XP → boss multiplier → split by damage contribution → weapon XP and armor XP.

Anti-Exploit Protections

All three are configured in AntiExploit.yml and are skipped entirely when enableFarmingProtection is false. See Farming Protection for the full config table.

  • Low-level mobs (per skill): Each weapon/armor skill only gains XP if the mob is at most farmingProtectionLevelDifference levels below that specific skill's level (default 15). This check uses the individual skill level, not your combat level, and is skipped entirely under scaled combat, where the mob is normalized to the player and "too low level" is meaningless.
  • High-level mobs: A mob's reward level is capped at combat_level + farmingProtectionLevelDifference (default 15) for both XP and loot. You still get XP, but not the full amount.
  • Natural elite farming cap: Natural (non-custom-boss) elite kills are counted in a rolling window farmingProtectionMinutes long (default 30). Going past farmingProtectionKills kills (default 20) inside that window locks you out of natural-elite rewards for one full window. You are told in chat when the lockout starts and again when it lifts. Custom bosses are exempt.

XP Progression

The XP required to advance from your current level to the next level follows this formula:

Levels 1-100:

xp_to_next_level = 8.5 * current_level ^ 3

Levels above 100 (soft cap):

xp_to_next_level = 8.5 * current_level ^ 3 * (1 + ((current_level - 100) ^ 2 / 100))

The soft cap multiplier is 1.0 at level 100 (no extra penalty) and grows quadratically. By level 150, the multiplier reaches 26x, making further progress extremely difficult.

XP Per Level Table

The table below shows the XP needed to go from a given level to the next, and approximately how many same-level mob kills that takes (weapon skill, not armor):

LevelXP to Next LevelKills of Same-Level Mobs
108,50085
25132,812213
501,062,500425
753,585,937638
1008,500,000850
Armor Takes Longer

Armor earns XP at 1/3 the weapon rate, so it takes roughly 3x as many kills to level armor compared to the numbers above. At level 50, that means about 1,275 same-level kills for armor alone.

Combat Level

Your Combat Level is the overall measure of your power. It is calculated as:

combat_level = (highest_weapon_skill + second_highest_weapon_skill + armor_skill) / 3

The result is rounded down (integer division).

Combat Level determines:

  • The level of elite mobs that spawn around you
  • What gear you can equip (gear level must be at or below your matching skill level)
  • Which dungeons and instanced content you can access
  • XP and loot eligibility (anti-exploit checks use combat level)

Combat Level Display

Your combat level is shown as a floating number above your head, visible to other players. This uses packet-based text displays and updates automatically whenever your skills change. The display format is configurable (default: Combat Lv. X).

XP Bar

When you earn skill XP, an animated boss bar appears showing your progress toward the next level. The bar features:

  • Smooth animation that creeps up as XP is gained
  • A different color per skill type (e.g., red for Swords, green for Bows, blue for Armor)
  • Special particle and sound effects on level up
  • Auto-hides after 5 seconds of inactivity

Gear Restrictions

EliteMobs gear has level requirements tied to the skill system. To equip an elite item, your skill level for that weapon or armor type must be equal to or higher than the item's level.

Exception: Items at level 20 or below can be equipped by anyone regardless of skill level. This ensures new players can freely use early-game gear without being locked out.

If you try to equip an item above your skill level, you will receive a warning message and the item will provide no elite bonuses.

Skill Bonuses

As you level up your skills, you unlock special combat abilities in four tiers. Each tier unlocks a set of bonuses for that skill, not a single one:

TierUnlocks at
1Level 10
2Level 25
3Level 50
4Level 75

Unlocking a tier does not grant a slot. You can have up to 3 active bonuses per weapon or armor type at once, chosen from everything you have unlocked. Skill bonuses are managed through the /em menu or by visiting the Skill Bonus NPC in the Adventurer's Guild.

What the skillbonuses files control

The skillbonuses/*.yml files control presentation (display name, description, unlock tier, bonus type, menu icon, lore templates) and part of the balance: baseValue, scalingPerLevel, procChance, cooldownSeconds, maxStacks and stackBonus are read back by the plugin wherever a bonus consults its config. Bonuses that do not read those keys use hardcoded constants instead. See Skill Bonuses for exactly which value each bonus takes from config.

See Skill Bonuses for the complete list of all 84 bonuses and what they do.

Notifications & UI

The skill system provides several forms of feedback:

  • Level Up: Title message, challenge-complete sound, and totem-of-undying particle burst on every level up.
  • Milestones: A server-wide broadcast is sent only when a player reaches a milestone level (every 5th level: 5, 10, 15, ...). Regular level ups are not broadcast. The broadcast can be toggled off in dungeons.yml.
  • Combat Level Display: Floating number above your head, visible to other players. Updates automatically on level up.
  • XP Bar: Animated boss bar showing skill XP progress during combat.
  • XP Gain Messages: Optional per-kill XP messages (disabled by default as they can be spammy).

Most of the above are configured in skills.yml; the milestone level-up broadcast and its message live in dungeons.yml.

Admin Commands

CommandPermissionDescription
/em skill check <player>elitemobs.skill.checkView a player's skill levels, XP progress, and percentages
/em skill set <player> <skillType> <level>elitemobs.skill.adminSet a specific skill to a given level
/em skill setAll <player> <level>elitemobs.skill.adminSet all skills to the same level
/em debug combat startelitemobs.adminStart automated combat system testing
/em debug combat test <type>elitemobs.adminTest a specific weapon type (e.g., swords, bows)
/em debug combat resultselitemobs.adminView the results of the last combat test
/em debug combat cancelelitemobs.adminCancel an active combat test
note

The skillType argument for /em skill set accepts: ARMOR, SWORDS, AXES, BOWS, CROSSBOWS, TRIDENTS, HOES, MACES, SPEARS.

Server Configuration

The skill system is configured in skills.yml. Key settings:

SettingDefaultDescription
skillSystemEnabledtrueEnables or disables the entire skill system
armorSkillHealthBonusEnabledtrueWhether Armor skill grants bonus max health (+1 heart per level above 1)
scalePlayerHealthDisplayToVanillafalseKeeps EliteMobs max HP, but visually scales the player HUD back to the vanilla 10 hearts
forceDefaultHealthWhenArmorSkillHealthBonusDisabledfalseWhen armor health bonus is disabled, forces players to vanilla 20 max health on join
skillWorldExclusions(empty)List of world names where the skill system is inactive. Players in these worlds receive no skill XP, armor health bonus, XP bars, or combat level display. Useful for event worlds where everyone should be equal. Matching is case-insensitive
skillsMenuTitle&5&lYour SkillsTitle of the skills menu
showCombatLevelDisplaytrueShow combat level number above players
showXPBartrueShow animated XP progress bar during combat
skillBarTitleFormat&6$skillName &7Lv.$level$xpTextXP bar title format
skillLevelUpTitleFormat&e&l✦ $skillName LEVEL UP! &7→ &eLv.$level &e&l✦Level up boss bar title format
combatLevelFormat&6&lCombat Lv. $levelCombat level display format

For the full configuration reference, see the EliteMobs Configuration page.