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 modified 4mo ago
Export as PDF
Copy link
Edit on GitHub