forked from Upstream/CitizensCMD
Better messages system. Code clean up.
This commit is contained in:
parent
b6a166739b
commit
0a346e9a6d
2
pom.xml
2
pom.xml
@ -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>
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
*
|
||||
|
@ -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
|
||||
*/
|
@ -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!"
|
||||
|
@ -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)]"
|
@ -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)]"
|
Loading…
Reference in New Issue
Block a user