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


diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 684978be7ccc401b71b0594828a7783b209a5210..f41975165a6a66479bc8fc1811c1d271bb2a6113 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -2123,14 +2123,17 @@ public abstract class EntityHuman extends EntityLiving {
         this.datawatcher.set(EntityHuman.bt, nbttagcompound);
     }
 
+    public float getCooldownPeriod() { return this.ex(); } // Paper - OBFHELPER
     public float ex() {
         return (float) (1.0D / this.getAttributeInstance(GenericAttributes.ATTACK_SPEED).getValue() * 20.0D);
     }
 
+    public float getCooledAttackStrength(float adjustTicks) { return s(adjustTicks); } // Paper - OBFHELPER
     public float s(float f) {
         return MathHelper.a(((float) this.aB + f) / this.ex(), 0.0F, 1.0F);
     }
 
+    public void resetCooldown() { this.ey(); } // Paper - OBFHELPER
     public void ey() {
         this.aB = 0;
     }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index ffbf2b983bb91c873f403b411a05c563feffeebf..a874ae6758e95c782bfb3d931bf8306997aa3a70 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1905,6 +1905,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
         getInventory().setItemInMainHand(hand);
     }
 
+    // Paper start
+    public float getCooldownPeriod() {
+        return getHandle().getCooldownPeriod();
+    }
+
+    public float getCooledAttackStrength(float adjustTicks) {
+        return getHandle().getCooledAttackStrength(adjustTicks);
+    }
+
+    public void resetCooldown() {
+        getHandle().resetCooldown();
+    }
+    // Paper end
+
     // Spigot start
     private final Player.Spigot spigot = new Player.Spigot()
     {
