diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java index 37244293..d9894c38 100644 --- a/src/main/java/org/bukkit/plugin/Plugin.java +++ b/src/main/java/org/bukkit/plugin/Plugin.java @@ -58,6 +58,11 @@ public interface Plugin extends CommandExecutor { * Saves the {@link FileConfiguration} retrievable by {@link #getConfig()}. */ public void saveConfig(); + + /** + * Discards any data in {@link #getConfig()} and reloads from disk. + */ + public void reloadConfig(); /** * Gets the associated PluginLoader responsible for this plugin diff --git a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java index f9966ac5..53d9a5a9 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java @@ -120,18 +120,22 @@ public abstract class JavaPlugin implements Plugin { public FileConfiguration getConfig() { if (newConfig == null) { - newConfig = YamlConfiguration.loadConfiguration(configFile); - - InputStream defConfigStream = getResource("config.yml"); - if (defConfigStream != null) { - YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream); - - newConfig.setDefaults(defConfig); - } + reloadConfig(); } 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() { try { newConfig.save(configFile);