From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Tue, 4 Sep 2018 15:01:54 -0500
Subject: [PATCH] Expose attack cooldown methods for Player


diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 9dcec906cea7d4eb6da99ef3100a98218a280594..92a83edc03fa8d11f026ac312b989329fa6a7e88 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3263,6 +3263,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
     void setPlayerProfile(com.destroystokyo.paper.profile.@NotNull PlayerProfile profile);
     // Paper end - Player Profile API
 
+    // Paper start - attack cooldown API
+    /**
+     * Returns the amount of ticks the current cooldown lasts
+     *
+     * @return Amount of ticks cooldown will last
+     */
+    float getCooldownPeriod();
+
+    /**
+     * Returns the percentage of attack power available based on the cooldown (zero to one).
+     *
+     * @param adjustTicks Amount of ticks to add to cooldown counter for this calculation
+     * @return Percentage of attack power available
+     */
+    float getCooledAttackStrength(float adjustTicks);
+
+    /**
+     * Reset the cooldown counter to 0, effectively starting the cooldown period.
+     */
+    void resetCooldown();
+    // Paper end - attack cooldown API
+
     // Spigot start
     public class Spigot extends Entity.Spigot {
 
