Attribute

For the command, see Commands/attribute.
This feature is exclusive to Java Edition.
 

An attribute is a value that determines certain properties of mobs, armor stands, and players. Attributes also have modifiers that adjust the strength of their effects.

Applying attributes

Attributes can be applied directly to living entities using the /attribute command. The below command is an example that dramatically increases the luck attribute, leading to the player being able to fish treasures nearly every time:

/attribute @p minecraft:luck base set 1024

After it's modified, it can then be reset to the default value (which is 0.0 for minecraft:luck attribute):

/attribute @p minecraft:luck base reset

Additionally, attribute values can be specified when summoning a mob. For example, the following command summons a zombie that follows players when they are 100 blocks or fewer from it instead of the usual 40:

/summon zombie ~ ~ ~ {attributes:[{id:"follow_range", base:100.0}]}

Item modifiers

Attributes can also be applied as attribute modifiers on items by using data components. When applied to an item, a modifier adjusts the corresponding attribute if the item is held or worn.[1][2] Attribute modifiers can be added to items by adding data tags to the item. Each attribute modifier has a unique identifier, which is a resource location to identify the modifier.

The following command gives the player a netherite sword that deals 20HP♥ × 10 extra damage:

/give @s netherite_sword[attribute_modifiers=[{type:"attack_damage", amount:20.0, operation:"add_value", id:"example:custom_damage", slot:"mainhand"}]]

Attributes

A single attribute controls some property of an entity, described by its name; it has a base value, set within hard-coded minimum and maximum limits, and if undefined, it's specified by the default value. The base value may be multiplied or added by a set of modifiers; these affect the attribute's base, but the calculated value is always capped by the minimum and maximum.

Attribute modifiers have namespaced identifiers. If two modifiers have the same ID and affect the same attribute, then they do not stack; instead, only the one most recently added takes effect, overriding previous modifiers.

These attributes are found on all living and undead entities, including players.

Attribute Name Default Base Minimum
~
Maximum
Description Mob Base Value
armor 0 0~30 Armor defense points. Killer Bunny 8
Wither 4
Zombie
Husk
Drowned
Zombie Villager
Zombified Piglin
2
Every other mob 0
armor_toughness 0 0~20 Armor toughness. Every mob 0
attack_damage 2 0~2048 Damage dealt by attacks, in half-hearts. Giant 50
Warden 30
Ravager 12
Frog 10
Elder Guardian 8
Enderman
Piglin Brute
7
Blaze
Guardian
Hoglin
Panda
Phantom
Polar Bear
Zoglin
6
Piglin
Pillager
Vindicator
Zombified Piglin
5
Vex 4
Cat
Dolphin
Drowned
Husk
Ocelot
Zombie
Zombie Villager
3
Allay
Axolotl
Bee
Breeze
Cave Spider
Creeper
Endermite
Evoker
Fox
Goat
Illusioner
Magma Cube
Skeleton
Slime
Spider
Stray
Witch
Wither
Wither Skeleton
Wolf
2
Silverfish
Player
1
attack_knockback 0 0~5 Knockback applied to attacks. Applies only to mobs with physical attacks.[3] Ravager
Warden
1.5
Hoglin
Zoglin
1
Player
Every other mob
0
generic.attack_reach 2.5 0~6 Determines the reach at which players can attack entities. Does not affect interaction range. Player 2.5
attack_speed 4 0~1024 Determines recharging rate of attack strength. Value is the number of full-strength attacks per second. Player 4
block_break_speed 1 0~1024 The speed the player can break blocks as a multiplier. Player 1
block_interaction_range 4.5 0~64 The block interaction range for players in blocks. Player 4.5[note 1]
burning_time 1 0~1024 Amount of time how long an entity remains on fire after being ignited as a multiplier. A value of 0 eliminates the burn time. Has no impact on the burning time increase when staying in fire. Every mob 1
camera_distance 4 0~32 The distance at which the camera is placed away from the player or spectated entity when in a third-person view. This distance is multiplied by the scale attribute to get a final target camera distance. If the entity being ridden has a larger camera_distance attribute, that distance will be used. Ghast
Happy Ghast
8
Giant
Ender Dragon
16
Every other mob 4
entity_interaction_range 3 0~64 The entity interaction range for players in blocks. Player 3[note 1]
explosion_knockback_resistance 0 0~1 Defines what percentage of knockback an entity resists from explosions. A value of 1 eliminates the knockback. Every mob 0
fall_damage_multiplier 1 0~100 The amount of fall damage an entity takes as a multiplier. Camel
Donkey
Horse
Llama
Mule
Skeleton Horse
Trader Llama
Zombie Horse
0.5
Every other mob 1
flying_speed 0.4 0~1024 Flight speed modifier in some unknown metric. Bee
Wither
0.6
Parrot 0.4
Allay 0.1
follow_range 32 0~2048 The range in blocks within which a mob with this attribute targets players or other mobs to track. Exiting this range causes the mob to cease following the player/mob. Actual value used by most mobs is 16; for zombies it is 35. Ghast 100
Enderman 64
Allay
Bee
Blaze
Villager
48
Llama
Wither
40
Zombie
Husk
Drowned
Zombie Villager
Zombified Piglin
35
Fox
Pillager
Ravager
32
Breeze 24
Polar Bear 20
Illusioner 18
Evoker
Vindicator
12
Every other mob 16
gravity 0.08 -1~1 The gravity affecting an entity in blocks per tick squared. Every mob 0.08
jump_strength 0.42[note 2] 0~32 The initial vertical velocity of an entity when they jump, in blocks per tick. Horse
Skeleton Horse
Zombie Horse
0.4-1
Random value
Donkey
Mule
Llama
Trader Llama
0.175
Every other mob 0.42
knockback_resistance 0 0~1 The scale of horizontal knockback resisted from attacks and projectiles. Vertical knockback is not affected. Does not affect explosions.[4] The resistance functions as a percentage from 0.0 (0% resistance) to 1.0 (100% resistance) (e.g. 0.4 is 40% resistance, meaning the attributed mob takes 60% of usual knockback). Iron golems and wardens suffer zero knockback from attacks or projectiles. Iron Golem
Warden
1
Ravager 0.75
Hoglin
Zoglin
0.6
Every other mob 0
luck 0 -1024~1024 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). Player 0
max_absorption 0 0~2048 The maximum absorption of this mob (in half-hearts); determines the highest health they may gain by the Absorption effect. Every mob 0
max_health 20 1~1024 The maximum health of this mob (in half-hearts); determines the highest health they may be healed to. If the player is using this to summon a mob with high health, use this and the Health tag {Health:200.0f} for example. (Disabled in 1.17) Every mob The maximum health of the mob
mining_efficiency 0 0~1024 A factor to speed up the mining of blocks when using the right tool. Player 0
movement_efficiency 0 0~1 A factor to improve walking on terrain that slows down movement. A value of 1 removes the slowing down. Every mob 0
movement_speed 0.7 0~1024 Movement speed is the speed at which entities can move, but this is not the actual speed value in blocks/second. The mob's actual speed in blocks/second is a bit over 20 times this value, but is affected by various conditions, such as the behavior it's following (e.g. idling, attacking or fleeing), being ridden (if a horse), sprinting, being led by a leash, and being under the effect of a Speed or Slowness potion. Baby mobs also have an additional speed multiplier on top of the base value. Dolphin 1.2
Axolotl
Frog
Tadpole
1
Armor Stand
Bat
Cod
Ender Dragon
Ghast
Glow Squid
Phantom
Pufferfish
Salmon
Shulker
Squid
Tropical Fish
Vex
Wandering Trader
0.7
Breeze
Wither
0.6
Evoker
Giant
Guardian
Illusioner
Villager
0.5
Piglin
Piglin Brute
Pillager
Vindicator
0.35
Bee
Cat
Cave Spider
Creaking
Elder Guardian
Enderman
Fox
Hoglin
Ocelot
Rabbit
Ravager
Spider
Warden
Wolf
Zoglin
0.3
Chicken
Creeper
Endermite
Iron Golem
Pig
Polar Bear
Silverfish
Skeleton
Stray
Turtle
Witch
Wither Skeleton
0.25
Blaze
Drowned
Husk
Sheep
Zombie
Zombie Villager
Zombified Piglin
0.23
Horse 0.1125 and 0.3375
Random value
Magma Cube
Slime
0.3 + 0.1 × Size
Cow
Goat
Mooshroom
Parrot
Skeleton Horse
Snow Golem
Zombie Horse
0.2
Donkey
Llama
Mule
Strider
Trader Llama
0.175
Panda 0.15
Armadillo 0.14
Allay
Sniffer
Player
0.1
Happy Ghast 0.05
Camel 0.09
Panda (lazy) 0.07
oxygen_bonus 0 0~1024 Determines the chance that an entity's Air data tag decreases in any given game tick, while the entity is underwater. The chance is given by 1 / (oxygen_bonus +1). Every mob 0
safe_fall_distance 3 -1024~1024 The number of blocks an entity can fall before fall damage starts to be accumulated. Also the minimum amount of blocks the entity has to fall to make fallling particles and sounds. Fox 5
Camel
Donkey
Horse
Llama
Mule
Skeleton Horse
Trader Llama
Zombie Horse
6
Every other mob 3
scale 1 0.0625~16 The multiplier of the size of an entity. Every mob 1
spawn_reinforcements 0 0~1 Chance for a zombie to spawn another zombie when attacked. Zombie
Husk
Drowned
Zombie Villager
Zombified Piglin
0~0.1
Random value
sneaking_speed 0.3 0~1 The movement speed factor when sneaking or crawling. A factor of 1 means sneaking or crawling is as fast as walking, a factor of 0 means unable to move while sneaking or crawling. Player 0.3
step_height 0.6 0~10 The maximum number of blocks that an entity can step up without jumping. Sneaking prevents drops from heights that are higher than this attribute.[5] This happens if the height that the player is above a block is equal or less than the attribute. Axolotl
Donkey
Drowned
Enderman
Frog
Horse
Iron Golem
Llama
Mule
Ravager
Skeleton Horse
Trader Llama
Turtle
Zombie Horse
1
Camel 1.5
Every other mob 0.6
Armor Stand 0[6]
submerged_mining_speed 0.2 0~20 The mining speed factor when underwater. A factor of 1 means mining as fast as on land, a factor of 0 means unable to mine while submerged. This represents only the submersion factor itself; other factors (such as not touching the ground) also apply. Player 0.2
sweeping_damage_ratio 0 0~1 Determines how much of the base attack damage gets transferred to secondary targets in a sweep attack. This is in addition to the base attack of the sweep damage itself. A value of 1 means that all of the base attack damage is transferred (sweep damage is attack_damage + 1) Player 0
tempt_range 10 0~2048 Determines the range, in blocks, at which temptable mobs can be tempted. Armadillo
Axolotl
Bee
Camel
Cat
Chicken
Cow
Donkey
Fox
Frog
Goat
Horse
Llama
Mooshroom
Mule
Ocelot
Panda
Parrot
Pig
Polar Bear
Rabbit
Sheep
Skeleton Horse
Sniffer
Strider
Tadpole
Trader Llama
Turtle
Wolf
Zombie Horse
10
water_movement_efficiency 0 0~1 The movement speed factor when submerged. A higher value lets entities move faster. This represents only the submersion factor itself; other factors (such as sprinting) also apply. Every mob 0
waypoint_receive_range 0 0~60,000,000 The maximum distance from the player to a waypoint at which it is displayed on the locator bar. This attribute has no effect on mobs. Player 60,000,000
Every other mob 0
waypoint_transmit_range 0 0~60,000,000 The distance at which an entity displays as a waypoint on the locator bar. Player 60,000,000
Every other mob 0
  1. a b In Creative mode, the block interaction range is increased by 0.5 and the entity interaction range by 2 to make some actions easier. This does not affect the base value of the attribute, so the bonus acts as a modifier.
  2. Actual value is 0.41999998688697815

Modifiers

Modifiers increase or decrease the attribute's base value by using certain operations. The resulting value after modification is capped by the attribute's minimum and maximum limits. Similar to attribute names, modifiers have a namespaced identifiers to uniquely identify the modifier.

However, a modifier's ID does not define the modifier's behavior; instead, it is determined by its operation. Modifiers carry an amount to their modification. When attribute modifiers are applied to items, the type parameter is required; this defines which attribute the modifier affects. Modifiers can be added or removed from all living entities using the /attribute command, modifying the entity's NBT data, or using item modifiers via data components.

Operations

Modifier operations dictate how it modifies an attribute base value. There are three operations that exist in the game:[note 1]

Operation Description
add_value Adds all of the modifiers' amounts to the base attribute.

Total=Base+Amount1+Amount2++Amountn

For example, applying two add_value modifiers with amounts of 2 and 4, to attribute base of 3:

Total=3+2+4=9

add_multiplied_base Multiplies the base attribute by (1 + sum of modifiers' amounts).

Total=Base×(1+Amount1+Amount2++Amountn)[note 2]

For example, applying two add_multiplied_base modifiers with amounts of 2 and 4, to attribute base of 3:

Total=3×(1+2+4)=3×7=21

add_multiplied_total Multiplies the base attribute by (1 + modifiers' amounts) for every modifier.

Total=Base×(1+Amount1)×(1+Amount2)××(1+Amountn)

For example, applying two add_multiplied_total modifiers with amounts of 2 and 4, to attribute base of 3:

Total=3×(1+2)×(1+4)=3×3×5=45

If multiple attribute modifiers are applied, the game first executes all add_value modifiers, then all add_multiplied_base modifiers, and finally all add_multiplied_total modifiers. The Total value is always carried as the Base for the next set of modifiers.

  1. /attribute ... modifier add ... command shows the literal name of the operations.
  2. Algebraically equivalent form. The original formula used in the game's code is like: Total=Base+(Base×Amount1)+(Base×Amount2)++(Base×Amountn)

Vanilla modifiers

As stated before, a modifier's ID can be anything, and this does not affect its behavior. The following are known modifier IDs and values used in vanilla Minecraft. Manually setting vanilla modifiers with the correct ID and attribute overrides the default value.

Modifier ID Description and Known Values Known Attributes Modified
minecraft:armor.body Value varies based on the armor of the horse. armor (Operation add_value; Horses), generic.armor_toughness (Operation add_value; Horses)
minecraft:armor.body Fixed value of 11.0 for wolves wearing wolf armor. armor (Operation add_value; Wolves)
minecraft:armor.helmet

minecraft:armor.chestplate

minecraft:armor.leggings

minecraft:armor.boots

Value varies based on slot and tier. armor (Operation add_value; boots, leggings, chestplate, helmet, turtle shell)
minecraft:armor.helmet

minecraft:armor.chestplate

minecraft:armor.leggings

minecraft:armor.boots

Value varies based on tier. armor_toughness (Operation add_value; boots, leggings, chestplate, helmet, turtle shell)
minecraft:armor.helmet

minecraft:armor.chestplate

minecraft:armor.leggings

minecraft:armor.boots

Applies knockback resistance similarily to netherite armor. A piece of netherite armor is equivalent to add_value with amount 0.1. knockback_resistance (Operation add_value; boots, leggings, chestplate, helmet)
minecraft:attacking Fixed value of 0.15 for Endermen and 0.05 for Zombified Piglins; exists only when attacking. movement_speed (Operation add_value; Endermen, Zombified Piglins)
minecraft:base_attack_damage Value varies based on tool/weapon and tier. attack_damage (Operation add_value; tridents, shovels, pickaxes, axes, hoes, maces)
minecraft:base_attack_speed Value varies based on tool/weapon and tier. attack_speed (Operation add_value; tridents, shovels, pickaxes, axes, hoes, maces)
minecraft:baby Fixed value of 0.5 for Zombies and 0.2 for Piglins; exists only for their respective baby variants. movement_speed (Operation add_multiplied_base; Baby Zombies. Baby villagers)
minecraft:covered Fixed value of 20.0 for Shulkers. Exists only when fully closed. armor (Operation add_value; Shulkers)
minecraft:creative_mode_block_range Fixed value of 0.5 while player is in Creative Mode. block_interaction_range (Operation add_value; Player)
minecraft:creative_mode_entity_range Fixed value of 2.0 while player is in Creative Mode. entity_interaction_range (Operation add_value; Player)
minecraft:drinking Fixed value of -0.25 for Witches when drinking a potion. movement_speed (Operation add_value; Witches)
minecraft:effect.speed Fixed value of 0.2 when under the Speed effect, multiplied by the effect's level (amplifier + 1). movement_speed (Operation add_multiplied_total; All living entities)
minecraft:effect.slowness Fixed value of -0.15 when under the Slowness effect, multiplied by the effect's level. movement_speed (Operation add_multiplied_total; All living entities)
minecraft:effect.haste Fixed value of 0.1 when under the Haste effect, multiplied by the effect's level. attack_speed (Operation add_multiplied_total; All living entities)
minecraft:effect.mining_fatigue Fixed value of -0.1 when under the Mining fatigue effect, multiplied by the effect's level. attack_speed (Operation add_multiplied_total; All living entities)
minecraft:effect.strength Fixed value of 3.0 when under the Strength effect, multiplied by the effect's level. attack_damage (Operation add_value; All living entities)
minecraft:effect.weakness Fixed value of -4.0 when under the Weakness effect, multiplied by the effect's level. attack_damage (Operation add_value; All living entities)
minecraft:effect.health_boost Fixed value of 4.0 when under the Health Boost effect, multiplied by the effect's level. max_health (Operation add_value; All living entities)
minecraft:effect.luck Fixed value of 1.0 when under the Luck effect, multiplied by the effect's level. luck (Operation add_value; All living entities)
minecraft:effect.unluck Fixed value of -1.0 when under the Unluck effect, multiplied by the effect's level. luck (Operation add_value; All living entities)
minecraft:effect.jump_boost Fixed value of 0.1 when under the Jump boost effect, multiplied by the effect's level. jump_strength (Operation add_value; All living entities)
minecraft: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 max_health, random number between 1.0 and 4.0. spawn_reinforcements (Operation add_value; Zombies), max_health (Operation add_multiplied_total; Zombies)
minecraft:powder_snow Value varies from 0 to -0.05 based on ticks spent in powder snow. movement_speed (Operation add_value; all living entities)
minecraft: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. follow_range (Operation add_multiplied_base; all mobs), Knockback Resistance (Operation add_value; Zombies only)
minecraft:reinforcement_caller_charge Fixed value of -0.05 created each time a zombie spawns another zombie as reinforcement. spawn_reinforcements (Operation add_value; Zombies)
minecraft:reinforcement_callee_charge Fixed value of -0.05 created for each zombie spawned as a reinforcement. spawn_reinforcements (Operation add_value; Zombies)
minecraft:sprinting Fixed value of 0.3 used by all mobs (including players) when sprinting. movement_speed (Operation add_multiplied_total; all living entities)
minecraft:zombie_random_spawn_bonus Generated upon spawning; a random number between 0.0 and 1.5. follow_range (Operation add_multiplied_total; Zombies)
None/unknown Unknown; created when the client reads attribute data sent by the server. varies

History

Java Edition
1.6.113w16aAdded attributes and modifiers.
The following attributes existed: "Max Health", "Follow Range", "Knockback Resistance"; furthermore, "Jump Strength" and "Speed" existed as horse-specific attributes.
The only modifiers were both "Random spawn bonus", one used on Zombies to knockback resistance with operation 0, and the other on all mobs to follow range with operation 1.
13w17aAdded "Spawn Reinforcements Chance" attribute for Zombies.
Added "Zombie reinforcement charge" (to spawn reinforcements charge), "Random zombie-spawn bonus" (to follow range), and "Leader zombie bonus" (to both reinforcements charge and max health).
13w18aReplaced "Zombie reinforcement charge" with "Zombie reinforcement caller charge"
13w21aAttributes now can be specified in NBT.
Attributes now have IDs and corresponding translation keys.
Modifiers now display on items.
Added "Attack Damage" and made "Speed" generic.
Added "potion.moveSpeed", "potion.moveSlowdown", "potion.damageBoost", and "potion.weakness" modifiers.
Added "Sprinting speed boost", "Fleeing speed bonus", "Attacking speed boost" (for both pigmen and endermen), "Drinking speed penalty", and "Baby speed boost".
Added "Tool modifier" and "Weapon modifier".
13w23bAdded "potion.healthBoost" modifier.
1.7.213w36aAttributes/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.915w34bAdded attack speed attribute.
15w36dAdded armor attribute.
15w44bAdded luck attribute.
1.9.1pre1Added armorToughness attribute.
1.12pre1Added flyingSpeed attribute.
1.1418w43aAdded attackKnockback attribute.
1.1620w06aKnockback resistance is now a scale rather than probability.
20w14aItems and entities no longer keep unknown attributes.
Names of some attributes have been renamed to meet resource location requirements (i.e., lowercase separated by underscores instead of camel case).
Renamed generic.maxHealth to generic.max_health.
Renamed zombie.spawnReinforcements to zombie.spawn_reinforcements.
Renamed horse.jumpStrength to horse.jump_strength.
Renamed generic.followRange to generic.follow_range.
Renamed generic.knockbackResistance to generic.knockback_resistance.
Renamed generic.movementSpeed to generic.movement_speed.
Renamed generic.flyingSpeed to generic.flying_speed.
Renamed generic.attackDamage to generic.attack_damage
Renamed generic.attackKnockback to generic.attack_knockback
Renamed generic.attackSpeed to generic.attack_speed
Renamed generic.armorToughness to generic.armor_toughness.
20w17aAdded the /attribute command, which can query and change attributes.
1.18.222w03aKnockback resistance no longer gives a 50% chance to ignore all knockback.
1.20.223w31aAdded the generic.max_absorption attribute.
1.20.523w51aAdded generic.scale and generic.step_height attributes for all living entities, as well as generic.block_interaction_range and generic.entity_interaction_range attributes for players.
24w03aRenamed generic.block_interaction_range and generic.entity_interaction_range to player.block_interaction_range and player.entity_interaction_range.
24w06aAdded generic.gravity, generic.safe_fall_distance, generic.fall_damage_multiplier and player.block_break_speed attributes.
Renamed horse.jump_strength to generic.jump_strength.
1.2124w18aAdded generic.burning_time, generic.explosion_knockback_resistance, player.mining_efficiency, generic.movement_efficiency, generic.oxygen_bonus, player.sneaking_speed, player.submerged_mining_speed, player.sweeping_damage_ratioand generic.water_movement_efficiency attributes.
generic.attack_knockback attribute now also works for players.
24w21aThe uuid and name arguments have been replaced with a singular id argument.
1.21.224w33aAdded the tempt_range attribute.
Removed the generic., player., or zombie. prefixes from all the attributes. Instead of using the resource locations, the argument instead just asks for the name of the attribute.
1.21.424w44aPlayers can no longer sprint while sneaking or crawling when having the sneaking_speed attribute set to 0.8 or higher.[7]
1.21.6
Experiment
Locator Bar
25w15aAdded waypoint_transmit_range and waypoint_receive_range attributes.
1.21.625w15aAdded camera_distance attribute.
25w17awaypoint_transmit_range and waypoint_receive_range are no longer experimental.
Java Edition Combat Tests
1.14.3Added generic.attackReach attribute.
6Renamed generic.attackReach to generic.attack_reach.
Pocket Edition Alpha
v0.12.1build 1Added attributes.
Legacy Console Edition
Xbox 360Xbox OnePS3PS4PS VitaWii USwitch
TU19CU71.121.121.12Patch 11.0.1Added attributes.
TU36CU251.281.281.28Patch 7Attributes of items are shown above the HUD when switching items in the hotbar if the item has less than 3 enchantments.
TU46CU361.381.381.38Patch 15Added armor and luck attributes.
TU54CU441.521.521.52Patch 241.0.4Added flying speed attribute.

Issues

Issues relating to "Attribute" are maintained on the bug tracker. Issues should be reported and viewed there.

References

Navigation