Attribute


Info

Attributes are a system of buffs/debuffs which are properties on mobs "Monster" redirects here. For the mob called "monster" in the code, see Human. Mobs are living, moving game entities. The term "mob" is short for "mobile". 1] Contents 1 Spawning 2 Behavior 3 List of minecraft and players. Attributes also have modifiers which adjust the strength of their effect.

Applying attributes

When applied to an item, a modifier will adjust the corresponding attribute if the item is held or worn. Attributes/modifiers can be added to items or mobs without the use of third-party NBT editing software by adding data tags to the give and summon commands.

The following command will give the closest player a diamond sword which does 20 () extra damage. If you change the operation from 0 to 1 it will MULTIPLY the attack damage instead.

/give @p diamond_sword 1 0 {AttributeModifiers:{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:20,Operation:0,UUIDLeast:894654,UUIDMost:2872}}

The following command will summon a zombie that will follow players when they are 100 blocks or less from it instead of the usual 40.

/summon zombie ~ ~ ~ {Attributes:{Name:"generic.followRange",Base:100.0}}

You can also specify what slot has certain attributes.

/give @p diamond_axe 1 0 {AttributeModifiers:{Slot:"mainhand",AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:20,Operation:0,UUIDLeast:1,UUIDMost:1}}

The slot can be mainhand, offhand, head, chest, legs or feet.

Videos

Attributes

An individual attribute controls some property, described by its name. An attribute always has a base value, and may have any number of modifiers. Attributes also have a default value (used when spawning a mob with an undefined attribute base), and hard-coded minimum and maximum values. Modifiers act on an attribute`s base, but the calculated value is always capped by the minimum and maximum.

Minimum and maximum are inclusive unless specified otherwise or they are equal to 1.7x10308.

Note that attribute modifiers which both have the same UUID and affect the same attribute will not stack; only the one that most recently affected a player or mob will have an effect, overriding the previously affecting modifier(s).

Attributes available on all living entities

These Attributes are found on all mobs, including players.

Attribute Name Description Default Base Minimum Maximum
generic.maxHealth The maximum health The health gauge and monitor in Minecraft is based on a single row of 10 heart icons. Each full heart contains two halves, one hit point each (full health is 20 hit points). Contents 1 minecraft of this mob (in half-hearts); determines the highest health they may be healed to. 20.0 0.0 1024.0
generic.followRange The range in blocks within which a mob with this attribute will target players or other mobs to track. Exiting this range will cause the mob to cease following the player/mob. Actual value used by most mobs is 16; for zombies it is 40. 32.0 0.0 2048.0
generic.knockbackResistance The chance to resist knockback from attacks, explosions A TNT explosion. An explosion is a physical event, generally destructive, that can be caused by several different circumstances. It can destroy nearby blocks, propel and damage nearby players, entities, and their armor, and cause minecraft , and projectiles. 1.0 is 100% chance for resistance. 0.0 0.0 1.0
generic.movementSpeed Speed of movement in some unknown metric. The mob`s maximum speed in blocks/second is a bit over 43 times this value, but can be affected by various conditions, such as: being ridden (if a horse), sprinting, fleeing (if a passive mob), attacking (if an enderman or zombie pigman), being led by a leash, being under the effect of a Speed or Slowness potion, being a baby zombie, or being a witch and drinking a potion. Speed in blocks per second can be calculated with the following equation, where x is the movementSpeed attribute y = 43.178x-0.02141
Mob generic.movementSpeed Blocks per second

Player
0.1 4.3m/s
running
Player
0.15 6.5m/s

Horse
random speed between 0.1125 and 0.3375 random speed between 4.85m/s and 14.55m/s

Llama
0.175 7.5m/s

Cow
,
mooshroom
,
snow golem
0.2 8.6m/s

Zombie villager
,
blaze
,
sheep
,
husk
,
zombie
,
zombie pigman
0.23 9.9m/s

Creeper
,
polar bear
,
iron golem
,
stray
,
endermite
,
witch
,
chicken
,
silverfish
,
skeleton
,
pig
,
wither skeleton
0.25 10.8m/s

Enderman
,
elder guardian
,
cave spider
,
rabbit
,
killer rabbit
,
ocelot
,
spider
,
wolf
0.3 12.9m/s

Vindicator
0.35 15.1m/s

Magma cube
,
slime
0.4 17.2m/s

Villager
,
giant
,
guardian
,
evoker
0.5 21.6m/s

Wither
0.6 25.9m/s

Ender dragon
,
bat
,
ghast
,
shulker
,
squid
,
vex
0.7 30.2m/s
0.7* 0.0 1024.0
generic.attackDamage Damage dealt by attacks, in half-hearts. This attribute is not found on passive mobs and golems. 2.0 0.0 2048.0
generic.armor Armor defense points. 0.0 0.0 30.0
generic.armorToughness Armor Toughness. 0.0 0.0 20.0

Attributes for players

These attributes are only used by players.

Attribute Name Description Default Base Minimum Maximum
generic.attackSpeed Determines speed at which attack strength recharges. Value is the number of full-strength attacks per second. 4.0 0.0 1024.0
generic.luck Affects the results of loot tables using the quality or bonus_rolls tag (e.g. when opening chests or chest minecarts, fishing, and killing mobs). 0.0 -1024.0 1024.0

Attributes for horses

These Attributes are only used by Horses.

Attribute Name Description Default Base Minimum Maximum
horse.jumpStrength Horse jump strength in some unknown metric. 0.7* 0.0 2

Attributes for zombies

These Attributes are only used by zombies.

Attribute Name Description Default Base Minimum Maximum
zombie.spawnReinforcements Chance that a zombie will spawn another zombie when attacked. 0.0 0.0 1.0

Properties of unknown attributes

When the game finds an attribute with an unrecognized name, it applies these properties to it. (WARNING! The line of code that does this causes minecraft to crash)

Attribute Name Description Default Base Minimum Maximum
Any non-Vanilla Attribute name Unknown. 0.0 0 1.7x10308

Modifiers

Modifiers act upon the base value of an attribute, increasing or decreasing it. Note that the resulting value after modification is capped by the attribute`s minimum and maximum. Like attributes, modifiers have a name, be that as it may, this name does not define the modifier`s behavior. Instead, a modifier`s behavior is determined by its operation. Modifiers also carry an amount to their modification, and a UUID (Universally Unique IDentifier).

Operations

A modifier`s operation dictates how it modifies an attribute`s base value. Three operations exist:

Operation 0: Additive. Adds all of the modifiers` amounts to the current value of the attribute. For instance, modifying an attribute with {Amount:2,Operation:0} and {Amount:4,Operation:0} with a Base of 3 results in 9 (3 + 2 + 4 = 9).

Operation 1: Multiplicative. Multiplies the current value of the attribute by (1 + x), where x is the sum of the modifiers` amounts. For instance, modifying an attribute with {Amount:2,Operation:1} and {Amount:4,Operation:1} with a Base of 3 results in 21 (3 * (1 + 2 + 4) = 21).

Operation 2: Multiplicative. For every modifier, multiplies the current value of the attribute by (1 + x), where x is the amount of the particular modifier. Functions the same as Operation 1 if there is only a single modifier with operation 1 or 2. Be that as it may, for multiple modifiers it will multiply the modifiers rather than adding them. For instance, modifying an attribute with {Amount:2,Operation:2} and {Amount:4,Operation:2} with a Base of 3 results in 45 (3 * (1 + 2) * (1 + 4) = 45).

The mathematical behavior is as follows: Operation 0: Increment X by Amount, Operation 1: Increment Y by X * Amount, Operation 2: Y = Y * (1 + Amount) (equivalent to Increment Y by Y * Amount). The game first sets X = Base, then executes all Operation 0 modifiers, then sets Y = X, then executes all Operation 1 modifiers, and finally executes all Operation 2 modifiers.

Vanilla modifiers

As stated before, a modifier`s name can be anything, and this will not affect its behavior. The following are only known modifier names and values used in vanilla minecraft (do not add modifiers to this table if you find them in custom maps, as map makers may create their own custom modifiers). Note that some UUIDs are generated on-the-fly, while others are represented as fixed strings in the code - these have been listed as well. Do not add UUIDs to this table for modifiers where they are not listed - if a UUID is not listed, this means that it is different every time the modifier is created!

Modifier Name Description and Known Values Known Attributes Modified
Random spawn bonus Generated upon spawning; a random number from a Gaussian distribution ranging from 0.0 to 0.05*. For Zombie Knockback Resistance, another value between 0.0 and 0.05* is also generated. generic.followRange (Operation 1; all mobs), Knockback Resistance (Operation 0; Villagers and Zombies only)
Tool modifier Value varies based on tool. generic.attackDamage (Operation 0; all tools; UUID CB3F55D3-645C-4F38-A497-9C13A33DB5CF), generic.attackSpeed (Operation 0; all tools; UUID FA233E1C-4180-4865-B01B-BCCE9785ACA3)
Weapon modifier Value varies based on weapon and weapon tier. generic.attackDamage (Operation 0; all tools; UUID CB3F55D3-645C-4F38-A497-9C13A33DB5CF), generic.attackSpeed (Operation 0; all tools; UUID FA233E1C-4180-4865-B01B-BCCE9785ACA3) (same UUIDs as Tool modifier)
Sprinting speed boost Fixed value of 0.3* used by all mobs (including players) when sprinting. generic.movementSpeed (Operation 2; all living entities; UUID 662A6B8D-DA3E-4C1C-8813-96EA6097278D)
Fleeing speed boost Fixed value of 2 used by all passive mobs when fleeing. generic.movementSpeed (Operation 2; all passive mobs; UUID E199AD21-BA8A-4C53-8D13-6182D5C69D3A)
Attacking speed boost Fixed value of 6.2* for Endermen and 0.45* for Zombie Pigmen; exists only when attacking. generic.movementSpeed (Operation 0; Endermen - UUID 020E0DFB-87AE-4653-9556-831010E291A0, Zombie Pigmen - UUID 49455A49-7EC5-45BA-B886-3B90B23A1718)
Covered armor bonus Fixed value of 20.0 for Shulker exists only when fully closed. generic.armor (Operation 0; Shulker; UUID 7E0292F2-9434-48D5-A29F-9583AF7DF27F)
Horse armor bonus Value varies based on the armor of the horse (None = 0; Iron = 5; Gold = 7;Diamond = 11) generic.armor (Operation 0; EntityHorse; 556E1665-8B10-40C8-8F9D-CF9B1667F295)
Baby speed boost Fixed value of 0.5; exists only for baby Zombies and baby Zombie Villagers. generic.movementSpeed (Operation 1; Baby Zombies; UUID B9766B59-9566-4402-BC1F-2EE2A276D836)
Drinking speed penalty Fixed value of -0.25 for Witches when drinking a potion. generic.movementSpeed (Operation 0; Witches; UUID 5CD17E52-A79A-43D3-A529-90FDE04B181E)
Random zombie-spawn bonus Generated upon spawning; a random number between 0.0 and 1.5. generic.followRange (Operation 2; Zombies)
Leader zombie bonus Has a (small) random chance of being generated on a zombie when spawned. For Spawn Reinforcements Chance, random number between 0.5 and 0.75. For generic.maxHealth, random number between 1.0 and 4.0. zombie.spawnReinforcements (Operation 0; Zombies), generic.maxHealth (Operation 2; Zombies)
Zombie reinforcement caller charge Fixed value of -0.05* created each time a zombie spawns another zombie as reinforcement. zombie.spawnReinforcements (Operation 0; Zombies)
Zombie reinforcement callee charge Fixed value of -0.05* created for each zombie spawned as a reinforcement. zombie.spawnReinforcements (Operation 0; Zombies)
effect.moveSpeed or effect.moveSpeed # (where # is the potion`s amplifier) Fixed value of 0.2* when under the Speed effect, multiplied by the effect`s level (amplifier + 1). generic.movementSpeed (Operation 2; All living entities; UUID 91AEAA56-376B-4498-935B-2F7F68070635)
effect.moveSlowdown or effect.moveSlowdown # (where # is the potion`s amplifier) Fixed value of -0.15* when under the Slowness effect, multiplied by the effect`s level. generic.movementSpeed (Operation 2; All living entities; UUID 7107DE5E-7CE8-4030-940E-514C1F160890)
effect.digSpeed or effect.digSpeed# (where # is the potion`s amplifier) Fixed value of 0.1* when under the Haste effect, multiplied by the effect`s level. generic.attackSpeed (Operation 2; All living entities; UUID AF8B6E3F-3328-4C0A-AA36-5BA2BB9DBEF3)
effect.digSlowDown or effect.digSlowDown# (where # is the potion`s amplifier) Fixed value of -0.1* when under the Mining fatigue effect, multiplied by the effect`s level. generic.attackSpeed (Operation 2; All living entities; UUID 55FCED67-E92A-486E-9800-B47F202C4386)
effect.damageBoost or effect.damageBoost # (where # is the potion`s amplifier) Fixed value of 3 when under the Strength effect, multiplied by the effect`s level. generic.attackDamage (Operation 0; All living entities; UUID 648D7064-6A60-4F59-8ABE-C2C23A6DD7A9)
effect.weakness or effect.weakness # (where # is the potion`s amplifier) Fixed value of -4 when under the Weakness effect, multiplied by the effect`s level. generic.attackDamage (Operation 0; All living entities; UUID 22653B89-116E-49DC-9B6B-9971489B5BE5)
effect.healthBoost # (where # is the potion`s amplifier. May be 0.) Fixed value of 4 when under the Health Boost effect, multiplied by the effect`s level. generic.maxHealth (Operation 0; All living entities; UUID 5D6F0BA2-1186-46AC-B896-C61C5CEE99CC)
effect.luck or effect.luck# (where # is the potion`s amplifier) Fixed value of 1 when under the Luck effect, multiplied by the effect`s level. generic.luck(Operation 0; All living entities; UUID 03C3C89D-7037-4B42-869F-B146BCB64D2E)
effect.unluck or effect.unluck # (where # is the potion`s amplifier) Fixed value of -1 when under the Unluck effect, multiplied by the effect`s level. generic.luck(Operation 0; All living entities; UUID CC5AF142-2BD2-4215-B636-2605AED11727)
Unknown synced attribute modifier Unknown; created when client reads attribute data sent by server. varies

History

Official release
1.6.1 13w16a Added attributes.
1.7.2 13w36a Attributes/modifiers can be added to items or mobs without the use of third-party NBT editing software by adding data tags to the give and summon commands.
1.9 15w34b Added attack speed attribute.
15w36d Added armor attribute.
15w44b Added luck attribute.
1.9.1-pre1 Added armorToughness attribute.
Pocket Edition Alpha
0.12.1 build 1 Added attributes.