TotalFreedomMod/commons/src/main/java/me/totalfreedom/totalfreedommod/rank/Title.java
2023-04-05 16:38:31 -05:00

154 lines
3.6 KiB
Java

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;
}
}