ProjectAres/PGM/src/main/java/tc/oc/pgm/blitz/LivesTeam.java

63 lines
1.6 KiB
Java

package tc.oc.pgm.blitz;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TranslatableComponent;
import tc.oc.api.docs.PlayerId;
import tc.oc.commons.core.chat.Component;
import tc.oc.commons.core.chat.Components;
import tc.oc.pgm.match.Competitor;
public class LivesTeam extends LivesBase {
public LivesTeam(Competitor competitor, int lives) {
super(lives, competitor);
}
@Override
public Type type() {
return Type.TEAM;
}
@Override
public boolean applicableTo(PlayerId player) {
return competitor().players().anyMatch(matchPlayer -> matchPlayer.getPlayerId().equals(player));
}
@Override
public boolean owner(PlayerId playerId) {
return false;
}
public int alive() {
return (int) competitor().participants().count();
}
@Override
public BaseComponent remaining() {
int alive = alive() - 1;
if(alive == 0) return Components.blank();
return empty() ? new Component(
new TranslatableComponent(
"lives.remaining.alive." + (alive == 1 ? "singular"
: "plural"),
new Component(alive, ChatColor.YELLOW)
),
ChatColor.AQUA
) : super.remaining();
}
@Override
public int hashCode() {
return competitor().hashCode();
}
@Override
public boolean equals(Object obj) {
return obj != null &&
obj instanceof LivesTeam &&
competitor().equals(((LivesTeam) obj).competitor());
}
}