Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
MythicMobs MythicMobs
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 143
    • Issues 143
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • MythicCraft
  • MythicMobsMythicMobs
  • Wiki
  • Stats

Last edited by Lxlp May 30, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Stats

Introduction

Stats are values that affect all kinds of mechanics across Players, Mobs, Items, Skills, and more. While Stats system can be complicated to learn at first, its versatility will enable you to do very advanced things, such as combat changes, technical utilities, and the creation of new game design elements.

Stats are defined in thestats.yml file. This file can exist in the root directory of MythicMobs (/plugins/MythicMobs/) or in a Pack folder.

  • Custom Stat Options
    • Custom Stat Types
    • Specific Type Options
    • Tooltips Formatting
  • Modifiers
  • Built In Stats
  • Implementations with Configurations
    • Mobs
  • Examples
    • Example Custom Stats

Custom Stat Options

Options that can be used in the Stat in order to better customize it

Option Description
Enabled If the stat is currently enabled
AlwaysActive If the stat is forcefully applied to every registry of every entity
Type The Type of the stat
Display The name with which the stat is displayed
Tooltips How the stat is shown on items. Depends on the Modifier used
Priority The priority with which the stat will take effect, compared to others
MinValue Minimum value for the stat
MaxValue Max value for the stat
Triggers What triggers the stat effect. Can be any MythicMobs trigger, minus the "on" bit. (For instance: to use onAttack, one needs to write ATTACK as a trigger)
ParentStats A list of other stats that this stat relies on
Formula A formula for the base value if this stat has parent stats
FormulaKey A key you can use in formulas, when this stat is the parent of another
BaseValue A static base value if it doesn't have parents
ExecutionPoint For stats that modify a trigger, can be PRE or POST. determines whether the stat is evaluated before or after any mechanics
Skills The skills that get executed when the stat is activated

Custom Stat Types

The values that the Type Option can be set to

Type Description
STATIC A static value. Does nothing on its own, but can be referenced via placeholders
DAMAGE_BONUS This stat adds a flat amount of bonus damage
DAMAGE_MODIFIER Modifies the damage using a formula
PROC A chance to execute skills

Specific Type Options

A list of options only available if the specified type is used in the stat

DAMAGE_MODIFIER

Option Description
DamageType Specify a custom damage type
Conditions Specify conditions which can affect the Modifier
DamageFormula Define a formula for how the damage is modified. See HERE for an example of this

DAMAGE_BONUS

Option Description
DamageType Specify a custom damage type

Tooltips Formatting

Formatting Description
Additive The tooltip to show for additive modifiers
Multiply The tooltip to show for multiply modifiers
Compound The tooltip to show for compound modifiers
Setter The tooltip to show for setter modifiers
Rounding The amount of numbers after the point in the value of the stat
EXAMPLE_STAT:
  Enabled: true
  AlwaysActive: false
  Type: STATIC
  FormulaKey: 'SPD'
  Tooltips:
    Additive: '+<value> Speed'
    Multiply: '+<value>% Speed'
    Compound: 'x<value>% Speed'
    Static: `Force <value> <display>`
    Rounding: 2

Modifiers

Modifiers can be used to adjust stats after their base value is defined.

Modifier Description
ADDITIVE Adds to the base value of a stat
ADDITIVE_MULTIPLIER Adds a multiplier the base value of a stat
COMPOUND_MULTIPLIER Multiplies the base value of a stat, then adds it to the base value
SETTER Overrides all modifiers and base values, and forces the stat to be what is defined

Note that stat modifiers can be applied to and by mobs, players, items, enchants, and auras. For example, an item may add to or multiply its wielder's attack speed, while an attack may temporarily apply a COMPOUND MULTIPLIER to half a target's attack speed.

ADDITIVE

The ADDITIVE modifiers are straightforward: they add to the base stat.

ADDITIVE_MULTIPLIER

The ADDITIVE_MULTIPLIER multiply the value of the base stat by the specified value.
They all pool together (i.e. additive multipliers of 2 and 3 becoming a multiplier of 5, NOT 6) to then multiply the base stat after additives.

COMPOUND_MULTIPLIER

Finally, the COMPOUND_MULTIPLIER multiplies all the ADDITIVE results afterwards - this is a great place for to apply effect changes such as debuffs, since they would typically be calculated after additive stat additions and multipliers.

Stat Calculation

The two ADDITIVE_MULTIPLIER and COMPOUND_MULTIPLIER modifiers can be easy to mix up; however, this example should make it a bit more clear:

Lets say you have these modifiers:

 8 base value
 10 additive
 2 additive
 5 multiply
 3 multiply
 2 compound   (effectively x2)
 0.4 compound (effectively -60%)

...the resulting math MythicMobs would calculate this is as follows:

(8 + 10 + 2) * (5 + 3) * (2 * 0.4) = 128

(base + additive + additive) * (additive_multiplier + additive_multiplier) * (compound_multiplier * compound_multiplier) = final stat

Regular multipliers are additive, and compound multipliers are multiplicative. You can think of it as "+10%" for Additive Multipliers vs. "x10%" for Compound Multipliers.

Built-In Stats

These stats are inherently supported by MythicMobs, and can be configured in the stats.yml file in the plugin's root directory (/plugins/MythicMobs/) or inside Pack folders. (/plugins/MythicMobs/Packs/CoolPack/) The player inherits the BaseValue of these stats; Mobs also inherit them as defaults, unless overrides are specified in the Stats: sub-section of their config.

Stat Description
ATTACK_DAMAGE Base Damage Output
ATTACK_SPEED Attack cooldown frequency. Typically only used for Players.
BONUS_DAMAGE Additional Modifier for dealing extra damage
CRITICAL_STRIKE_CHANCE Chance to land a Critical Strike (Chance-based Crit)
CRITICAL_STRIKE_DAMAGE Damage dealt via Critical Strike
CRITICAL_STRIKE_RESILIENCE Resistance to Critical Strike
DAMAGE_REDUCTION Generic damage reduction
DEFENSE Defense
DODGE_CHANCE Chance for an attack to fail when attempting to damage. Reduced by opponent's DODGE_NEGATION.
DODGE_NEGATION Reduces opponent's DODGE_CHANCE.
HEALTH Health values
HEALTH_REGENERATION Rate of Health Regeneration
LIFESTEAL_CHANCE Chance for damage dealt to heal the attacker
LIFESTEAL_POWER How much healing LifeSteal does.
MOVEMENT_SPEED Movement Speed.
PARRY_CHANCE Chance to mitigate and reflect damage from sources that melee you from the front. Reduced by opponent's PARRY_NEGATION.
PARRY_COUNTERATTACK How much damage is returned to the opponent when parrying.
PARRY_POWER How much damage is mitigated by Parry.
PARRY_NEGATION Reduces the PARRY_CHANCE of the opponent.

Built-in Stats Breakdown

This is a detailed breakdown of the built-in stats provided by MythicMobs. For custom stats, see Custom Stat Examples.

DODGE_NEGATION

Chance for an attack to land damage. Reduces opponent's DODGE_CHANCE. As shown below, the displayed name and lore elements of a stat can be customized, such as 'Accuracy' instead of 'Dodge Negation'

DODGE_NEGATION:
  Enabled: false
  AlwaysActive: false
  Display: 'Accuracy'
  Tooltips:
    Additive: '+<value> Accuracy'
    Multiply: '+<value> Accuracy'
    Compound: 'x<value> Accuracy'
  BaseValue: 0

ATTACK_DAMAGE

Base Damage Output

ATTACK_DAMAGE:
  Enabled: true
  AlwaysActive: false
  Display: 'Damage'
  Tooltips:
    Additive: '+<value> Damage'
    Multiply: '+<value> Damage'
    Compound: 'x<value> Damage'
  BaseValue: 1

ATTACK_SPEED

Attack cooldown frequency. Typically only used for Players.

ATTACK_SPEED:
  Enabled: true
  AlwaysActive: false
  Display: 'Attack Speed'
  Tooltips:
    Additive: '+<value> Attack Speed'
    Multiply: '+<value> Attack Speed'
    Compound: 'x<value> Attack Speed'
  BaseValue: 4.0

BONUS_DAMAGE

Additional Modifier for dealing extra damage

BONUS_DAMAGE:
  Enabled: false
  AlwaysActive: false
  Display: 'Bonus Damage'
  Tooltips:
    Additive: '+<value> Bonus Damage'
    Multiply: '+<value> Bonus Damage'
    Compound: 'x<value> Bonus Damage'
  BaseValue: 0

CRITICAL_STRIKE_CHANCE

Chance to land a Critical Strike (Chance-based Crit)

CRITICAL_STRIKE_CHANCE:
  Enabled: false
  AlwaysActive: false
  Display: 'Critical Strike'
  Tooltips:
    Additive: '+<value> Critical Strike'
    Multiply: '+<value> Critical Strike'
    Compound: 'x<value> Critical Strike'
  BaseValue: 0
  MinValue: 0
  Skills:
  - particles{p=crit;a=50;hS=1;y=1;s=1} @trigger

CRITICAL_STRIKE_DAMAGE

Damage dealt via Critical Strike

CRITICAL_STRIKE_DAMAGE:
  Enabled: false
  AlwaysActive: true
  Display: 'Critical Damage'
  Tooltips:
    Additive: '+<value> Critical Damage'
    Multiply: '+<value> Critical Damage'
    Compound: 'x<value> Critical Damage'
  BaseValue: 1

CRITICAL_STRIKE_RESILIENCE

Resistance to Critical Strike

CRITICAL_STRIKE_RESILIENCE:
  Enabled: false
  Display: 'Resilience'
  AlwaysActive: false
  Tooltips:
    Additive: '+<value> Resilience'
    Multiply: '+<value> Resilience'
    Compound: 'x<value> Resilience'
  BaseValue: 0

DAMAGE_REDUCTION

Generic damage reduction

DAMAGE_REDUCTION:
  Enabled: false
  AlwaysActive: false
  Display: 'Damage Reduction'
  Tooltips:
    Additive: '+<value> Damage Reduction'
    Multiply: '+<value> Damage Reduction'
    Compound: 'x<value> Damage Reduction'
  BaseValue: 0

DEFENSE

Defense

DEFENSE:
  Enabled: false
  AlwaysActive: false
  Display: 'Defense'
  Tooltips:
    Additive: '+<value> Defense'
    Multiply: '+<value> Defense'
    Compound: 'x<value> Defense'
  BaseValue: 0

DODGE_CHANCE

Chance for an attack to fail when attempting to damage. Reduces opponent's ACCURACY.

DODGE_CHANCE:
  Enabled: false
  AlwaysActive: false
  Display: 'Dodge'
  Tooltips:
    Additive: '+<value> Dodge Chance'
    Multiply: '+<value> Dodge Chance'
    Compound: 'x<value> Dodge Chance'
  BaseValue: 0
  Skills: []

HEALTH

Health values

HEALTH:
  Enabled: false
  AlwaysActive: true
  Display: 'Health'
  Tooltips:
    Additive: '+<value> Health'
    Multiply: '+<value> Health'
    Compound: 'x<value> Health'
  BaseValue: 20
  MinValue: 1

HEALTH_REGENERATION

Rate of Health Regeneration

HEALTH_REGENERATION:
  Enabled: false
  AlwaysActive: false
  Display: 'Health Regeneration'
  Tooltips:
    Additive: '+<value> Regeneration'
    Multiply: '+<value> Regeneration'
    Compound: 'x<value> Regeneration'
  BaseValue: 0
  MaxValue: 1000000
  MinValue: 0
  Frequency: 60

LIFESTEAL_CHANCE

Chance for damage dealt to heal the attacker

LIFESTEAL_CHANCE:
  Enabled: false
  AlwaysActive: false
  Display: 'Lifesteal Chance'
  Tooltips:
    Additive: '+<value> Lifesteal Chance'
    Multiply: '+<value> Lifesteal Chance'
    Compound: 'x<value> Lifesteal Chance'
  BaseValue: 0

LIFESTEAL_POWER

How much healing LifeSteal does.

LIFESTEAL_POWER:
  Enabled: true
  AlwaysActive: false
  Display: 'Lifesteal Power'
  Tooltips:
    Additive: '+<value> Lifesteal Power'
    Multiply: '+<value> Lifesteal Power'
    Compound: 'x<value> Lifesteal Power'
  BaseValue: 0.1

MOVEMENT_SPEED

Movement Speed.

MOVEMENT_SPEED:
  Enabled: false
  AlwaysActive: true
  Display: 'Movement Speed'
  Tooltips:
    Additive: '+<value> Movement Speed'
    Multiply: '+<value>% Movement Speed'
    Compound: 'x<value>% Movement Speed'
  ParentStats:
  - SPEED
  Formula: '0.2 + (0.2 / (1 + e^(-0.005 * (SPD - 1000))))'

PARRY_CHANCE

Chance to mitigate and reflect damage from sources that melee you from the front.

PARRY_CHANCE:
  Enabled: false
  AlwaysActive: false
  Display: 'Parry Chance'
  BaseValue: 0
  Priority: 0
  Tooltips:
    Additive: '+<value> Parry Chance'
    Multiply: '+<value> Parry Chance'
    Compound: 'x<value> Parry Chance'
  FrontAngle: 180
  UsableMaterials:
    - WOODEN_SWORD
    - STONE_SWORD
    - GOLDEN_SWORD
    - IRON_SWORD
    - DIAMOND_SWORD
    - NETHERITE_SWORD
  Skills: []

PARRY_COUNTERATTACK

How much damage is returned to the opponent when parrying.

PARRY_COUNTERATTACK:
  Enabled: false
  AlwaysActive: false
  Display: 'Parry Counterattack'
  BaseValue: 1
  Tooltips:
    Additive: '+<value> Parry Counterattack'
    Multiply: '+<value> Parry Counterattack'
    Compound: 'x<value> Parry Counterattack'

PARRY_NEGATION

Affects and lowers the PARRY_CHANCE of the opponent. As shown below, the displayed name and lore elements of a stat can be customized, such as 'Expertise' instead of 'Parry Negation'

PARRY_NEGATION:
  Enabled: false
  AlwaysActive: false
  Display: 'Expertise'
  Tooltips:
    Additive: '+<value> Expertise'
    Multiply: '+<value> Expertise'
    Compound: 'x<value> Expertise'
  BaseValue: 0

PARRY_POWER

How much damage is mitigated by Parry.

PARRY_POWER:
  Enabled: false
  AlwaysActive: false
  Display: 'Parry Power'
  BaseValue: 0.5
  Tooltips:
    Additive: '+<value> Parry Power'
    Multiply: '+<value> Parry Power'
    Compound: 'x<value> Parry Power'

Implementations with Configurations

It's important to be aware that players get all of their base stat values from the stats.yml file, while mobs get only some of their base values from the stats.yml file: if another value is specified as one of their stats, that is applied.

Mobs

This example features Some_Mob and three configured stats: CRITICAL_STRIKE_CHANCE as configured in the Stats: section, but also its Health and Damage. The Health and Damage stat types are natively handled in the typical format of a mob's configuration. Other stats that are configured on the mob are: ATTACK_DAMAGE, ATTACK_SPEED, and MOVEMENT_SPEED.

Some_Mob:
  Health: 50
  Damage: 10
  Stats:
  - CRITICAL_STRIKE_CHANCE 0.2

Examples

Example Custom Stats

These stats are created by the end user. Included are some examples.

ARMOR_GENERIC

Generic Armor based damage reduction. can be applied to gear.

ARMOR_GENERIC:
  Enabled: false
  AlwaysActive: false
  Type: DAMAGE_MODIFIER
  Triggers:
    - DAMAGED
  ExecutionPoint: PRE
  Display: 'Generic Armor'
  DamageFormula: 'd - v'
  BaseValue: 0
  Tooltips:
    Additive: '+<value> Generic Armor'
    Multiply: '+<value> Generic Armor'
    Compound: 'x<value> Generic Armor'

ARMOR_BLUNT

Armor based damage reduction based on the BLUNT DamageType.

ARMOR_BLUNT:
  Enabled: false
  AlwaysActive: false
  Type: DAMAGE_MODIFIER
  Triggers:
    - DAMAGED
  ExecutionPoint: PRE
  Display: 'Blunt Armor'
  DamageType: BLUNT
  DamageFormula: 'd - v'
  BaseValue: 0
  Tooltips:
    Additive: '+<value> Blunt Armor'
    Multiply: '+<value> Blunt Armor'
    Compound: 'x<value> Blunt Armor'

ARMOR_SHARP

Armor based damage reduction based on the SHARP DamageType.

ARMOR_SHARP:
  Enabled: false
  AlwaysActive: false
  Type: DAMAGE_MODIFIER
  Triggers:
    - DAMAGED
  ExecutionPoint: PRE
  Display: 'Sharp Armor'
  DamageType: SHARP
  DamageFormula: 'd - v'
  BaseValue: 0
  Tooltips:
    Additive: '+<value> Sharp Armor'
    Multiply: '+<value> Sharp Armor'
    Compound: 'x<value> Sharp Armor'

DAMAGE_BLUNT

Damage Output for the BLUNT DamageType.

DAMAGE_BLUNT:
  Enabled: false
  AlwaysActive: false
  Type: DAMAGE_BONUS
  Priority: 1
  Triggers:
    - ATTACK
  ExecutionPoint: PRE
  Display: 'Blunt Damage'
  DamageType: BLUNT
  BaseValue: 0
  Tooltips:
    Additive: '+<value> Blunt Damage'
    Multiply: '+<value> Blunt Damage'
    Compound: 'x<value> Blunt Damage'

DAMAGE_SHARP

Damage Output for the SHARP DamageType.

DAMAGE_SHARP:
  Enabled: false
  AlwaysActive: false
  Type: DAMAGE_BONUS
  Priority: 2
  Triggers:
    - ATTACK
  ExecutionPoint: PRE
  Display: 'Sharp Damage'
  DamageType: SHARP
  BaseValue: 0
  Tooltips:
    Additive: '+<value> Sharp Damage'
    Multiply: '+<value> Sharp Damage'
    Compound: 'x<value> Sharp Damage'

FIRE_RESISTANCE

Configured to grant resistance to the FIRE, FIRE_TICK DamageCause.

FIRE_RESISTANCE:
  Enabled: false
  AlwaysActive: false
  Display: 'Fire Resistance'
  Tooltips:
    Additive: '+<value> Fire Resistance'
    Multiply: '+<value> Fire Resistance'
    Compound: 'x<value> Fire Resistance'
  Type: DAMAGE_MODIFIER
  Triggers:
    - DAMAGED
  Conditions:
    - (damageCause FIRE || damageCause FIRE_TICK)
  ExecutionPoint: PRE
  DamageFormula: 'd * (1 - v)'
  MaxValue: 1
  MinValue: 0

SPEED

May be used in the MOVEMENT_SPEED stat calculation to affect speed with a formula.

SPEED:
  Enabled: true
  AlwaysActive: false
  Type: STATIC
  FormulaKey: 'SPD'
  Tooltips:
    Additive: '+<value> Speed'
    Multiply: '+<value>% Speed'
    Compound: 'x<value>% Speed'
Clone repository
Home
Changelogs
Premium Features
Commands and Permissions
FAQ / Common Issues
Mythic Add-ons
Compatible Plugins
API Information
Packs
Mobs
  • Mob Options
    • Display Options
  • Mob Levels
  • Mob Factions
  • Power Scaling
  • Damage Modifiers
  • Equipment
  • BossBar
  • Custom AI
  • Custom Kill Messages
  • Threat Tables
  • Immunity Tables
  • Templates
  • Vanilla Overrides
  • Extra: Disguises
  • Extra: ModelEngine
Skills
  • Mechanics
  • Effects
  • Targeters
    • Filters
  • Triggers
  • Conditions
    • In-line conditions
  • Metaskills
  • Placeholders
  • Variables
  • Math
Items
  • Options
  • Attributes
  • Enchantments
  • Potions
  • Banner Layers
  • Firework
Drops & DropTables
  • Drop Types
Spawning
  • Spawners
  • Random Spawns
Stats
  • Custom Stat Options
  • Modifiers
  • Built in Stats
Examples
Useful Tips