ProjectAres/PGM/src/main/java/tc/oc/pgm/match/ObservingParty.java

113 lines
2.4 KiB
Java

package tc.oc.pgm.match;
import javax.annotation.Nullable;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.BaseComponent;
import org.bukkit.Color;
import org.bukkit.command.CommandSender;
import tc.oc.commons.core.chat.BlankComponent;
import tc.oc.commons.core.chat.Component;
import tc.oc.commons.bukkit.chat.NameStyle;
import tc.oc.commons.bukkit.util.BukkitUtils;
import tc.oc.commons.core.chat.ChatUtils;
public abstract class ObservingParty extends MultiPlayerParty {
private String coloredName;
private BaseComponent componentName;
private BaseComponent chatPrefix;
public ObservingParty(Match match) {
super(match);
}
@Override
public String getName() {
return getDefaultName();
}
@Override
public String getName(@Nullable CommandSender viewer) {
return getName();
}
@Override
public boolean isNamePlural() {
return true;
}
public ChatColor getBungeeColor() {
return ChatUtils.convert(getColor());
}
@Override
public Color getFullColor() {
return BukkitUtils.colorOf(this.getColor());
}
@Override
public String getColoredName() {
if(coloredName == null) {
coloredName = getColor() + getName();
}
return coloredName;
}
@Override
public String getColoredName(@Nullable CommandSender viewer) {
return getColoredName();
}
@Override
public BaseComponent getComponentName() {
if(componentName == null) {
componentName = new Component(getName(), getBungeeColor());
}
return componentName;
}
@Override
public BaseComponent getStyledName(NameStyle style) {
return getComponentName();
}
@Override
public BaseComponent getChatPrefix() {
if(chatPrefix == null) {
chatPrefix = new Component("(Team) ", getBungeeColor());
}
return chatPrefix;
}
@Override
public boolean isAutomatic() {
return false;
}
@Override
public Type getType() {
return Type.Observing;
}
@Override
public boolean isParticipatingType() {
return false;
}
@Override
public boolean isParticipating() {
return false;
}
@Override
public boolean isObservingType() {
return true;
}
@Override
public boolean isObserving() {
return true;
}
}