package me.totalfreedom.totalfreedommod.rank; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextColor; public enum Title implements Displayable { MASTER_BUILDER(Component.text("a"), Component.text("Master Builder"), Component.text("Master Builders"), NamedTextColor.DARK_AQUA, org.bukkit.ChatColor.DARK_AQUA, Component.text("MB"), true, true), EXECUTIVE(Component.text("an"), Component.text("Executive"), Component.text("Executives"), NamedTextColor.RED, org.bukkit.ChatColor.RED, Component.text("Exec"), true, true), ASST_EXEC(Component.text("an"), Component.text("Assistant Executive"), Component.text("Assistant Executives"), NamedTextColor.RED, org.bukkit.ChatColor.RED, Component.text("Asst Exec"), true, true), DEVELOPER(Component.text("a"), Component.text("Developer"), Component.text("Developers"), NamedTextColor.DARK_PURPLE, org.bukkit.ChatColor.DARK_PURPLE, Component.text("Dev"), true, true), OWNER(Component.text("an"), Component.text("Owner"), Component.text("Owners"), NamedTextColor.DARK_RED, org.bukkit.ChatColor.DARK_RED, Component.text("Owner"), true, true); private final Component article; private final Component name; private final Component abbr; private final Component plural; private final Component tag; private final Component coloredTag; private final TextColor color; private final org.bukkit.ChatColor teamColor; private final boolean hasTeam; private final boolean hasDefaultLoginMessage; Title(Component article, Component name, Component plural, TextColor color, org.bukkit.ChatColor teamColor, Component tag, Boolean hasTeam, Boolean hasDefaultLoginMessage) { this.article = article; this.name = name; this.plural = plural; this.coloredTag = tag.color(color); this.abbr = tag; this.tag = GroupProvider.OPEN.append(tag).append(GroupProvider.CLOSE); this.color = color; this.teamColor = teamColor; this.hasTeam = hasTeam; this.hasDefaultLoginMessage = hasDefaultLoginMessage; } @Override public Component getColoredName() { return name.color(color); } @Override public boolean hasTeam() { return hasTeam; } @Override public boolean hasDefaultLoginMessage() { return hasDefaultLoginMessage; } @Override public Component getColoredLoginMessage() { return article.append(Component.text(" ").append(name.color(color))); } @Override public Component getArticle() { return article; } @Override public Component getName() { return name; } @Override public Component getAbbr() { return abbr; } @Override public Component getPlural() { return plural; } @Override public Component getTag() { return tag; } @Override public Component getColoredTag() { return coloredTag; } @Override public TextColor getColor() { return color; } @Override public org.bukkit.ChatColor getTeamColor() { return teamColor; } }