Thorns

Thorns is an armor enchantment that causes attackers to be damaged when they deal damage to the wearer.

Guardians and pufferfish also have a thorns effect which inflicts damage when their spikes are out.

Usage
While wearing any piece of armor with the Thorns enchantment, the wearer has a  chance of inflicting - damage on anyone who attacks them, regardless of whether they were hit by a melee attack, arrow, or other projectile. The entity also gets knocked back when being attacked by the enchantment.

Multiple worn armor items with the Thorns enchantment do stack. Each piece confers an independent chance to deal damage to the attacker as described above. The total amount of damage that can be dealt this way is capped at.

Thorns applies a durability penalty to the armor. It reduces durability by an additional 2 points when inflicting damage. If multiple armor pieces are enchanted with Thorns, the durability penalty is applied to one piece chosen at random, regardless of what level of Thorns that piece has. If the item is also enchanted with Unbreaking, the damage penalty has a chance of being ignored.

If a projectile is launched toward an opponent equipped with thorns, using a shield damages the shield instead of the player when the projectile hits the opponent.

Using commands, the enchantment level can be increased. The maximum possible chance of dealing damage is 100% (at level 7). If the level of Thorns exceeds 10, then it deals  damage.

Obtaining
In addition to normal enchanting, Thorns I and II can be obtained naturally from drops, trading with a villager or as loot from generated structures.

Thorns III cannot be directly obtained using an enchanting table, but it can be obtained by using an anvil to combine two Thorns II enchantments, by trading with villagers, or as loot from generated structures.

Thorns can be applied to a non-armor item only by using creative mode, commands or a third-party tool. When such an item is held in either hand, an attacker suffers damage according to the formula above.

ID