Better messages system. Code clean up.

This commit is contained in:
Mateus 2019-07-25 13:19:24 +01:00
parent b6a166739b
commit 0a346e9a6d
23 changed files with 98 additions and 452 deletions

View File

@ -19,7 +19,7 @@
<papi.version>2.10.2</papi.version>
<vault.version>da407c0059</vault.version>
<jsonmsg.version>1.0.0</jsonmsg.version>
<utils.version>636229e</utils.version>
<utils.version>c3166ac</utils.version>
</properties>
<build>

View File

@ -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);
}
/**

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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();
}
}
/**

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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.
*

View File

@ -16,10 +16,20 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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
*/

View File

@ -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!"

View File

@ -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)]"

View File

@ -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)]"