--- a/net/minecraft/world/item/ServerItemCooldowns.java
+++ b/net/minecraft/world/item/ServerItemCooldowns.java
@@ -10,6 +10,16 @@
         this.player = player;
     }
 
+    // Paper start - Add PlayerItemCooldownEvent
+    @Override
+    public void addCooldown(Item item, int duration) {
+        io.papermc.paper.event.player.PlayerItemCooldownEvent event = new io.papermc.paper.event.player.PlayerItemCooldownEvent(this.player.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemType.minecraftToBukkit(item), duration);
+        if (event.callEvent()) {
+            super.addCooldown(item, event.getCooldown());
+        }
+    }
+    // Paper end - Add PlayerItemCooldownEvent
+
     @Override
     protected void onCooldownStarted(Item item, int duration) {
         super.onCooldownStarted(item, duration);
