geforkt von Mirrors/Paper
29 Zeilen
2.0 KiB
Diff
29 Zeilen
2.0 KiB
Diff
|
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/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||
|
index 46b962183e2e27ed93054ad9fb6d8ecbf70bc5f9..cec1e6105b8c2ac3d1482c00482d53d6be0d38d1 100644
|
||
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||
|
@@ -1928,7 +1928,16 @@ public abstract class LivingEntity 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 net.minecraft.world.entity.player.Player) {
|
||
|
- ((net.minecraft.world.entity.player.Player) damagesource.getEntity()).resetAttackStrengthTicker(); // 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 ServerPlayer) {
|
||
|
+ ServerPlayer player = (ServerPlayer) damagesource.getEntity();
|
||
|
+ if (new com.destroystokyo.paper.event.player.PlayerAttackEntityCooldownResetEvent(player.getBukkitEntity(), this.getBukkitEntity(), player.getAttackStrengthScale(0F)).callEvent()) {
|
||
|
+ player.resetAttackStrengthTicker();
|
||
|
+ }
|
||
|
+ } else {
|
||
|
+ ((net.minecraft.world.entity.player.Player) damagesource.getEntity()).resetAttackStrengthTicker();
|
||
|
+ }
|
||
|
+ // Paper end
|
||
|
}
|
||
|
if (event.isCancelled()) {
|
||
|
return false;
|