diff --git a/src/main/java/com/cnaude/purpleirc/PurpleIRC.java b/src/main/java/com/cnaude/purpleirc/PurpleIRC.java index 6202489..da7cb9c 100644 --- a/src/main/java/com/cnaude/purpleirc/PurpleIRC.java +++ b/src/main/java/com/cnaude/purpleirc/PurpleIRC.java @@ -114,6 +114,7 @@ public class PurpleIRC extends JavaPlugin { private File configFile; public static long startTime; public boolean identServerEnabled; + private boolean autoSave; private final CaseInsensitiveMap> messageTmpl; private final CaseInsensitiveMap> ircHeroChannelMessages; private final CaseInsensitiveMap> ircHeroActionChannelMessages; @@ -349,7 +350,9 @@ public class PurpleIRC extends JavaPlugin { for (PurpleBot ircBot : ircBots.values()) { commandQueue.cancel(); ircBot.stopTailers(); - ircBot.saveConfig(getServer().getConsoleSender()); + if (autoSave) { + ircBot.saveConfig(getServer().getConsoleSender()); + } ircBot.quit(); } ircBots.clear(); @@ -382,7 +385,7 @@ public class PurpleIRC extends JavaPlugin { /** * Return the current debug mode status - * + * * @return */ public boolean debugMode() { @@ -584,6 +587,7 @@ public class PurpleIRC extends JavaPlugin { } catch (IOException | InvalidConfigurationException ex) { logError(ex.getMessage()); } + autoSave = getConfig().getBoolean("save-on-shutdown", false); overrideMsgCmd = getConfig().getBoolean("override-msg-cmd", false); smsgAlias = getConfig().getString("smsg-alias", "/m"); smsgReplyAlias = getConfig().getString("smsg-reply-alias", "/r"); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index aa65c95..6a2a499 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,5 +1,7 @@ # Global configuration for PurpleIRC # NOTE: If you make changes to this file while the server is running use "/irc reloadconfig" to load the changes into memory. +# Automatically save configurations on shutdown or reload +save-on-shutdown: false # Check for updates update-checker: true # Update checker mode: stable or dev