BukkitTelnet/src/me/StevenLawson/BukkitTelnet/BT_Config.java

117 lines
2.7 KiB
Java
Raw Normal View History

package me.StevenLawson.BukkitTelnet;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
2014-03-18 15:26:48 +00:00
import net.pravian.bukkitlib.YamlConfig;
public class BT_Config
{
2014-03-18 15:26:48 +00:00
private YamlConfig config = null;
private final SimpleConfigEntries configEntries;
2014-03-18 15:29:55 +00:00
private BT_Config()
{
2014-03-18 15:26:48 +00:00
configEntries = new SimpleConfigEntries();
}
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
public void loadConfig()
{
2014-03-18 15:26:48 +00:00
if (config == null)
{
2014-03-18 15:26:48 +00:00
config = new YamlConfig(BukkitTelnet.plugin, "config.yml", true);
}
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
config.load();
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
configEntries.setAddress(config.getString("address"));
configEntries.setPort(config.getInt("port"));
configEntries.setPassword(config.getString("password"));
configEntries.getAdmins().clear();
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
if (config.isConfigurationSection("admins"))
{
2014-03-18 15:26:48 +00:00
for (String admin : config.getConfigurationSection("admins").getKeys(false))
{
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
if (!config.isList("admins." + admin))
{
continue;
}
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
configEntries.getAdmins().put(admin, config.getStringList("admins." + admin));
}
}
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
if (configEntries.getPassword().equals(""))
{
2014-03-18 15:26:48 +00:00
configEntries.setPassword(config.getDefaultConfig().getString("password"));
BT_Log.warning("Password set to blank in config!");
BT_Log.warning("Defaulting to " + configEntries.getPassword());
}
}
2014-03-18 15:29:55 +00:00
public SimpleConfigEntries getConfigEntries()
{
return configEntries;
}
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
public static final class SimpleConfigEntries
{
2014-03-18 15:26:48 +00:00
private int port;
private String address;
private String password;
private final Map<String, List<String>> admins;
2014-03-18 15:29:55 +00:00
private SimpleConfigEntries()
{
2014-03-18 15:26:48 +00:00
admins = new HashMap<String, List<String>>();
}
2014-03-18 15:29:55 +00:00
public int getPort()
{
2014-03-18 15:26:48 +00:00
return port;
}
2014-03-18 15:29:55 +00:00
2014-03-18 15:26:48 +00:00
public void setPort(int port)
{
2014-03-18 15:26:48 +00:00
this.port = port;
}
2014-03-18 15:29:55 +00:00
public String getAddress()
{
2014-03-18 15:26:48 +00:00
return address;
}
2014-03-18 15:29:55 +00:00
public void setAddress(String address)
{
2014-03-18 15:26:48 +00:00
this.address = address;
}
2014-03-18 15:29:55 +00:00
public String getPassword()
{
2014-03-18 15:26:48 +00:00
return password;
}
2014-03-18 15:29:55 +00:00
public void setPassword(String password)
{
2014-03-18 15:26:48 +00:00
this.password = password;
}
2014-03-18 15:29:55 +00:00
public Map<String, List<String>> getAdmins()
{
2014-03-18 15:26:48 +00:00
return admins;
}
}
2014-03-18 15:29:55 +00:00
public static BT_Config getInstance()
{
return BT_ConfigHolder.INSTANCE;
}
2014-03-18 15:29:55 +00:00
private static class BT_ConfigHolder
{
private static final BT_Config INSTANCE = new BT_Config();
}
}