diff --git a/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java b/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java index 1a952c93a..720780c69 100644 --- a/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java +++ b/src/main/java/fr/xephi/authme/cache/backup/JsonCache.java @@ -5,6 +5,7 @@ import com.google.gson.*; import fr.xephi.authme.AuthMe; import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.Utils; +import fr.xephi.authme.settings.Settings; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -28,7 +29,7 @@ public class JsonCache { public JsonCache(AuthMe plugin) { this.plugin = plugin; - cacheDir = new File(plugin.getDataFolder(), "cache"); + cacheDir = Settings.CACHE_FOLDER; if (!cacheDir.exists() && !cacheDir.isDirectory() && !cacheDir.mkdir()) { ConsoleLogger.showError("Failed to create cache directory."); } diff --git a/src/main/java/fr/xephi/authme/commands/AdminCommand.java b/src/main/java/fr/xephi/authme/commands/AdminCommand.java index 3b4cee253..6852564d8 100644 --- a/src/main/java/fr/xephi/authme/commands/AdminCommand.java +++ b/src/main/java/fr/xephi/authme/commands/AdminCommand.java @@ -517,11 +517,7 @@ public class AdminCommand implements CommandExecutor { if (Settings.applyBlindEffect) target.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, Settings.getRegistrationTimeout * 20, 2)); m.send(target, "unregistered"); - } else { - // Player isn't online, do nothing else } - } else { - // Player does not exist, do nothing else } m.send(sender, "unregistered"); ConsoleLogger.info(args[1] + " unregistered"); diff --git a/src/main/java/fr/xephi/authme/settings/Messages.java b/src/main/java/fr/xephi/authme/settings/Messages.java index 7f3f04c31..4ddb95198 100644 --- a/src/main/java/fr/xephi/authme/settings/Messages.java +++ b/src/main/java/fr/xephi/authme/settings/Messages.java @@ -104,13 +104,13 @@ public class Messages extends CustomConfiguration { public static Messages getInstance() { if (singleton == null) { - singleton = new Messages(new File(Settings.MESSAGE_DIR, "messages_" + Settings.messagesLanguage + ".yml"), Settings.messagesLanguage); + singleton = new Messages(Settings.messageFile, Settings.messagesLanguage); } return singleton; } public void reloadMessages() { - singleton = new Messages(new File(Settings.MESSAGE_DIR, "messages_" + Settings.messagesLanguage + ".yml"), Settings.messagesLanguage); + singleton = new Messages(Settings.messageFile, Settings.messagesLanguage); } } diff --git a/src/main/java/fr/xephi/authme/settings/Settings.java b/src/main/java/fr/xephi/authme/settings/Settings.java index e7d34b994..5b1a6b980 100644 --- a/src/main/java/fr/xephi/authme/settings/Settings.java +++ b/src/main/java/fr/xephi/authme/settings/Settings.java @@ -5,7 +5,6 @@ import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource.DataSourceType; import fr.xephi.authme.security.HashAlgorithm; -import org.bukkit.configuration.MemoryConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import java.io.*; @@ -15,14 +14,16 @@ import java.util.List; public final class Settings extends YamlConfiguration { + private AuthMe plugin; + // This is not an option! public static Boolean antiBotInAction = false; - public static final File PLUGIN_FOLDER = AuthMe.getInstance().getDataFolder(); - public static final File CACHE_FOLDER = new File(PLUGIN_FOLDER, "cache"); - public static final File AUTH_FILE = new File(PLUGIN_FOLDER, "auths.db"); - public static final File MESSAGE_DIR = new File(PLUGIN_FOLDER, "messages"); - public static final File SETTINGS_FILE = new File(PLUGIN_FOLDER, "config.yml"); + public static final File PLUGIN_FOLDER; + public static final File CACHE_FOLDER; + public static final File AUTH_FILE; + public static final File SETTINGS_FILE; + public static File messageFile; public static List allowCommands = null; public static List getJoinPermissions = null; public static List getUnrestrictedName = null; @@ -35,7 +36,6 @@ public final class Settings extends YamlConfiguration { public static List forceCommandsAsConsole = null; public static List forceRegisterCommands = null; public static List forceRegisterCommandsAsConsole = null; - private AuthMe plugin; public static DataSourceType getDataSource; public static HashAlgorithm getPasswordHash; public static Boolean useLogging = false; @@ -71,7 +71,7 @@ public final class Settings extends YamlConfiguration { getMySQLTablename, getMySQLColumnName, getMySQLColumnPassword, getMySQLColumnIp, getMySQLColumnLastLogin, getMySQLColumnSalt, getMySQLColumnGroup, getMySQLColumnEmail, unRegisteredGroup, - backupWindowsPath, getcUnrestrictedName, getRegisteredGroup, + backupWindowsPath, getRegisteredGroup, messagesLanguage, getMySQLlastlocX, getMySQLlastlocY, getMySQLlastlocZ, rakamakUsers, rakamakUsersIp, getmailAccount, getmailPassword, getmailSMTP, getMySQLColumnId, getmailSenderName, @@ -91,17 +91,23 @@ public final class Settings extends YamlConfiguration { protected static YamlConfiguration configFile; + static { + PLUGIN_FOLDER = AuthMe.getInstance().getDataFolder(); + CACHE_FOLDER = new File(PLUGIN_FOLDER, "cache"); + AUTH_FILE = new File(PLUGIN_FOLDER, "auths.db"); + SETTINGS_FILE = new File(PLUGIN_FOLDER, "config.yml"); + } + public Settings(AuthMe plugin) { configFile = (YamlConfiguration) plugin.getConfig(); this.plugin = plugin; boolean exist = exists(); - if (exist) { - load(); - } else { + if (!exist) { plugin.saveDefaultConfig(); - load(); } + load(); loadConfigOptions(exist); + messageFile = new File(PLUGIN_FOLDER, "messages" + File.separator + "messages_" + messagesLanguage + ".yml"); } public void loadConfigOptions(boolean exist) { @@ -277,133 +283,127 @@ public final class Settings extends YamlConfiguration { } - public static void reloadConfigOptions(YamlConfiguration newConfig) { - configFile = newConfig; - - loadVariables(); - } - public void mergeConfig() { - boolean changes = false; + int changes = 0; if (contains("Xenoforo.predefinedSalt")) set("Xenoforo.predefinedSalt", null); if (configFile.getString("settings.security.passwordHash", "SHA256").toUpperCase().equals("XFSHA1") || configFile.getString("settings.security.passwordHash", "SHA256").toUpperCase().equals("XFSHA256")) set("settings.security.passwordHash", "XENFORO"); if (!contains("Protection.enableProtection")) { set("Protection.enableProtection", false); - changes = true; + changes++; } if (!contains("Protection.countries")) { - countries = new ArrayList(); + countries = new ArrayList<>(); countries.add("US"); countries.add("GB"); set("Protection.countries", countries); - changes = true; + changes++; } if (!contains("Protection.enableAntiBot")) { set("Protection.enableAntiBot", false); - changes = true; + changes++; } if (!contains("Protection.antiBotSensibility")) { set("Protection.antiBotSensibility", 5); - changes = true; + changes++; } if (!contains("Protection.antiBotDuration")) { set("Protection.antiBotDuration", 10); - changes = true; + changes++; } if (!contains("settings.forceCommands")) { set("settings.forceCommands", new ArrayList()); - changes = true; + changes++; } if (!contains("settings.forceCommandsAsConsole")) { set("settings.forceCommandsAsConsole", new ArrayList()); - changes = true; + changes++; } if (!contains("Email.recallPlayers")) { set("Email.recallPlayers", false); - changes = true; + changes++; } if (!contains("Email.delayRecall")) { set("Email.delayRecall", 5); - changes = true; + changes++; } if (!contains("settings.useWelcomeMessage")) { set("settings.useWelcomeMessage", true); - changes = true; + changes++; } if (!contains("settings.security.unsafePasswords")) { - List str = new ArrayList(); + List str = new ArrayList<>(); str.add("123456"); str.add("password"); set("settings.security.unsafePasswords", str); - changes = true; + changes++; } if (!contains("Protection.countriesBlacklist")) { - countriesBlacklist = new ArrayList(); + countriesBlacklist = new ArrayList<>(); countriesBlacklist.add("A1"); set("Protection.countriesBlacklist", countriesBlacklist); - changes = true; + changes++; } if (!contains("settings.broadcastWelcomeMessage")) { set("settings.broadcastWelcomeMessage", false); - changes = true; + changes++; } if (!contains("settings.registration.forceKickAfterRegister")) { set("settings.registration.forceKickAfterRegister", false); - changes = true; + changes++; } if (!contains("settings.registration.forceLoginAfterRegister")) { set("settings.registration.forceLoginAfterRegister", false); - changes = true; + changes++; } if (!contains("DataSource.mySQLColumnLogged")) { set("DataSource.mySQLColumnLogged", "isLogged"); - changes = true; + changes++; } if (!contains("settings.restrictions.spawnPriority")) { set("settings.restrictions.spawnPriority", "authme,essentials,multiverse,default"); - changes = true; + changes++; } if (!contains("settings.restrictions.maxLoginPerIp")) { set("settings.restrictions.maxLoginPerIp", 0); - changes = true; + changes++; } if (!contains("settings.restrictions.maxJoinPerIp")) { set("settings.restrictions.maxJoinPerIp", 0); - changes = true; + changes++; } if (!contains("VeryGames.enableIpCheck")) { set("VeryGames.enableIpCheck", false); - changes = true; + changes++; } if (getString("settings.restrictions.allowedNicknameCharacters").equals("[a-zA-Z0-9_?]*")) set("settings.restrictions.allowedNicknameCharacters", "[a-zA-Z0-9_]*"); if (!contains("settings.delayJoinMessage")) { set("settings.delayJoinMessage", false); - changes = true; + changes++; } if (!contains("settings.restrictions.noTeleport")) { set("settings.restrictions.noTeleport", false); - changes = true; + changes++; } if (contains("Converter.Rakamak.newPasswordHash")) set("Converter.Rakamak.newPasswordHash", null); if (!contains("Converter.CrazyLogin.fileName")) { set("Converter.CrazyLogin.fileName", "accounts.db"); - changes = true; + changes++; } if (!contains("settings.restrictions.allowedPasswordCharacters")) { set("settings.restrictions.allowedPasswordCharacters", "[\\x21-\\x7E]*"); - changes = true; + changes++; } if (!contains("settings.applyBlindEffect")) { set("settings.applyBlindEffect", false); - changes = true; + changes++; } if (!contains("Email.emailBlacklisted")) { set("Email.emailBlacklisted", new ArrayList()); - changes = true; + changes++; } if (contains("Performances.useMultiThreading")) set("Performances.useMultiThreading", null); @@ -419,23 +419,23 @@ public final class Settings extends YamlConfiguration { if (!contains("Email.emailWhitelisted")) { set("Email.emailWhitelisted", new ArrayList()); - changes = true; + changes++; } if (!contains("settings.forceRegisterCommands")) { set("settings.forceRegisterCommands", new ArrayList()); - changes = true; + changes++; } if (!contains("settings.forceRegisterCommandsAsConsole")) { set("settings.forceRegisterCommandsAsConsole", new ArrayList()); - changes = true; + changes++; } if (!contains("Hooks.customAttributes")) { set("Hooks.customAttributes", false); - changes = true; + changes++; } if (!contains("Purge.removePermissions")) { set("Purge.removePermissions", false); - changes = true; + changes++; } if (contains("Hooks.notifications")) set("Hooks.notifications", null); @@ -447,19 +447,17 @@ public final class Settings extends YamlConfiguration { set("Hooks.legacyChestshop", useChestShop); if (!contains("Email.generateImage")) { set("Email.generateImage", true); - changes = true; + changes++; } if (!contains("DataSource.mySQLRealName")) { set("DataSource.mySQLRealName", "realname"); - changes = true; + changes++; } - if (changes) { - plugin.getLogger().warning("Merge new Config Options - I'm not an error, please don't report me"); + if (changes > 0) { + plugin.getLogger().warning("Merge " + changes + " new Config Options - I'm not an error, please don't report me"); plugin.getLogger().warning("Please check your config.yml file for new configs!"); } - - return; } public void setValue(String key, Object value) { @@ -506,7 +504,6 @@ public final class Settings extends YamlConfiguration { if (testip.equalsIgnoreCase(ip)) { trueonce = true; } - ; } } if (!namefound) { @@ -576,24 +573,8 @@ public final class Settings extends YamlConfiguration { return success; } - /** - * Clears current configuration defaults - */ - public final void clearDefaults() { - setDefaults(new MemoryConfiguration()); - } - - /** - * Check loaded defaults against current configuration - * - * @return false When all defaults aren't present in config - */ - public boolean checkDefaults() { - return getDefaults() == null || getKeys(true).containsAll(getDefaults().getKeys(true)); - } - public static String checkLang(String lang) { - if (new File(MESSAGE_DIR, "messages_" + lang + ".yml").exists()) { + if (new File(PLUGIN_FOLDER, "messages" + File.separator + "messages_" + lang + ".yml").exists()) { ConsoleLogger.info("Set Language to: " + lang); return lang; } @@ -636,13 +617,11 @@ public final class Settings extends YamlConfiguration { try { FileReader fr = new FileReader(plugin.getDataFolder() + File.separator + "welcome.txt"); BufferedReader br = new BufferedReader(fr); - String line = ""; + String line; while ((line = br.readLine()) != null) { welcomeMsg.add(line); } br.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }