The bug
When player or mob hits you with an axe while blocking with shield - it gets a few seconds cooldown before it can be used again. If you re-log (reload the world) in singleplayer or disconnect and reconnect in multiplayer server while the cooldown is active - it disappears (resets) and the shield can be used again immediately.
How to reproduce
Block with a shield
Let a mob (for example) with an axe attack you
You will hear the "tool breaking" sound and the shield will get cooldown for a few seconds
When the cooldown is active - reload the world or reconnect in multiplayer
β β The shield will have no cooldown and will be able to block damage again
Linked issues
is duplicated by
Attachments
Comments
Surprisingly the bug exists also in multiplayer (server). If a shield is on cooldown and a player disconnects and reconnects the cooldown dissapears / resets.
I'd like to add that it does make sense if it's in multiplayer (server) as the game is running even though a player leaves the game. (The time it takes for a shield to cool down is definitely faster than it takes for a player to disconnect and reconnect).
In singleplayer, however, it should be persistent between playtimes.
Can confirm in 21w03a.
Can confirm in 21w05b.
Can confirm in 21w06a.
Can confirm in 21w11a.
Can confirm in 21w17a.
Can confirm in 1.17.1.
also applies to the chorus fruit and ender pearl
Can confirm in 1.19.2.

Applies to Goat Horns

Can confirm inΒ 1.20.1

Can confirm in 1.21.2

The cooldown also resets upon a player's death.
Additionally, the bug now affects any custom items with the 'use_cooldown' item component.
Does this work in multiplayer?