mirror of
https://github.com/TheDeus-Group/TFM-4.3-Reloaded.git
synced 2024-05-15 15:31:17 +00:00
153 lines
4.2 KiB
Java
153 lines
4.2 KiB
Java
package me.StevenLawson.TotalFreedomMod.admin;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
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;
|
|
|
|
public class Admin {
|
|
|
|
private final UUID uuid;
|
|
private final boolean isSeniorAdmin;
|
|
private final boolean isTelnetAdmin;
|
|
private final List<String> consoleAliases;
|
|
private final List<String> ips;
|
|
private String lastLoginName;
|
|
private String loginMessage;
|
|
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 String getLastLoginName() {
|
|
return lastLoginName;
|
|
}
|
|
|
|
public void setLastLoginName(String lastLoginName) {
|
|
this.lastLoginName = 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 Date getLastLogin() {
|
|
return lastLogin;
|
|
}
|
|
|
|
public void setLastLogin(Date lastLogin) {
|
|
this.lastLogin = lastLogin;
|
|
}
|
|
|
|
public String getCustomLoginMessage() {
|
|
return loginMessage;
|
|
}
|
|
|
|
public void setCustomLoginMessage(String newLoginMessage) {
|
|
this.loginMessage = newLoginMessage;
|
|
}
|
|
|
|
public boolean isSeniorAdmin() {
|
|
return isSeniorAdmin;
|
|
}
|
|
|
|
public boolean isTelnetAdmin() {
|
|
return isTelnetAdmin;
|
|
}
|
|
|
|
public List<String> getConsoleAliases() {
|
|
return Collections.unmodifiableList(consoleAliases);
|
|
}
|
|
|
|
public boolean isActivated() {
|
|
return isActivated;
|
|
}
|
|
|
|
public void setActivated(boolean isActivated) {
|
|
this.isActivated = isActivated;
|
|
}
|
|
}
|