diff --git a/src/main/java/com/massivecraft/factions/FactionsPlugin.java b/src/main/java/com/massivecraft/factions/FactionsPlugin.java index 38a2fb67..52e5757f 100755 --- a/src/main/java/com/massivecraft/factions/FactionsPlugin.java +++ b/src/main/java/com/massivecraft/factions/FactionsPlugin.java @@ -185,17 +185,19 @@ public class FactionsPlugin extends MPlugin { // Load Conf from disk Conf.load(); //Dependency checks - if (Conf.dependencyCheck && (Bukkit.getPluginManager().isPluginEnabled("Vault") && Bukkit.getPluginManager().isPluginEnabled("Essentials"))) { - RegisteredServiceProvider rsp = FactionsPlugin.this.getServer().getServicesManager().getRegistration(Economy.class); - FactionsPlugin.econ = rsp.getProvider(); - } else if (Conf.dependencyCheck) { + if (Conf.dependencyCheck && (!Bukkit.getPluginManager().isPluginEnabled("Vault") && !Bukkit.getPluginManager().isPluginEnabled("Essentials"))) { divider(); System.out.println("You are missing dependencies!"); System.out.println("Please verify EssentialsX and Vault are installed!"); + Conf.save(); Bukkit.getPluginManager().disablePlugin(instance); divider(); return; } + //Update their config if needed + Updater.updateIfNeeded(getConfig()); + RegisteredServiceProvider rsp = FactionsPlugin.this.getServer().getServicesManager().getRegistration(Economy.class); + FactionsPlugin.econ = rsp.getProvider(); com.massivecraft.factions.integration.Essentials.setup(); hookedPlayervaults = setupPlayervaults(); FPlayers.getInstance().load(); diff --git a/src/main/java/com/massivecraft/factions/util/Updater.java b/src/main/java/com/massivecraft/factions/util/Updater.java new file mode 100644 index 00000000..f1fc065c --- /dev/null +++ b/src/main/java/com/massivecraft/factions/util/Updater.java @@ -0,0 +1,26 @@ +package com.massivecraft.factions.util; + +import com.massivecraft.factions.FactionsPlugin; +import org.bukkit.configuration.file.FileConfiguration; + +import java.io.File; +import java.io.IOException; + +public class Updater { + public static double currentVersion = 1.0; + public static void updateIfNeeded(FileConfiguration conf) { + double version = conf.getDouble("Config-Version", 0); + //Previous version + if (version == 0) { + //Instructions for this configuration to be updated to current + FactionsPlugin.getInstance().log("Your config.yml is pre-versioning so we are going to assign it version 1.0 \n Please regenerate your config.yml if you run into any errors relating to config."); + conf.set("Config-Version", 1.0); + version = 1.0; + } + //End with save + reload + try { + conf.save(new File("plugins/Factions/config.yml")); + FactionsPlugin.getInstance().reloadConfig(); + } catch (IOException e) {e.printStackTrace();} + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 2f50344d..3c7a2f2e 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,3 +1,4 @@ +Config-Version: 1.0 # SaberFactions by Driftay # Report issues: https://github.com/Driftay/Saber-Factions/issues/new # Live support: https://discord.gg/TFxWKeX