diff --git a/common/src/main/java/ru/octol1ttle/knockdowns/common/KnockdownsUtils.java b/common/src/main/java/ru/octol1ttle/knockdowns/common/KnockdownsUtils.java index 6f6b651..4d256fd 100644 --- a/common/src/main/java/ru/octol1ttle/knockdowns/common/KnockdownsUtils.java +++ b/common/src/main/java/ru/octol1ttle/knockdowns/common/KnockdownsUtils.java @@ -28,4 +28,11 @@ public class KnockdownsUtils { player.damage(/*Objects.requireNonNullElse(recent, */player.getDamageSources().generic()/*)*/, damage); player.velocityModified = false; } + + public static void resetKnockedState(IKnockableDown knockable) { + knockable.set_KnockedDown(false); + knockable.set_ReviverCount(0); + knockable.set_ReviveTimer(KnockdownsCommon.REVIVE_WAIT_TIME); + knockable.set_KnockedAge(0); + } } diff --git a/common/src/main/java/ru/octol1ttle/knockdowns/common/events/KnockdownsEvents.java b/common/src/main/java/ru/octol1ttle/knockdowns/common/events/KnockdownsEvents.java index 16a3e78..299bc51 100644 --- a/common/src/main/java/ru/octol1ttle/knockdowns/common/events/KnockdownsEvents.java +++ b/common/src/main/java/ru/octol1ttle/knockdowns/common/events/KnockdownsEvents.java @@ -41,15 +41,8 @@ public class KnockdownsEvents { ServerPlayerEntity player = (ServerPlayerEntity) entity; - if (KnockdownsUtils.allTeammatesKnocked(server, player)) { - return EventResult.pass(); - } - - if (knockable.is_KnockedDown()) { - knockable.set_KnockedDown(false); - knockable.set_ReviverCount(0); - knockable.set_ReviveTimer(KnockdownsCommon.REVIVE_WAIT_TIME); - knockable.set_KnockedAge(0); + if (knockable.is_KnockedDown() || KnockdownsUtils.allTeammatesKnocked(server, player)) { + KnockdownsUtils.resetKnockedState(knockable); return EventResult.pass(); } @@ -101,10 +94,7 @@ public class KnockdownsEvents { knockable.set_ReviveTimer(knockable.get_ReviveTimer() - knockable.get_ReviverCount()); if (knockable.get_ReviveTimer() <= 0) { - knockable.set_KnockedDown(false); - knockable.set_ReviverCount(0); - knockable.set_ReviveTimer(KnockdownsCommon.REVIVE_WAIT_TIME); - knockable.set_KnockedAge(0); + KnockdownsUtils.resetKnockedState(knockable); player.setInvulnerable(false); player.setGlowing(false);