aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0488-Add-PlayerAttackEntityCooldownResetEvent.patch
blob: f5ba23a129a25a1b0e983aaad4be6200a14f06e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: nossr50 <nossr50@gmail.com>
Date: Thu, 26 Mar 2020 19:44:50 -0700
Subject: [PATCH] Add PlayerAttackEntityCooldownResetEvent


diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 2c81344a65bf230a6ba09deb2a3bb45881144a39..3fc2360a103a5399f2878eccb0c13eb6e41e824d 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1690,7 +1690,17 @@ public abstract class EntityLiving extends Entity {
 
             EntityDamageEvent event = CraftEventFactory.handleLivingEntityDamageEvent(this, damagesource, originalDamage, hardHatModifier, blockingModifier, armorModifier, resistanceModifier, magicModifier, absorptionModifier, hardHat, blocking, armor, resistance, magic, absorption);
             if (damagesource.getEntity() instanceof EntityHuman) {
-                ((EntityHuman) damagesource.getEntity()).ey(); // Moved from EntityHuman in order to make the cooldown reset get called after the damage event is fired
+                // Paper start - PlayerAttackEntityCooldownResetEvent
+                if (damagesource.getEntity() instanceof EntityPlayer) {
+                    EntityPlayer player = (EntityPlayer) damagesource.getEntity();
+                    if (new com.destroystokyo.paper.event.player.PlayerAttackEntityCooldownResetEvent(player.getBukkitEntity(), this.getBukkitEntity(), player.getCooledAttackStrength(0F)).callEvent()) {
+                        player.resetCooldown();
+                    }
+                } else {
+                    ((EntityHuman) damagesource.getEntity()).resetCooldown();
+                }
+                // Paper end
+
             }
             if (event.isCancelled()) {
                 return false;