2013-09-26 12:21:26 +00:00
|
|
|
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;
|
2013-09-26 12:21:26 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
private BT_Config()
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
configEntries = new SimpleConfigEntries();
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2014-03-18 15:26:48 +00:00
|
|
|
public void loadConfig()
|
2013-09-26 12:21:26 +00:00
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
if (config == null)
|
2013-09-26 12:21:26 +00:00
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
config = new YamlConfig(BukkitTelnet.plugin, "config.yml", true);
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
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"))
|
2013-09-26 12:21:26 +00:00
|
|
|
{
|
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));
|
|
|
|
}
|
2013-12-16 21:50:33 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2014-03-18 15:26:48 +00:00
|
|
|
if (configEntries.getPassword().equals(""))
|
2013-12-16 21:50:33 +00:00
|
|
|
{
|
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());
|
2013-12-16 21:50:33 +00:00
|
|
|
}
|
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +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
|
2013-09-26 12:21:26 +00:00
|
|
|
{
|
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
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
private SimpleConfigEntries()
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
admins = new HashMap<String, List<String>>();
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
public int getPort()
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
return port;
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2014-03-18 15:26:48 +00:00
|
|
|
public void setPort(int port)
|
2013-09-26 12:21:26 +00:00
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
this.port = port;
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
public String getAddress()
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
return address;
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
public void setAddress(String address)
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
this.address = address;
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
public String getPassword()
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
return password;
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
public void setPassword(String password)
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
this.password = password;
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
public Map<String, List<String>> getAdmins()
|
|
|
|
{
|
2014-03-18 15:26:48 +00:00
|
|
|
return admins;
|
2013-09-26 12:21:26 +00:00
|
|
|
}
|
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
public static BT_Config getInstance()
|
|
|
|
{
|
|
|
|
return BT_ConfigHolder.INSTANCE;
|
|
|
|
}
|
2014-03-18 15:29:55 +00:00
|
|
|
|
2013-09-26 12:21:26 +00:00
|
|
|
private static class BT_ConfigHolder
|
|
|
|
{
|
|
|
|
private static final BT_Config INSTANCE = new BT_Config();
|
|
|
|
}
|
|
|
|
}
|