mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-06-30 12:06:41 +00:00
Mavenized project
This commit is contained in:
@ -0,0 +1,99 @@
|
||||
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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user