mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-06-30 03:56:42 +00:00
Moved resources to correct folder Fixed and improved build information, no longer tracking build.properties
101 lines
2.3 KiB
Java
101 lines
2.3 KiB
Java
package me.totalfreedom.totalfreedommod.rank;
|
|
|
|
import lombok.Getter;
|
|
import org.bukkit.ChatColor;
|
|
|
|
public enum PlayerRank implements Rank
|
|
{
|
|
|
|
// Order is important here
|
|
IMPOSTOR(false, "an", "Imp", ChatColor.YELLOW, ChatColor.UNDERLINE),
|
|
NON_OP(false, "a", "", ChatColor.GREEN),
|
|
OP(false, "an", "OP", ChatColor.RED),
|
|
SUPER_ADMIN(true, "a", "SA", ChatColor.GOLD),
|
|
TELNET_ADMIN(true, "a", "StA", ChatColor.DARK_GREEN),
|
|
SENIOR_ADMIN(true, "a", "SrA", ChatColor.LIGHT_PURPLE);
|
|
//
|
|
@Getter
|
|
private final String name;
|
|
private final String determiner;
|
|
@Getter
|
|
private final String tag;
|
|
@Getter
|
|
private final ChatColor color;
|
|
@Getter
|
|
private final String colorString;
|
|
@Getter
|
|
private final boolean admin;
|
|
|
|
private PlayerRank(boolean admin, String determiner, String tag, ChatColor... colors)
|
|
{
|
|
this.admin = admin;
|
|
|
|
final String[] nameParts = name().toLowerCase().split("_");
|
|
String tempName = "";
|
|
for (String part : nameParts)
|
|
{
|
|
tempName = Character.toUpperCase(part.charAt(0)) + part.substring(1) + " ";
|
|
}
|
|
name = tempName.trim();
|
|
|
|
this.determiner = determiner;
|
|
this.tag = "[" + tag + "]";
|
|
|
|
this.color = colors[0];
|
|
String tColor = "";
|
|
for (ChatColor lColor : colors)
|
|
{
|
|
tColor += lColor.toString();
|
|
}
|
|
colorString = tColor;
|
|
}
|
|
|
|
@Override
|
|
public String getColoredName()
|
|
{
|
|
return getColorString() + getName();
|
|
}
|
|
|
|
@Override
|
|
public String getColoredTag()
|
|
{
|
|
return getColor() + getTag();
|
|
}
|
|
|
|
@Override
|
|
public String getColoredLoginMessage()
|
|
{
|
|
return determiner + " " + getColoredName();
|
|
}
|
|
|
|
public boolean hasConsole()
|
|
{
|
|
return ConsoleRank.hasConsole(this);
|
|
}
|
|
|
|
@Override
|
|
public int getLevel()
|
|
{
|
|
return ordinal();
|
|
}
|
|
|
|
@Override
|
|
public boolean isAtLeast(Rank rank)
|
|
{
|
|
return getLevel() >= rank.getLevel();
|
|
}
|
|
|
|
public static PlayerRank forString(String string)
|
|
{
|
|
try
|
|
{
|
|
return PlayerRank.valueOf(string.toUpperCase());
|
|
}
|
|
catch (Exception ignored)
|
|
{
|
|
}
|
|
|
|
return PlayerRank.NON_OP;
|
|
}
|
|
}
|