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