diff --git a/pom.xml b/pom.xml index 0f65c93..f136282 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 2.10.2 da407c0059 1.0.0 - 636229e + c3166ac diff --git a/src/main/java/me/mattstudios/citizenscmd/CitizensCMD.java b/src/main/java/me/mattstudios/citizenscmd/CitizensCMD.java index 69519eb..2a3aa14 100644 --- a/src/main/java/me/mattstudios/citizenscmd/CitizensCMD.java +++ b/src/main/java/me/mattstudios/citizenscmd/CitizensCMD.java @@ -41,7 +41,7 @@ import me.mattstudios.citizenscmd.schedulers.CooldownScheduler; import me.mattstudios.citizenscmd.schedulers.UpdateScheduler; import me.mattstudios.citizenscmd.updater.SpigotUpdater; import me.mattstudios.citizenscmd.utility.DisplayFormat; -import me.mattstudios.citizenscmd.utility.Util; +import me.mattstudios.citizenscmd.utility.paths.Path; import net.milkbowl.vault.economy.Economy; import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; @@ -53,27 +53,25 @@ import java.util.HashMap; import java.util.Objects; import java.util.stream.Stream; +import static me.mattstudios.citizenscmd.utility.Util.TAG; +import static me.mattstudios.citizenscmd.utility.Util.disablePlugin; +import static me.mattstudios.citizenscmd.utility.Util.upCheck; import static me.mattstudios.utils.MessageUtils.color; import static me.mattstudios.utils.MessageUtils.info; import static me.mattstudios.utils.YamlUtils.copyDefaults; public final class CitizensCMD extends JavaPlugin { - /** - * Supported languages - */ - private final String[] REGISTERED_LANG_FILES = {"en", "pt", "ro", "bg", "no", "ch"}; - - private LangHandler lang = null; - private DataHandler dataHandler = null; - private CooldownHandler cooldownHandler = null; - private PermissionsManager permissionsManager = null; + private LangHandler lang; + private DataHandler dataHandler; + private CooldownHandler cooldownHandler; + private PermissionsManager permissionsManager ; private static CitizensCMDAPI api; - private static Economy economy = null; + private static Economy economy; private boolean papi = false; - private CommandHandler commandHandler = null; + private CommandHandler commandHandler; private boolean updateStatus = false; private boolean shift = false; @@ -88,8 +86,10 @@ public final class CitizensCMD extends JavaPlugin { saveDefaultConfig(); copyDefaults(getClassLoader().getResourceAsStream("config.yml"), new File(getDataFolder().getPath(), "config.yml")); + setLang(Objects.requireNonNull(getConfig().getString("lang"))); + if (!hasCitizens() && getConfig().getBoolean("citizens-check")) { - Util.disablePlugin(this); + disablePlugin(this); return; } @@ -98,7 +98,7 @@ public final class CitizensCMD extends JavaPlugin { new Metrics(this); - info(color(Util.TAG + "&3Citizens&cCMD &8&o" + getDescription().getVersion() + " &8By &3Mateus Moreira &c@LichtHund")); + info(color(TAG + "&3Citizens&cCMD &8&o" + getDescription().getVersion() + " &8By &3Mateus Moreira &c@LichtHund")); permissionsManager = new PermissionsManager(this); @@ -111,54 +111,13 @@ public final class CitizensCMD extends JavaPlugin { registerCommands(); registerEvents(); - registerLangs(this); - setLang(Objects.requireNonNull(getConfig().getString("lang"))); - if (hasPAPI()) { - switch (lang.getLanguage()) { - case "en": - info(color(Util.TAG + "&7Using &aPlaceholderAPI&7!")); - break; - case "pt": - info(color(Util.TAG + "&7Usando &aPlaceholderAPI&7!")); - break; - case "ro": - info(color(Util.TAG + "&7Folositi &aPlaceholderAPI&7!")); - break; - case "bg": - info(color(Util.TAG + "&7Използвайки &aPlaceholderAPI&7!")); - break; - case "no": - info(color(Util.TAG + "&7Bruk &aPlaceholderAPI&7!")); - break; - case "ch": - info(color(Util.TAG + "&7运用 &aPlaceholderAPI&7!")); - break; - } + info(color(TAG + lang.getMessage(Path.PAPI_AVAILABLE))); papi = true; } if (setupEconomy()) { - switch (lang.getLanguage()) { - case "en": - info(color(Util.TAG + "&7Using &aVault&7!")); - break; - case "pt": - info(color(Util.TAG + "&7Usando &aVault&7!")); - break; - case "ro": - info(color(Util.TAG + "&7Folositi &aVault&7!")); - break; - case "bg": - info(color(Util.TAG + "&7Използвайки &aVault&7!")); - break; - case "no": - info(color(Util.TAG + "&7Bruk &aVault&7!")); - break; - case "ch": - info(color(Util.TAG + "&7运用 &aVault&7!")); - break; - } + info(color(TAG + lang.getUncoloredMessage(Path.VAULT_AVAILABLE))); } waitingList = new HashMap<>(); @@ -174,37 +133,19 @@ public final class CitizensCMD extends JavaPlugin { default: displayFormat = DisplayFormat.MEDIUM; } - } else + } else { displayFormat = DisplayFormat.MEDIUM; + } - if (Util.upCheck(this)) { + if (upCheck(this)) { SpigotUpdater updater = new SpigotUpdater(this, 30224); try { // If there's an update, tell the user that they can update if (updater.checkForUpdates()) { updateStatus = true; newVersion = updater.getLatestVersion(); - switch (lang.getLanguage()) { - case "en": - info(color(Util.TAG + "&cA new version of CitizensCMD is now available:")); - break; - case "pt": - info(color(Util.TAG + "&cA nova versão de CitizensCMD está disponivel:")); - break; - case "ro": - info(color(Util.TAG + "&cO noua versiune a CitizensCMD este acum valabila:")); - break; - case "bg": - info(color(Util.TAG + "&cНалична е нова версия на CitizensCMD:")); - break; - case "no": - info(color(Util.TAG + "&cEn ny versjon av CitizensCMD er nå tilgjengelig:")); - break; - case "ch": - info(color(Util.TAG + "&cCitizensCMD的新版本现已推出:")); - break; - } - info(color(Util.TAG + "&b&o" + updater.getResourceURL())); + + info(color(TAG + "&b&o" + updater.getResourceURL())); } } catch (Exception e) { // If it can't check for an update, tell the user and throw an error. @@ -291,61 +232,11 @@ public final class CitizensCMD extends JavaPlugin { return economy != null; } - /** - * Creates all the language files - */ - private void registerLangs(CitizensCMD plugin) { - File langFile; - - for (String registeredLangFile : REGISTERED_LANG_FILES) { - langFile = new File(plugin.getDataFolder(), "lang/" + registeredLangFile + ".yml"); - - if (!langFile.exists()) - plugin.saveResource("lang/" + registeredLangFile + ".yml", false); - } - - } - /** * Sets the language that is supposed to be used */ public void setLang(String language) { - switch (language.toLowerCase()) { - case "pt": - case "port": - case "portuguese": - lang = new LangHandler(this, "pt"); - break; - - case "ro": - case "roma": - case "romanian": - lang = new LangHandler(this, "ro"); - break; - - case "bg": - case "bulg": - case "bulgarian": - lang = new LangHandler(this, "bg"); - break; - - case "no": - case "norw": - case "norwegian": - lang = new LangHandler(this, "no"); - break; - - case "ch": - case "chi": - case "chinese": - lang = new LangHandler(this, "ch"); - break; - - default: - lang = new LangHandler(this, "en"); - break; - } - lang.initialize(); + lang = new LangHandler(this, language); } /** diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDAdd.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDAdd.java index 75ed7b5..05f12e6 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDAdd.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDAdd.java @@ -20,7 +20,7 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.entity.Player; import java.util.Arrays; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDCooldown.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDCooldown.java index 002053b..48f101b 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDCooldown.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDCooldown.java @@ -20,7 +20,7 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.entity.Player; import static me.mattstudios.citizenscmd.utility.Util.HEADER; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDEdit.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDEdit.java index e9db873..5e8d6af 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDEdit.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDEdit.java @@ -20,8 +20,8 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.utility.EnumTypes; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.entity.Player; import java.util.Arrays; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDHelp.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDHelp.java index a3391a7..1113056 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDHelp.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDHelp.java @@ -20,7 +20,7 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import me.rayzr522.jsonmessage.JSONMessage; import org.bukkit.entity.Player; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDList.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDList.java index bf7e65b..a91f27e 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDList.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDList.java @@ -20,8 +20,8 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.utility.EnumTypes; +import me.mattstudios.citizenscmd.utility.paths.Path; import me.rayzr522.jsonmessage.JSONMessage; import org.bukkit.entity.Player; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDPermission.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDPermission.java index eb73233..96c6b8c 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDPermission.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDPermission.java @@ -20,7 +20,7 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.entity.Player; import static me.mattstudios.citizenscmd.utility.Util.HEADER; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDPrice.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDPrice.java index 6c300f8..7f8c109 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDPrice.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDPrice.java @@ -20,7 +20,7 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.entity.Player; import static me.mattstudios.citizenscmd.utility.Util.HEADER; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDReload.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDReload.java index 581ae9a..eff8384 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDReload.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDReload.java @@ -20,8 +20,8 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.utility.DisplayFormat; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/CMDRemove.java b/src/main/java/me/mattstudios/citizenscmd/commands/CMDRemove.java index f2e3ff5..664d396 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/CMDRemove.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/CMDRemove.java @@ -20,8 +20,8 @@ package me.mattstudios.citizenscmd.commands; import me.mattstudios.citizenscmd.CitizensCMD; import me.mattstudios.citizenscmd.commands.base.CommandBase; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.utility.EnumTypes; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.entity.Player; import static me.mattstudios.citizenscmd.utility.Util.HEADER; diff --git a/src/main/java/me/mattstudios/citizenscmd/commands/base/CommandHandler.java b/src/main/java/me/mattstudios/citizenscmd/commands/base/CommandHandler.java index b8a83fb..ea92d6c 100644 --- a/src/main/java/me/mattstudios/citizenscmd/commands/base/CommandHandler.java +++ b/src/main/java/me/mattstudios/citizenscmd/commands/base/CommandHandler.java @@ -19,8 +19,8 @@ package me.mattstudios.citizenscmd.commands.base; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.utility.IHandler; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -66,21 +66,21 @@ public class CommandHandler implements CommandExecutor, TabCompleter, IHandler { } @Override - public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { + public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] aguments) { if (!cmd.getName().equalsIgnoreCase("npcmd")) { return true; } - if (args.length == 0 || args[0].isEmpty()) { + if (aguments.length == 0 || aguments[0].isEmpty()) { if (sender.hasPermission("citizenscmd.npcmd") && sender instanceof Player) { - getCommand().execute((Player) sender, args); + getCommand().execute((Player) sender, aguments); } return true; } for (CommandBase command : commands) { - if (!command.getName().equalsIgnoreCase(args[0]) && !command.getAliases() - .contains(args[0].toLowerCase())) { + if (!command.getName().equalsIgnoreCase(aguments[0]) && !command.getAliases() + .contains(aguments[0].toLowerCase())) { continue; } @@ -96,11 +96,11 @@ public class CommandHandler implements CommandExecutor, TabCompleter, IHandler { return true; } - args = Arrays.copyOfRange(args, 1, args.length); + aguments = Arrays.copyOfRange(aguments, 1, aguments.length); - if ((command.getMinimumArguments() != -1 && command.getMinimumArguments() > args.length) + if ((command.getMinimumArguments() != -1 && command.getMinimumArguments() > aguments.length) || (command.getMaximumArguments() != -1 - && command.getMaximumArguments() < args.length)) { + && command.getMaximumArguments() < aguments.length)) { sender.sendMessage(color(HEADER)); sender.sendMessage(plugin.getLang().getMessage(Path.WRONG_USAGE)); return true; @@ -108,12 +108,12 @@ public class CommandHandler implements CommandExecutor, TabCompleter, IHandler { if (command.allowConsole()) { if (sender instanceof Player) - command.execute((Player) sender, args); + command.execute((Player) sender, aguments); else - command.execute(sender, args); + command.execute(sender, aguments); return true; } else { - command.execute((Player) sender, args); + command.execute((Player) sender, aguments); return true; } } diff --git a/src/main/java/me/mattstudios/citizenscmd/files/DataHandler.java b/src/main/java/me/mattstudios/citizenscmd/files/DataHandler.java index b9928c5..1ab01f1 100644 --- a/src/main/java/me/mattstudios/citizenscmd/files/DataHandler.java +++ b/src/main/java/me/mattstudios/citizenscmd/files/DataHandler.java @@ -19,9 +19,9 @@ package me.mattstudios.citizenscmd.files; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.utility.EnumTypes; import me.mattstudios.citizenscmd.utility.Util; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; diff --git a/src/main/java/me/mattstudios/citizenscmd/files/LangHandler.java b/src/main/java/me/mattstudios/citizenscmd/files/LangHandler.java index af43eba..5694227 100644 --- a/src/main/java/me/mattstudios/citizenscmd/files/LangHandler.java +++ b/src/main/java/me/mattstudios/citizenscmd/files/LangHandler.java @@ -19,20 +19,20 @@ package me.mattstudios.citizenscmd.files; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; -import me.mattstudios.citizenscmd.utility.Util; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.util.HashMap; import java.util.Objects; import static me.mattstudios.utils.MessageUtils.color; -import static me.mattstudios.utils.MessageUtils.info; +import static me.mattstudios.utils.YamlUtils.copyPathDefaults; +@SuppressWarnings("ResultOfMethodCallIgnored") public class LangHandler { private CitizensCMD plugin; @@ -43,35 +43,6 @@ public class LangHandler { public LangHandler(CitizensCMD plugin, String lang) { this.plugin = plugin; this.lang = lang; - } - - /** - * Send message to the console saying this is the language selected - */ - public void initialize() { - switch (lang) { - case "en": - info(color(Util.TAG + "&7Using &aEnglish &7messages!")); - break; - - case "pt": - info(color(Util.TAG + "&7Usando mensagens em Portugues!")); - break; - - case "ro": - info(color(Util.TAG + "&7Folositi mesajele in Limba &aRomana&7!")); - break; - - case "bg": - info(color(Util.TAG + "&7Използване на &aбългарски &7език!")); - break; - case "no": - info(color(Util.TAG + "&aNorsk &7Oversettelse!")); - break; - case "ch": - info(color(Util.TAG + "&7使用&a中文&7消息!")); - break; - } messages = new HashMap<>(); cacheMessage(); @@ -81,218 +52,38 @@ public class LangHandler { * Caches all messages into a HashMap for easier access */ private void cacheMessage() { - new Thread(() -> { - File langFile; - FileConfiguration langConf; + try { + File langFile = new File(plugin.getDataFolder(), "lang/" + lang + ".yml"); + FileConfiguration langConf = new YamlConfiguration(); - try { - langFile = new File(plugin.getDataFolder(), "lang/" + lang + ".yml"); - langConf = new YamlConfiguration(); + InputStream langStream = CitizensCMD.class.getClassLoader().getResourceAsStream("lang/" + lang + ".yml"); - if (!langFile.exists()) plugin.saveResource("lang/" + lang + ".yml", false); - - langConf.load(langFile); - - if (!langConf.contains(Path.MESSAGE_DISPLAY)) - langConf.set(Path.MESSAGE_DISPLAY, "{name}:&r"); - - if (!langConf.contains(Path.HELP_DESCRIPTION_SOUND)) { - switch (lang) { - case "en": - langConf.set(Path.HELP_DESCRIPTION_SOUND, "&7Adds a sound to an NPC."); - break; - - case "pt": - langConf.set(Path.HELP_DESCRIPTION_SOUND, "&7Adiciona um som a um NPC."); - break; - - case "ro": - langConf.set(Path.HELP_DESCRIPTION_SOUND, "&7Adaugă un sunet unui NPC."); - break; - - case "bg": - langConf.set(Path.HELP_DESCRIPTION_SOUND, "&7Добавя звук към NPC."); - break; - - case "no": - langConf.set(Path.HELP_DESCRIPTION_SOUND, "&7Legger til en lyd til en NPC."); - break; - - case "ch": - langConf.set(Path.HELP_DESCRIPTION_SOUND, "&7向NPC添加声音."); - break; - } + if (!langFile.exists()) { + if (langStream == null) { + langFile.createNewFile(); + copyPathDefaults(CitizensCMD.class.getClassLoader().getResourceAsStream("lang/en.yml"), langFile, "messages"); + } else { + plugin.saveResource("lang/" + lang + ".yml", false); } - - if (!langConf.contains(Path.NPC_ADD_DELAY_FAIL)) { - switch (lang) { - case "en": - langConf.set(Path.NPC_ADD_DELAY_FAIL, "&cWhen adding &d-d &cthe delay must be a number!"); - break; - - case "pt": - langConf.set(Path.NPC_ADD_DELAY_FAIL, "&cAo adicionar &d-d &co atraso deve ser um número!"); - break; - - case "ro": - langConf.set(Path.NPC_ADD_DELAY_FAIL, "&cCând adăugați &d-d &cdelay-ul trebuie să fie un număr!"); - break; - - case "bg": - langConf.set(Path.NPC_ADD_DELAY_FAIL, "&cПри добавяне &d-d &cзакъснението трябва да бъде число!"); - break; - - case "no": - langConf.set(Path.NPC_ADD_DELAY_FAIL, "&cNår du legger til &d-d &cforsinkelsen må være et tall!"); - break; - - case "ch": - langConf.set(Path.NPC_ADD_DELAY_FAIL, "&c添加&d-d&c时延迟必须是数字!"); - break; - - case "fr": - langConf.set(Path.NPC_ADD_DELAY_FAIL, "&cLors de l'ajout de &d-d &cle délai doit être un nombre!"); - break; - } + } else { + if (langStream == null) { + copyPathDefaults(CitizensCMD.class.getClassLoader().getResourceAsStream("lang/en.yml"), langFile, "messages"); + } else { + copyPathDefaults(langStream, langFile, "messages"); } - - if (!langConf.contains(Path.LIST_COUNT_RIGHT)) { - switch (lang) { - case "en": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- Right click commands:"); - break; - - case "pt": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- Comandos de clique direito:"); - break; - - case "ro": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- Comenzile cu click dreapta:"); - break; - - case "bg": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- Команди с Десен Клик:"); - break; - - case "no": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- Høyre klikk:"); - break; - - case "ch": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- 右鍵指令:"); - break; - - case "fr": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- Commandes de clic droit:"); - break; - } - } - - if (!langConf.contains(Path.LIST_COUNT_LEFT)) { - switch (lang) { - case "en": - langConf.set(Path.LIST_COUNT_LEFT, "&c&o{count} &7&o- left click commands:"); - break; - - case "pt": - langConf.set(Path.LIST_COUNT_LEFT, "&c&o{count} &7&o- Comandos de clique esquerdo:"); - break; - - case "ro": - langConf.set(Path.LIST_COUNT_LEFT, "&c&o{count} &7&o- Comenzile cu click stanga:"); - break; - - case "bg": - langConf.set(Path.LIST_COUNT_LEFT, "&c&o{count} &7&o- Команди с Ляв Клик:"); - break; - - case "no": - langConf.set(Path.LIST_COUNT_LEFT, "&c&o{count} &7&o- Venstre klikk:"); - break; - - case "ch": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- 左鍵指令:"); - break; - - case "fr": - langConf.set(Path.LIST_COUNT_RIGHT, "&c&o{count} &7&o- Commandes de clic gauche:"); - break; - } - } - - if (!langConf.contains(Path.PERMISSION_SET)) { - switch (lang) { - case "en": - langConf.set(Path.PERMISSION_SET, "&aPermission set successfully!"); - break; - - case "pt": - langConf.set(Path.PERMISSION_SET, "&aPermissão definida com sucesso!"); - break; - - case "ro": - langConf.set(Path.PERMISSION_SET, "&aPermisiunea este setată cu succes!"); - break; - - case "bg": - langConf.set(Path.PERMISSION_SET, "&aРазрешението е успешно!"); - break; - - case "no": - langConf.set(Path.PERMISSION_SET, "&aTillatelse vellykket!"); - break; - - case "ch": - langConf.set(Path.PERMISSION_SET, "&a权限设置成功!"); - break; - - case "fr": - langConf.set(Path.PERMISSION_SET, "&aPermission définie avec succès!"); - break; - } - } - - if (!langConf.contains(Path.PERMISSION_REMOVED)) { - switch (lang) { - case "en": - langConf.set(Path.PERMISSION_REMOVED, "&aPermission removed successfully!"); - break; - - case "pt": - langConf.set(Path.PERMISSION_REMOVED, "&aPermissão removida com sucesso!"); - break; - - case "ro": - langConf.set(Path.PERMISSION_REMOVED, "&aPermisiunea a fost eliminată cu succes!"); - break; - - case "bg": - langConf.set(Path.PERMISSION_REMOVED, "&aРазрешението бе премахнато успешно!"); - break; - - case "no": - langConf.set(Path.PERMISSION_REMOVED, "&aTillatelse fjernet vellykket!"); - break; - - case "ch": - langConf.set(Path.PERMISSION_REMOVED, "&a权限已成功删除!"); - break; - - case "fr": - langConf.set(Path.PERMISSION_REMOVED, "&aPermission supprimée avec succès!"); - break; - } - } - - for (String parent : Objects.requireNonNull(langConf.getConfigurationSection("messages")).getKeys(false)) { - for (String child : Objects.requireNonNull(langConf.getConfigurationSection("messages." + parent)).getKeys(false)) - messages.put("messages." + parent + "." + child, langConf.getString("messages." + parent + "." + child)); - } - - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); } - }).start(); + + langConf.load(langFile); + + for (String parent : Objects.requireNonNull(langConf.getConfigurationSection("messages")).getKeys(false)) { + for (String child : Objects.requireNonNull(langConf.getConfigurationSection("messages." + parent)).getKeys(false)) { + messages.put("messages." + parent + "." + child, langConf.getString("messages." + parent + "." + child)); + } + } + + } catch (IOException | InvalidConfigurationException e) { + e.printStackTrace(); + } } /** diff --git a/src/main/java/me/mattstudios/citizenscmd/listeners/NPCClickListener.java b/src/main/java/me/mattstudios/citizenscmd/listeners/NPCClickListener.java index 04d9798..079e178 100644 --- a/src/main/java/me/mattstudios/citizenscmd/listeners/NPCClickListener.java +++ b/src/main/java/me/mattstudios/citizenscmd/listeners/NPCClickListener.java @@ -19,11 +19,11 @@ package me.mattstudios.citizenscmd.listeners; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.schedulers.ConfirmScheduler; import me.mattstudios.citizenscmd.utility.EnumTypes; import me.mattstudios.citizenscmd.utility.TimeUtil; import me.mattstudios.citizenscmd.utility.Util; +import me.mattstudios.citizenscmd.utility.paths.Path; import net.citizensnpcs.api.event.NPCLeftClickEvent; import net.citizensnpcs.api.event.NPCRemoveEvent; import net.citizensnpcs.api.event.NPCRightClickEvent; diff --git a/src/main/java/me/mattstudios/citizenscmd/listeners/UpdateEvent.java b/src/main/java/me/mattstudios/citizenscmd/listeners/UpdateEvent.java index 8e54cfc..680dd52 100644 --- a/src/main/java/me/mattstudios/citizenscmd/listeners/UpdateEvent.java +++ b/src/main/java/me/mattstudios/citizenscmd/listeners/UpdateEvent.java @@ -19,8 +19,8 @@ package me.mattstudios.citizenscmd.listeners; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; import me.mattstudios.citizenscmd.utility.Util; +import me.mattstudios.citizenscmd.utility.paths.Path; import me.rayzr522.jsonmessage.JSONMessage; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; diff --git a/src/main/java/me/mattstudios/citizenscmd/schedulers/ConfirmScheduler.java b/src/main/java/me/mattstudios/citizenscmd/schedulers/ConfirmScheduler.java index a348ccd..ba26a79 100644 --- a/src/main/java/me/mattstudios/citizenscmd/schedulers/ConfirmScheduler.java +++ b/src/main/java/me/mattstudios/citizenscmd/schedulers/ConfirmScheduler.java @@ -19,7 +19,7 @@ package me.mattstudios.citizenscmd.schedulers; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; diff --git a/src/main/java/me/mattstudios/citizenscmd/utility/TimeUtil.java b/src/main/java/me/mattstudios/citizenscmd/utility/TimeUtil.java index 4852fe1..3121bfa 100644 --- a/src/main/java/me/mattstudios/citizenscmd/utility/TimeUtil.java +++ b/src/main/java/me/mattstudios/citizenscmd/utility/TimeUtil.java @@ -25,7 +25,7 @@ package me.mattstudios.citizenscmd.utility; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; diff --git a/src/main/java/me/mattstudios/citizenscmd/utility/Util.java b/src/main/java/me/mattstudios/citizenscmd/utility/Util.java index 2383ebd..71e7e71 100644 --- a/src/main/java/me/mattstudios/citizenscmd/utility/Util.java +++ b/src/main/java/me/mattstudios/citizenscmd/utility/Util.java @@ -20,20 +20,16 @@ package me.mattstudios.citizenscmd.utility; import me.clip.placeholderapi.PlaceholderAPI; import me.mattstudios.citizenscmd.CitizensCMD; -import me.mattstudios.citizenscmd.paths.Path; +import me.mattstudios.citizenscmd.utility.paths.Path; import net.citizensnpcs.api.CitizensAPI; import net.citizensnpcs.api.npc.NPC; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -167,52 +163,6 @@ public class Util { return TimeUnit.SECONDS.convert((System.currentTimeMillis() - storedTime), TimeUnit.MILLISECONDS); } - /** - * Checks for old config and renames it - */ - @SuppressWarnings("ResultOfMethodCallIgnored") - public static void checkOldConfig(CitizensCMD plugin) { - File configFile; - File configFileNew; - FileConfiguration configConf; - - boolean isNew = true; - - boolean[] contains = new boolean[5]; - for (int i = 0; i < contains.length; i++) { - contains[i] = false; - } - - try { - configFile = new File(plugin.getDataFolder(), "config.yml"); - configFileNew = new File(plugin.getDataFolder(), "config_old.yml"); - configConf = new YamlConfiguration(); - - if (configFile.exists()) { - configConf.load(configFile); - - if (configConf.contains("check-updates")) contains[0] = true; - if (configConf.contains("lang")) contains[1] = true; - if (configConf.contains("default-cooldown")) contains[2] = true; - if (configConf.contains("shift-confirm")) contains[3] = true; - if (configConf.contains("cooldown-time-display")) contains[4] = true; - } - - for (boolean bool : contains) { - if (!bool) { - isNew = false; - } - } - - if (!isNew) { - configFile.renameTo(configFileNew); - } - - } catch (IOException | InvalidConfigurationException e) { - e.printStackTrace(); - } - } - /** * Disables the plugin if Citizens is not present. * diff --git a/src/main/java/me/mattstudios/citizenscmd/paths/Path.java b/src/main/java/me/mattstudios/citizenscmd/utility/paths/Path.java similarity index 91% rename from src/main/java/me/mattstudios/citizenscmd/paths/Path.java rename to src/main/java/me/mattstudios/citizenscmd/utility/paths/Path.java index bac0cee..f440201 100644 --- a/src/main/java/me/mattstudios/citizenscmd/paths/Path.java +++ b/src/main/java/me/mattstudios/citizenscmd/utility/paths/Path.java @@ -16,10 +16,20 @@ along with this program. If not, see . */ -package me.mattstudios.citizenscmd.paths; +package me.mattstudios.citizenscmd.utility.paths; public class Path { + /** + * START UP + */ + private static final String MAIN_PATH_STARTUP = "messages.start-up."; + + public static final String USING_LANGUAGE = MAIN_PATH_STARTUP + "using-language"; + public static final String STARTUP_NEW_VERSION = MAIN_PATH_STARTUP + "new-version"; + public static final String PAPI_AVAILABLE = MAIN_PATH_STARTUP + "papi-available"; + public static final String VAULT_AVAILABLE = MAIN_PATH_STARTUP + "vault-available"; + /** * COMMANDS */ diff --git a/src/main/resources/lang/en.yml b/src/main/resources/lang/en.yml index ada0e85..2cf4c2d 100644 --- a/src/main/resources/lang/en.yml +++ b/src/main/resources/lang/en.yml @@ -7,6 +7,11 @@ # Some placeholders can be removed but might not work correctly # Cooldown placeholder is safe to be deleted messages: + start-up: + using-language: "&7Using &aEnglish &7messages!" + new-version: "&cA new version of CitizensCMD is now available:" + papi-available: "&7Using &aPlaceholderAPI&7!" + vault-available: "&7Using &aVault&7!" commands: npc-add-command-added: "&aYou have successfully added a command to the NPC!" npc-add-command-failed: "&cFailed to add command to the NPC!" diff --git a/src/main/resources/lang/no.yml b/src/main/resources/lang/no.yml index 72349d6..b5a3b4e 100644 --- a/src/main/resources/lang/no.yml +++ b/src/main/resources/lang/no.yml @@ -64,4 +64,4 @@ messages: seconds: "[s], [sek], [sekund(er)]" minutes: "[m], [min], [minutt(er)]" hours: "[h], [time(r)], [time(r)]" - days: "[d], [dag(er)], [dag(er)]" + days: "[d], [dag(er)], [dag(er)]" \ No newline at end of file diff --git a/src/main/resources/lang/pt.yml b/src/main/resources/lang/pt.yml index f1efb08..bc84684 100644 --- a/src/main/resources/lang/pt.yml +++ b/src/main/resources/lang/pt.yml @@ -64,5 +64,4 @@ messages: seconds: "[s], [seg(s)], [secondo(s)]" minutes: "[m], [min(s)], [minuto(s)]" hours: "[h], [hora(s)], [hora(s)]" - days: "[d], [dia(s)], [dia(s)]" - + days: "[d], [dia(s)], [dia(s)]" \ No newline at end of file