mirror of
https://github.com/TheDeus-Group/TFM-4.3-Reloaded.git
synced 2024-05-15 22:31:17 +00:00
169 lines
4.6 KiB
Java
169 lines
4.6 KiB
Java
package me.StevenLawson.TotalFreedomMod.admin;
|
|
|
|
import me.StevenLawson.TotalFreedomMod.config.ConfigurationEntry;
|
|
import me.StevenLawson.TotalFreedomMod.config.MainConfig;
|
|
import me.StevenLawson.TotalFreedomMod.util.Utilities;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.bukkit.configuration.ConfigurationSection;
|
|
|
|
import java.util.*;
|
|
|
|
public class Admin
|
|
{
|
|
private final UUID uuid;
|
|
private String lastLoginName;
|
|
private String loginMessage;
|
|
private final boolean isSeniorAdmin;
|
|
private final boolean isTelnetAdmin;
|
|
private final List<String> consoleAliases;
|
|
private final List<String> ips;
|
|
private Date lastLogin;
|
|
private boolean isActivated;
|
|
|
|
public Admin(UUID uuid, String lastLoginName, Date lastLogin, String loginMessage, boolean isTelnetAdmin, boolean isSeniorAdmin, boolean isActivated)
|
|
{
|
|
this.uuid = uuid;
|
|
this.lastLoginName = lastLoginName;
|
|
this.ips = new ArrayList<String>();
|
|
this.lastLogin = lastLogin;
|
|
this.loginMessage = loginMessage;
|
|
this.isTelnetAdmin = isTelnetAdmin;
|
|
this.isSeniorAdmin = isSeniorAdmin;
|
|
this.consoleAliases = new ArrayList<String>();
|
|
this.isActivated = isActivated;
|
|
}
|
|
|
|
public Admin(UUID uuid, ConfigurationSection section)
|
|
{
|
|
this.uuid = uuid;
|
|
this.lastLoginName = section.getString("last_login_name");
|
|
this.ips = section.getStringList("ips");
|
|
this.lastLogin = Utilities.stringToDate(section.getString("last_login", Utilities.dateToString(new Date(0L))));
|
|
this.loginMessage = section.getString("custom_login_message", "");
|
|
this.isSeniorAdmin = section.getBoolean("is_senior_admin", false);
|
|
this.isTelnetAdmin = section.getBoolean("is_telnet_admin", false);
|
|
this.consoleAliases = section.getStringList("console_aliases");
|
|
this.isActivated = section.getBoolean("is_activated", true);
|
|
|
|
for (Iterator<?> it = MainConfig.getList(ConfigurationEntry.NOADMIN_IPS).iterator(); it.hasNext();)
|
|
{
|
|
ips.remove((String) it.next());
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public String toString()
|
|
{
|
|
final StringBuilder output = new StringBuilder();
|
|
final ArrayList<String> fuzziedIps = new ArrayList<>();
|
|
|
|
for (String ip : ips)
|
|
{
|
|
fuzziedIps.add(Utilities.getFuzzyIp(ip));
|
|
}
|
|
|
|
output.append("UUID: ").append(uuid.toString()).append("\n");
|
|
output.append("- Last Login Name: ").append(lastLoginName).append("\n");
|
|
output.append("- IPs: ").append(StringUtils.join(fuzziedIps, ", ")).append("\n");
|
|
output.append("- Last Login: ").append(Utilities.dateToString(lastLogin)).append("\n");
|
|
output.append("- Custom Login Message: ").append(loginMessage).append("\n");
|
|
output.append("- Is Senior Admin: ").append(isSeniorAdmin).append("\n");
|
|
output.append("- Is Telnet Admin: ").append(isTelnetAdmin).append("\n");
|
|
output.append("- Console Aliases: ").append(StringUtils.join(consoleAliases, ", ")).append("\n");
|
|
output.append("- Is Activated: ").append(isActivated);
|
|
|
|
return output.toString();
|
|
}
|
|
|
|
public UUID getUniqueId()
|
|
{
|
|
return uuid;
|
|
}
|
|
|
|
public void setLastLoginName(String lastLoginName)
|
|
{
|
|
this.lastLoginName = lastLoginName;
|
|
}
|
|
|
|
public String getLastLoginName()
|
|
{
|
|
return lastLoginName;
|
|
}
|
|
|
|
public List<String> getIps()
|
|
{
|
|
return Collections.unmodifiableList(ips);
|
|
}
|
|
|
|
public void addIp(String ip)
|
|
{
|
|
if (!ips.contains(ip))
|
|
{
|
|
ips.add(ip);
|
|
}
|
|
}
|
|
|
|
public void addIps(List<String> ips)
|
|
{
|
|
for (String ip : ips)
|
|
{
|
|
addIp(ip);
|
|
}
|
|
}
|
|
|
|
public void removeIp(String ip)
|
|
{
|
|
ips.remove(ip);
|
|
}
|
|
|
|
public void clearIPs()
|
|
{
|
|
ips.clear();
|
|
}
|
|
|
|
public void setCustomLoginMessage(String newLoginMessage)
|
|
{
|
|
this.loginMessage = newLoginMessage;
|
|
}
|
|
|
|
public Date getLastLogin()
|
|
{
|
|
return lastLogin;
|
|
}
|
|
|
|
public String getCustomLoginMessage()
|
|
{
|
|
return loginMessage;
|
|
}
|
|
|
|
public boolean isSeniorAdmin()
|
|
{
|
|
return isSeniorAdmin;
|
|
}
|
|
|
|
public boolean isTelnetAdmin()
|
|
{
|
|
return isTelnetAdmin;
|
|
}
|
|
|
|
public List<String> getConsoleAliases()
|
|
{
|
|
return Collections.unmodifiableList(consoleAliases);
|
|
}
|
|
|
|
public void setLastLogin(Date lastLogin)
|
|
{
|
|
this.lastLogin = lastLogin;
|
|
}
|
|
|
|
public boolean isActivated()
|
|
{
|
|
return isActivated;
|
|
}
|
|
|
|
public void setActivated(boolean isActivated)
|
|
{
|
|
this.isActivated = isActivated;
|
|
}
|
|
}
|