Skip to content
Zhongling Ye edited this page Apr 21, 2021 · 21 revisions

Overview

Attributes provide a flexible way to control various stats which the player can invest points into. Each class can have base amounts, skills can modify them, and items can have lore which provides extra attributes.

Enabling Attributes

Attributes are disabled by default. To enable them, edit the config.yml and change "attributes-enabled" under "Classes" to true.

Attributes.yml

This is the main config file for attributes. You can completely customize them, changing which ones are available and what they do. The available options are:

  • The name of the attribute
  • The max amount of points a player can invest
  • The icon used to represent the attribute in the GUI
  • What dynamic skill settings they affect
  • The stats they effect

Default Attributes

Vitality +1 HP
Spirit +1 Mana and +2.5% Regen
Intelligence +2.5% Skill Damage
Strength +2.5% Physical Damage
Dexterity +2.5% Skill Range

Stat Modifiers

Attributes can directly modify certain stats. The format for these is the following:

<stat>: '<formula>'

The <stat> part is the stat to modify, which can be one of these stats:

armor [PREM, 1.9+] Vanilla damage mitigation
armor-toughness [PREM, 1.9+] Secondary vanilla damage mitigation
attack-speed [PREM, 1.9+] Weapon recharge time
cooldown [PREM] Modifies skill cooldowns
defense-<type> [PREM] Reduces damage taken from various damage sources. See the DamageCause docs to see supported types. Use lower-case versions of it, such as
"defense-block_explosion".
exp [PREM] increases all class experience gained
health The max health of the player
hunger [PREM] Increases how long hunger lasts. This attribute is always based off of a base value of 1. A resulting value of 2 would double how long the hunger bar lasts, for example.
hunger-heal [PREM] Increases how much you heal while satiated
knockback-resist [PREM, 1.9+] Probability of resisting knockback as a decimal (1.0 is 100% change to resist)
luck [PREM, 1.9+] loot table chances
mana The max mana of the player
mana-regen The amount of mana regeneration the player has
move-speed The movement speed of the player
physical-damage The amount of damage done by physical (basic or projectile) attacks
physical-defense The amount of damage taken by physical (basic or projectile) attacks
skill-damage The amount of damage done by skills
skill-damage-<classification> [PREM] The amount of damage done by skills with the specified classification
skill-defense The amount of damage taken by skills
skill-defense-<classification> [PREM] The amount of damage taken by skills with the specified classification
____________________________________

Dynamic Settings

Attributes can modify the settings for dynamic skills. They are organized by their category (Mechanic, Target, or Condition) and have the following format:

<componentName>-<valueKey>: '<formula>'

An example which raises damage by 2% per attribute point:

Damage-value: 'a*0.02+1*v'

And another which causes more particle projectiles to be fired out:

Particle Projectile-amount: 'a*0.5+v'

You can add conditions to affect certain samples as well. Here's an example that only changes damage when the component has an Icon Key set to "example":

Damage-value: 'a*0.05+1*v:icon-key=example'

You can add multiple statements as well to target different groups. This example increases damage by 5% if the Icon Key is "example", and 2% for all other skills:

Damage-value: 'a*0.05+1*v:icon-key=example|a*0.02+1*v'

Formulas

For details on how formulas work, see this page:

Formula Details

Formula Examples

Flat Change

a*<num>+v where <num>is the amount to change by per attribute point

Percentage Change

v(a*<num>+1) where <num> is the pertentage as a decimal (e.g. 0.01 for 1%)

Clone this wiki locally