Compare commits

..

4 commits

3 changed files with 12 additions and 21 deletions

View file

@ -28,4 +28,11 @@ public class KnockdownsUtils {
player.damage(/*Objects.requireNonNullElse(recent, */player.getDamageSources().generic()/*)*/, damage); player.damage(/*Objects.requireNonNullElse(recent, */player.getDamageSources().generic()/*)*/, damage);
player.velocityModified = false; 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);
}
} }

View file

@ -41,15 +41,8 @@ public class KnockdownsEvents {
ServerPlayerEntity player = (ServerPlayerEntity) entity; ServerPlayerEntity player = (ServerPlayerEntity) entity;
if (KnockdownsUtils.allTeammatesKnocked(server, player)) { if (knockable.is_KnockedDown() || KnockdownsUtils.allTeammatesKnocked(server, player)) {
return EventResult.pass(); KnockdownsUtils.resetKnockedState(knockable);
}
if (knockable.is_KnockedDown()) {
knockable.set_KnockedDown(false);
knockable.set_ReviverCount(0);
knockable.set_ReviveTimer(KnockdownsCommon.REVIVE_WAIT_TIME);
knockable.set_KnockedAge(0);
return EventResult.pass(); return EventResult.pass();
} }
@ -101,14 +94,11 @@ public class KnockdownsEvents {
knockable.set_ReviveTimer(knockable.get_ReviveTimer() - knockable.get_ReviverCount()); knockable.set_ReviveTimer(knockable.get_ReviveTimer() - knockable.get_ReviverCount());
if (knockable.get_ReviveTimer() <= 0) { if (knockable.get_ReviveTimer() <= 0) {
knockable.set_KnockedDown(false); KnockdownsUtils.resetKnockedState(knockable);
knockable.set_ReviverCount(0);
knockable.set_ReviveTimer(KnockdownsCommon.REVIVE_WAIT_TIME);
knockable.set_KnockedAge(0);
player.setInvulnerable(false); player.setInvulnerable(false);
player.setGlowing(false); player.setGlowing(false);
player.setHealth(6.0f); player.setHealth(player.getMaxHealth() * 0.3f);
} }
return; return;
} }
@ -142,12 +132,6 @@ public class KnockdownsEvents {
} }
return CompoundEventResult.pass(); return CompoundEventResult.pass();
}); });
InteractionEvent.RIGHT_CLICK_BLOCK.register((player, hand, pos, direction) -> {
if (KnockdownsUtils.isKnockedOrReviving(player)) {
return EventResult.interruptFalse();
}
return EventResult.pass();
});
} }
private static void registerOnEntityUse() { private static void registerOnEntityUse() {

View file

@ -4,7 +4,7 @@ minecraft_version=1.20.1
enabled_platforms=fabric,forge enabled_platforms=fabric,forge
archives_base_name=knockdowns archives_base_name=knockdowns
mod_version=2.1.1 mod_version=2.2.0
maven_group=ru.octol1ttle.knockdowns maven_group=ru.octol1ttle.knockdowns
architectury_version=9.1.12 architectury_version=9.1.12