Added reloadConfig() plugin method

By: Nathan Adams <dinnerbone@dinnerbone.com>
This commit is contained in:
Bukkit/Spigot 2011-10-11 15:50:59 +01:00
parent 71d1bb3e2d
commit b94e100930
2 changed files with 17 additions and 8 deletions

View File

@ -58,6 +58,11 @@ public interface Plugin extends CommandExecutor {
* Saves the {@link FileConfiguration} retrievable by {@link #getConfig()}. * Saves the {@link FileConfiguration} retrievable by {@link #getConfig()}.
*/ */
public void saveConfig(); public void saveConfig();
/**
* Discards any data in {@link #getConfig()} and reloads from disk.
*/
public void reloadConfig();
/** /**
* Gets the associated PluginLoader responsible for this plugin * Gets the associated PluginLoader responsible for this plugin

View File

@ -120,18 +120,22 @@ public abstract class JavaPlugin implements Plugin {
public FileConfiguration getConfig() { public FileConfiguration getConfig() {
if (newConfig == null) { if (newConfig == null) {
newConfig = YamlConfiguration.loadConfiguration(configFile); reloadConfig();
InputStream defConfigStream = getResource("config.yml");
if (defConfigStream != null) {
YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
newConfig.setDefaults(defConfig);
}
} }
return newConfig; return newConfig;
} }
public void reloadConfig() {
newConfig = YamlConfiguration.loadConfiguration(configFile);
InputStream defConfigStream = getResource("config.yml");
if (defConfigStream != null) {
YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
newConfig.setDefaults(defConfig);
}
}
public void saveConfig() { public void saveConfig() {
try { try {
newConfig.save(configFile); newConfig.save(configFile);