Compare commits

..

No commits in common. "4968a7ca7f01eaf62c3d50c15e7baaae76c9fb32" and "4e02f61903bfedc512c5bd89a740e6afc6794e09" have entirely different histories.

3 changed files with 21 additions and 12 deletions

View file

@ -28,11 +28,4 @@ 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,8 +41,15 @@ public class KnockdownsEvents {
ServerPlayerEntity player = (ServerPlayerEntity) entity; ServerPlayerEntity player = (ServerPlayerEntity) entity;
if (knockable.is_KnockedDown() || KnockdownsUtils.allTeammatesKnocked(server, player)) { if (KnockdownsUtils.allTeammatesKnocked(server, player)) {
KnockdownsUtils.resetKnockedState(knockable); 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);
return EventResult.pass(); return EventResult.pass();
} }
@ -94,11 +101,14 @@ 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) {
KnockdownsUtils.resetKnockedState(knockable); knockable.set_KnockedDown(false);
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(player.getMaxHealth() * 0.3f); player.setHealth(6.0f);
} }
return; return;
} }
@ -132,6 +142,12 @@ 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.2.0 mod_version=2.1.1
maven_group=ru.octol1ttle.knockdowns maven_group=ru.octol1ttle.knockdowns
architectury_version=9.1.12 architectury_version=9.1.12