package tc.oc.pgm.chat; import javax.inject.Inject; import javax.inject.Singleton; import net.md_5.bungee.api.ChatColor; import tc.oc.commons.bukkit.chat.NameFlag; import tc.oc.commons.bukkit.chat.NameType; import tc.oc.commons.bukkit.nick.Identity; import tc.oc.commons.bukkit.nick.UsernameRenderer; import tc.oc.commons.core.chat.ChatUtils; import tc.oc.pgm.match.MatchManager; import tc.oc.pgm.match.MatchPlayer; /** * Adds team colors to player names */ @Singleton public class MatchUsernameRenderer extends UsernameRenderer { private final MatchManager matchManager; @Inject MatchUsernameRenderer(MatchManager matchManager) { this.matchManager = matchManager; } @Override public ChatColor getColor(Identity identity, NameType type) { if(type.online && !(type.dead && type.style.contains(NameFlag.DEATH))) { MatchPlayer player = matchManager.getPlayer(identity.getPlayerId()); if(player != null) { return ChatUtils.convert(player.getParty().getColor()); } } return super.getColor(identity, type); } }