113 lines
2.4 KiB
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;
|
|
}
|
|
}
|