Skip to content

Attributes

An attribute is what a skill actually buffs. Each skill points at one attribute, and every level applies a modifier to it whose size is incrementPerLevel × level, combined using the skill's operation.

Operations

The operation decides how a level bonus combines with the attribute's value. It matches Minecraft's own attribute modifier operations:

OperationMeaningExample (incrementPerLevel 0.02, level 10)
add_valueFlat amount added to the attribute+0.2 to the raw value
add_multiplied_basePercentage of the attribute's base value+20% of the base value
add_multiplied_totalPercentage of the final value, after other modifiers+20% of everything else combined

incrementPerLevel may be negative if you want a skill to reduce an attribute.

Custom Attributes

Vanilla Minecraft has no attribute for some effects, so Experience Skills adds three of its own (under the experienceskills namespace):

AttributeUsed byEffect
swim_speedSwim Speed skillIncreases movement speed while in water
lure_speedFishing Speed skillReduces the wait before a fish bites
fishing_luckFishing Luck skillImproves the fishing loot table roll

These behave like any other attribute — the skill keeps a modifier on them in sync, and the mod implements what each one does.

Vanilla Attributes Used

The remaining built-in skills buff standard Minecraft attributes: Movement Speed, Block Break Speed, Attack Damage, Max Health, Jump Strength, Oxygen Bonus, Armor Toughness, Block Interaction Range and Entity Interaction Range.

For developers

When you register a new custom attribute for your own skill, Experience Skills will keep a modifier on it in sync for you — but you must still add the attribute to the player's AttributeSupplier and implement whatever it actually does. See Adding an Attribute.

Released under the All Rights Reserved License.