Stats

Stats information and calculations

There are 6 different stats that are upgraded through skills:

Health

Health increases the max HP of the player.

  • Adds a AttributeModifier to Attribute.GENERIC_MAX_HEATLH

  • Applied on PlayerJoinEvent, health stat changes, and config reloads

  • How Health is calculated based on stat level:

    • Attribute.GENERIC_MAX_HEALTH = 20.0 + (Stat.HEALTH * Setting.HEALTH_MODIFIER)

    • Where Stat.HEALTH is the Health Stat Level visible with /stats and Setting.HEALTH_MODIFIER is the config option "health.modifier" (Default value 0.5)

    • A "health.modifier" of 1.0 means that every Health Stat Level increases player HP by 1.0

  • Health Scaling:

    • If "health.health-scaling" is set to true, the amount of hearts displays on the player's screen is affected by their max health, preventing a player's health from blocking their entire screen. This means that the amount of hearts the player sees will not be 1 heart = 2 HP if their health is greater than 20.0

    • Health scaling caps at a maximum of 2 full rows of hearts

  • HP Indicator Scaling

    • Changed through config option "health.hp-indicator-scaling"

    • HP Indicator Scaling is the amount the player's raw attribute health should be multiplied by to get the displayed HP on the action bar.

    • The default value of 5 makes it so that 20.0 raw HP = 100 Displayed Action Bar HP

  • See the Health page for more detailed information

Strength

Strength increases the damage a player does in attacks

  • Strength is applied on EntityDamageByEntityEvent

  • How damage is calculated from strength:

    • Damage = InitialDamage + (Stat.STRENGTH * Setting.STRENGTH_MODIFIER)

    • Where Stat.Strength is the Strength Stat Level visible with /stats and Setting.STRENGTH_MODIFIER is the config option "strength.modifier" (Default value 0.1)

  • If use-percent is set to true:

    • Damage = InitialDamage * (1 + (Stat.STRENGTH * Setting.STRENGTH_MODIFIER) / 100)

Toughness

Toughness decreases the damage dealt by enemy attacks

  • Toughness is applied on EntityDamageEvent

  • How Toughness is calculated:

    • Damage = OriginalDamage * (1 - (-1 * (1.01)^(-1 * Stat.TOUGHNESS * Setting.TOUGHNESS_MODIFIER) + 1))

    • Where Stat.Toughness is the Toughness Stat Level visible with /stats and Setting.Toughness_MODIFIER is the config option "toughness.new-modifier" (Default value 1)

Regeneration

Regeneration increases the natural regeneration rate

  • Two options: Vanilla or Custom

  • Vanilla

    • Used when "regeneration.custom-regen-mechanics" is set to false

    • Changes the amount regenerated on EntityRegainHealthEvent if regain reason equals RegainReason.SATIATED

    • If player saturation is greater than 0:

      • AmountRegenerated = VanillaAmount + (Stat.REGENRATION * Setting.SATURATED_MODIFIER)

      • Where Stat.REGENERATION is the Stat Level and Setting.SATURATED_MODIFIER is the config option "regeneration.saturated-modifier" (Default value 0.05)

    • If player hunger is full (20) but saturation = 0:

      • AmountRegenerated = VanillaAmount + (Stat.REGENRATION * Setting.HUNGER_FULL_MODIFIER)

      • Where Stat.REGENERATION is the Stat Level and Setting.HUNGER_FULL_MODIFIER is the config option "regeneration.hunger-full-modifier" (Default value 0.025)

    • If player hunger is greater than 14 but not full:

      • AmountRegenerated = VanillaAmount + (Stat.REGENRATION * Setting.HUNGER_ALMOST_FULL_MODIFIER)

      • Where Stat.REGENERATION is the Stat Level and Setting.HUNGER_ALMOST_FULL_MODIFIER is the config option "regeneration.hunger-almost-full-modifier" (Default value 0.025)

  • Custom

    • Used when "regeneration.custom-regen-mechanics" is set to true

    • Non-saturated regen:

      • Applied every Setting.HUNGER_DELAY ticks ("regeneration.custom-regen-options.hunger-delay", Default 60)

      • If player hunger is full (20):

        • AmountRegenerated = Setting.BASE_REGEN + (Stat.REGENERATION * Setting.HUNGER_FULL_MODIFIER

        • Where Setting.BASE_REGEN is config option "regeneration.base-regen" (Default value 1)

      • If player hunger is greater than 14 but not full:

        • AmountRegenerated = Setting.BASE_REGEN + (Stat.REGENERATION * Setting.HUNGER_ALMOST_FULL_MODIFIER

    • Saturated regen:

      • Applied every Setting.SATURATED_DELAY ticks ("regeneration.custom-regen-options.hunger-delay", Default 20)

      • AmountRegenerated = Setting.BASE_REGEN + (Stat.REGENERATION * Setting.SATURATED_MODIFIER

      • Where Setting.SATURATED_MODIFIER is config option "regeneration.saturated-modifier" (Default value 0.05)

    • Changes to Setting.SATURATED_DELAY and Setting.HUNGER_DELAY will only take effect on server restart

Luck

Increase Luck attribute (better chest and fishing loot) and chance for double drops

  • Modifies Attribute.GENERIC_LUCK

  • Luck = Stat.LUCK * Setting.LUCK_MODIFIER

  • Setting.LUCK_MODIFIER is config option "luck.modifier" (Default value 0.1)

  • Applied on PlayerJoinEvent, luck stat changes, and config reloads

  • Chance to give double drops when breaking certain blocks

    • Includes stone, cobblestone, sand, dirt, gravel, grass_block, andesite, diorite, and granite

    • % Chance = Stat.LUCK * Setting.DOUBLE_DROP_MODIFIER * 100

    • Setting.DOUBLE_DROP_MODIFIER is config option "luck.double-drop-modifier" (Default value 0.005)

    • Maxes out at a chance of Setting.DOUBLE_DROP_PERCENT_MAX ("luck.double-drop-percent-max", default value 100)

Wisdom

Increases experience gained from any source and decreases anvil costs

  • ExperienceGained = InitialExperience * (1 + (Stat.WISDOM * Setting.EXPERIENCE_MODIFIER))

  • Setting.EXPERIENCE_MODIFIER is config option "wisdom.experience-modifier" (Default value 0.01)

  • NewCost = OriginalCost * (1 - (-1 * 1.025^(-1 * Stat.WISDOM * Setting.ANVIL_COST_MODIFIER) + 1))

  • Setting.ANVIL_COST_MODIFIER is config option "wisdom.anvil-cost-modifier" (Default value 0.25)

Last updated