mirror of
https://github.com/TotalFreedomMC/TotalFreedomMod.git
synced 2024-06-02 09:51:21 +00:00
edb1f224ca
Due to the amount of breaking changes, I thought I would restart the numbering at 6.0
66 lines
1.4 KiB
Java
66 lines
1.4 KiB
Java
package me.totalfreedom.totalfreedommod.blocking.command;
|
|
|
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
|
import me.totalfreedom.totalfreedommod.rank.Rank;
|
|
import me.totalfreedom.totalfreedommod.admin.Admin;
|
|
import org.bukkit.command.CommandSender;
|
|
|
|
public enum CommandBlockerRank
|
|
{
|
|
ANYONE("a"),
|
|
OP("o"),
|
|
ADMIN("a"),
|
|
SENIOR_ADMIN("s"),
|
|
NOBODY("n");
|
|
//
|
|
private final String token;
|
|
|
|
private CommandBlockerRank(String token)
|
|
{
|
|
this.token = token;
|
|
}
|
|
|
|
public String getToken()
|
|
{
|
|
return this.token;
|
|
}
|
|
|
|
public boolean hasPermission(CommandSender sender)
|
|
{
|
|
return fromSender(sender).ordinal() >= ordinal();
|
|
}
|
|
|
|
public static CommandBlockerRank fromSender(CommandSender sender)
|
|
{
|
|
Admin admin = TotalFreedomMod.plugin().al.getAdmin(sender);
|
|
if (admin != null)
|
|
{
|
|
if (admin.getRank() == Rank.SENIOR_ADMIN)
|
|
{
|
|
return SENIOR_ADMIN;
|
|
}
|
|
return ADMIN;
|
|
}
|
|
|
|
if (sender.isOp())
|
|
{
|
|
return OP;
|
|
}
|
|
|
|
return ANYONE;
|
|
|
|
}
|
|
|
|
public static CommandBlockerRank fromToken(String token)
|
|
{
|
|
for (CommandBlockerRank rank : CommandBlockerRank.values())
|
|
{
|
|
if (rank.getToken().equalsIgnoreCase(token))
|
|
{
|
|
return rank;
|
|
}
|
|
}
|
|
return ANYONE;
|
|
}
|
|
}
|