Backup & replace the repair config files that have been updated.

This commit is contained in:
GJ 2013-10-07 13:04:36 -04:00
parent 8632baed27
commit d5545de81f
2 changed files with 18 additions and 4 deletions

View File

@ -11,7 +11,7 @@ import com.gmail.nossr50.mcMMO;
public abstract class ConfigLoader { public abstract class ConfigLoader {
protected static final mcMMO plugin = mcMMO.p; protected static final mcMMO plugin = mcMMO.p;
protected String fileName; protected String fileName;
private File configFile; protected File configFile;
protected FileConfiguration config; protected FileConfiguration config;
public ConfigLoader(String relativePath, String fileName) { public ConfigLoader(String relativePath, String fileName) {

View File

@ -1,5 +1,6 @@
package com.gmail.nossr50.skills.repair.config; package com.gmail.nossr50.skills.repair.config;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -33,9 +34,7 @@ public class RepairConfig extends ConfigLoader {
for (String key : keys) { for (String key : keys) {
if (config.contains("Repairables." + key + ".ItemId")) { if (config.contains("Repairables." + key + ".ItemId")) {
plugin.getLogger().warning("You are using an old version of the " + fileName + " file."); backup();
plugin.getLogger().warning("You should delete your current file and allow a new one to generate.");
plugin.getLogger().warning("Repair will not work properly until you do.");
return; return;
} }
@ -162,4 +161,19 @@ public class RepairConfig extends ConfigLoader {
return issues.isEmpty(); return issues.isEmpty();
} }
private void backup() {
plugin.getLogger().warning("You are using an old version of the " + fileName + " file.");
plugin.getLogger().warning("Your old file has been renamed to " + fileName + ".old and has been replaced by an updated version.");
configFile.renameTo(new File(configFile.getPath() + ".old"));
if (plugin.getResource(fileName) != null) {
plugin.saveResource(fileName, true);
}
plugin.getLogger().warning("Reloading " + fileName + " with new values...");
loadFile();
loadKeys();
}
} }