PaperMC/Spigot-Server-Patches/0292-Expose-attack-cooldown-methods-for-Player.patch
Shane Freeder c1f57657ee
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
d208733e SPIGOT-5509: Sleeping player does not eject bed when teleported
2020-01-11 13:34:00 +00:00

56 lines
2.1 KiB
Diff

From 5eb478cb69683d4a4583e314127d9d38ffbef2f3 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 2265b01e69..763ca58d17 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -2115,14 +2115,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 b93bafb3ff..4b45986257 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1916,6 +1916,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()
{
--
2.24.1