diff --git a/pom.xml b/pom.xml
index efe56aa..ce154d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
dev.padrewin
coldtracker
- 1.2.1
+ 1.3
jar
ColdTracker
diff --git a/src/main/java/dev/padrewin/coldtracker/commands/Commander.java b/src/main/java/dev/padrewin/coldtracker/commands/Commander.java
index b2257a8..5beb5f4 100644
--- a/src/main/java/dev/padrewin/coldtracker/commands/Commander.java
+++ b/src/main/java/dev/padrewin/coldtracker/commands/Commander.java
@@ -26,6 +26,7 @@ public Commander(ColdTracker plugin) {
this.registerCommand(new DumpCommand());
this.registerCommand(new ExportCommand());
this.registerCommand(new ShowVotesCommand());
+ this.registerCommand(new StatsCommand());
}
diff --git a/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java b/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java
new file mode 100644
index 0000000..708b6da
--- /dev/null
+++ b/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java
@@ -0,0 +1,128 @@
+package dev.padrewin.coldtracker.commands;
+
+import dev.padrewin.coldtracker.ColdTracker;
+import dev.padrewin.coldtracker.manager.CommandManager;
+import dev.padrewin.coldtracker.manager.LocaleManager;
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.UUID;
+
+public class StatsCommand extends BaseCommand {
+
+ public StatsCommand() {
+ super("stats", CommandManager.CommandAliases.STATS);
+ }
+
+ @Override
+ public void execute(@NotNull ColdTracker plugin, @NotNull CommandSender sender, @NotNull String[] args) {
+ LocaleManager localeManager = plugin.getManager(LocaleManager.class);
+ String prefix = localeManager.getLocaleMessage("prefix");
+
+ // Dacă comanda vine din consolă fără argumente
+ if (!(sender instanceof Player) && args.length == 0) {
+ sender.sendMessage(prefix + localeManager.getLocaleMessage("command-stats-console-no-self"));
+ return;
+ }
+
+ // Dacă comanda vine de la un jucător și nu are argumente
+ if (args.length == 0 && sender instanceof Player) {
+ Player player = (Player) sender;
+ showStats(plugin, localeManager, sender, player.getUniqueId(), player.getName());
+ return;
+ }
+
+ // Dacă există argumente, verificăm permisiunile
+ if (args.length == 1) {
+ if (!(sender instanceof Player) || sender.hasPermission("coldtracker.stats.others")) {
+ String targetName = args[0];
+ OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(targetName);
+
+ if (!targetPlayer.hasPlayedBefore()) {
+ sender.sendMessage(prefix + localeManager.getLocaleMessage("player-not-found").replace("{player}", targetName));
+ return;
+ }
+
+ UUID targetUUID = targetPlayer.getUniqueId();
+
+ // Verificăm permisiunile folosind LuckPerms
+ plugin.getLuckPerms().getUserManager().loadUser(targetUUID).thenAcceptAsync(user -> {
+ if (user == null) {
+ sender.sendMessage(prefix + localeManager.getLocaleMessage("player-not-found").replace("{player}", targetName));
+ return;
+ }
+
+ boolean trackTime = user.getCachedData().getPermissionData().checkPermission("coldtracker.tracktime").asBoolean();
+ boolean trackVotes = user.getCachedData().getPermissionData().checkPermission("coldtracker.trackvote").asBoolean();
+
+ if (!trackTime && !trackVotes) {
+ sender.sendMessage(prefix + localeManager.getLocaleMessage("no-staff-member").replace("{player}", targetName));
+ return;
+ }
+
+ showStats(plugin, localeManager, sender, targetUUID, targetName);
+ });
+ } else {
+ sender.sendMessage(prefix + localeManager.getLocaleMessage("no-permission"));
+ }
+ } else {
+ sender.sendMessage(prefix + localeManager.getLocaleMessage("invalid-command-usage"));
+ }
+ }
+
+
+ private void showStats(ColdTracker plugin, LocaleManager localeManager, CommandSender sender, UUID playerUUID, String playerName) {
+ String prefix = localeManager.getLocaleMessage("prefix");
+ long totalTime = plugin.getDatabaseManager().getTotalTime(playerUUID);
+ long hours = (totalTime / 1000) / 3600;
+ long minutes = ((totalTime / 1000) % 3600) / 60;
+ long seconds = (totalTime / 1000) % 60;
+ long days = hours / 24;
+ hours = hours % 24;
+ String timeFormatted = String.format("%dd %dh %dm %ds", days, hours, minutes, seconds);
+
+ StringBuilder statsMessage = new StringBuilder();
+
+ boolean trackVotes = plugin.getConfig().getBoolean("track-votes", false);
+ int totalVotes = trackVotes ? plugin.getDatabaseManager().getTotalVotes(playerUUID) : 0;
+
+ // Dacă targetul este senderul
+ if (sender instanceof Player && ((Player) sender).getUniqueId().equals(playerUUID)) {
+ String playtimeMessage = localeManager.getLocaleMessage("command-stats-playtime").replace("{time}", timeFormatted);
+ // Eliminăm punctul doar dacă voturile sunt trackate
+ if (trackVotes) {
+ playtimeMessage = playtimeMessage.endsWith(".") ? playtimeMessage.substring(0, playtimeMessage.length() - 1) : playtimeMessage;
+ }
+ statsMessage.append(prefix).append(playtimeMessage);
+ } else {
+ String playtimeMessage = localeManager.getLocaleMessage("showtime-message").replace("{player}", playerName).replace("{time}", timeFormatted);
+ // Eliminăm punctul doar dacă voturile sunt trackate
+ if (trackVotes) {
+ playtimeMessage = playtimeMessage.endsWith(".") ? playtimeMessage.substring(0, playtimeMessage.length() - 1) : playtimeMessage;
+ }
+ statsMessage.append(prefix).append(playtimeMessage);
+ }
+
+ // Adăugăm voturile doar dacă sunt trackate
+ if (trackVotes) {
+ statsMessage.append(" ").append(localeManager.getLocaleMessage("command-stats-votes").replace("{votes}", String.valueOf(totalVotes)));
+ }
+
+ sender.sendMessage(statsMessage.toString());
+ }
+
+
+
+ @Override
+ public List tabComplete(@NotNull ColdTracker plugin, @NotNull CommandSender sender, @NotNull String[] args) {
+ if (args.length == 1 && sender.hasPermission("coldtracker.stats.others")) {
+ return null;
+ }
+ return Collections.emptyList();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java b/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java
index 6eff1b1..823d3f7 100644
--- a/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java
+++ b/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java
@@ -23,6 +23,7 @@ public List get() {
},
SHOWTIME,
SHOWVOTES,
+ STATS,
RELOAD,
WIPE,
VERSION,
diff --git a/src/main/resources/locale/en_US.yml b/src/main/resources/locale/en_US.yml
index 3f16905..98bb9dd 100644
--- a/src/main/resources/locale/en_US.yml
+++ b/src/main/resources/locale/en_US.yml
@@ -23,6 +23,13 @@ showvotes-message: "&c{player} &7has a total of &c{votes}&7 votes."
command-showvotes-disabled: '&7Vote tracker &cdisabled&7. Please consult configuration file.'
command-votes-not-available: '&7Voting plugin not detected. Vote tracking is &cunavailable&7.'
+# Stats Command
+command-stats-description: '&8 - &c/coldtracker stats &7- View your personal stats'
+command-stats-player-only: '&cOnly players can use this command.'
+command-stats-console-no-self: '&7Console can''t have stats.'
+command-stats-playtime: '&7You have a total time of &c{time}&7.'
+command-stats-votes: '&7and &c{votes} votes&7.'
+
# Database message warnings
command-wipe-description: '&8 - &c/coldtracker wipe &7- Wipe current SQLite database'
command-wipe-usage: '&7Usage: &c/coldtracker wipe'
diff --git a/src/main/resources/locale/fr_FR.yml b/src/main/resources/locale/fr_FR.yml
index 3abdf23..9570752 100644
--- a/src/main/resources/locale/fr_FR.yml
+++ b/src/main/resources/locale/fr_FR.yml
@@ -8,26 +8,33 @@ command-help-title: '&cCommandes disponibles :'
# Misc
no-permission: '&cVous n''avez pas la permission de faire cela !'
unknown-command: '&cCommande inconnue &4%input%&c.'
-invalid-command-usage: '&cUtilisation de commande invalide.'
-player-not-found: '&7Le joueur n''a pas pu être trouvé : &c{player}&7.'
+invalid-command-usage: '&cUtilisation invalide de la commande.'
+player-not-found: '&7Joueur introuvable : &c{player}&7.'
# Showtime Command Message
command-showtime-description: '&8 - &c/coldtracker showtime &7- Affiche le temps total suivi du joueur'
-no-staff-member: '&7&c{player} &7n''est pas un membre du personnel.'
+no-staff-member: '&7&c{player} &7n''est pas un membre du staff.'
showtime-message: '&c{player} &7a joué pendant &c{time}&7.'
command-showtime-usage: '&7Utilisation : &c/coldtracker showtime '
# ShowVote Command Message
command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Affiche le total des votes suivis du joueur'
showvotes-message: "&c{player} &7a un total de &c{votes}&7 votes."
-command-showvotes-disabled: '&7Suivi des votes &cdésactivé&7. Veuillez consulter le fichier de configuration.'
-command-votes-not-available: '&7Aucun plugin de vote détecté. Le suivi des votes est &cindisponible&7.'
+command-showvotes-disabled: '&7Le suivi des votes est &cdésactivé&7. Consultez le fichier de configuration.'
+command-votes-not-available: '&7Plugin de vote non détecté. Le suivi des votes est &cindisponible&7.'
+
+# Stats Command
+command-stats-description: '&8 - &c/coldtracker stats &7- Voir vos statistiques personnelles'
+command-stats-player-only: '&cSeuls les joueurs peuvent utiliser cette commande.'
+command-stats-console-no-self: '&7La console ne peut pas avoir de statistiques.'
+command-stats-playtime: '&7Vous avez joué pendant un total de &c{time}&7.'
+command-stats-votes: '&7et &c{votes} votes&7.'
# Database message warnings
command-wipe-description: '&8 - &c/coldtracker wipe &7- Efface la base de données SQLite actuelle'
command-wipe-usage: '&7Utilisation : &c/coldtracker wipe'
-command-wipe-warning: '&eATTENTION : &cCette opération supprimera toutes les données de la base de données active. &cSi vous êtes absolument sûr, utilisez &a/coldtracker wipe confirm&c.'
-command-wipe-success: '&7Toutes les données de la base de données ont été effacées avec &asuccès&7.'
+command-wipe-warning: '&eATTENTION : &cCette opération effacera toutes les données de la base de données active. &cSi vous êtes absolument sûr, utilisez &a/coldtracker wipe confirm&c.'
+command-wipe-success: '&7Toutes les données de la base de données ont été effacées &avec succès&7.'
# Base Command Message
base-command-color: '&7'
@@ -36,21 +43,21 @@ base-command-help: '&7Utilisez &c/coldtracker help &7pour des informations sur l
# Reload Command
command-reload-description: '&8 - &c/coldtracker reload &7- Recharge le plugin'
command-reload-usage: '&7Utilisation : &c/coldtracker reload'
-command-reload-success: '&7Les fichiers de configuration et de langue ont été rechargés.'
+command-reload-success: '&7Les fichiers de configuration et de localisation ont été rechargés.'
# Dump Command
-command-dump-disabled: '&7Dépôt Gist &cdésactivé&7. Veuillez consulter le fichier de configuration.'
-command-dump-description: '&8 - &c/coldtracker dump &7- Exporte les données actuelles de la base de données vers Gist'
+command-dump-disabled: '&7Le dump Gist est &cdésactivé&7. Consultez le fichier de configuration.'
+command-dump-description: '&8 - &c/coldtracker dump &7- Déverse les données de la base de données actuelle dans un Gist'
command-dump-usage: '&7Utilisation : &c/coldtracker dump'
-command-dump-warning: '&eATTENTION : &cCette opération exportera les données de la base de données actuelle. Utilisez &a/coldtracker dump confirm&c pour continuer.'
-command-dump-success: '&7Exportation de la base de données &areussi&7 ! Lien : &a{link}'
+command-dump-warning: '&eATTENTION : &cCette opération déversera les données de la base de données actuelle. Utilisez &a/coldtracker dump confirm&c pour continuer.'
+command-dump-success: '&7Le dump de la base de données a été effectué &avec succès&7 ! Lien : &a{link}'
command-dump-fail: '&cÉchec de la génération du lien Gist. Consultez la console pour les erreurs.'
# Export Command
command-export-description: '&8 - &c/coldtracker export &7- Exporte les données vers plugins/ColdTracker'
-command-export-warning: '&eATTENTION : &cLe fichier d''export existe déjà. Utilisez &a/coldtracker export confirm &cpour écraser.'
-command-export-success: '&7Exportation &areussi&7. Les données ont été sauvegardées dans &aplugins/ColdTracker/{folder}&7.'
-command-export-fail: '&cÉchec de la sauvegarde dans export.yml. Consultez la console pour les erreurs.'
+command-export-warning: '&eATTENTION : &cLe fichier d''export existe déjà. Utilisez &a/coldtracker export confirm &cpour le remplacer.'
+command-export-success: '&7Export &areussi&7. Les données ont été sauvegardées dans &aplugins/ColdTracker/{folder}&7.'
+command-export-fail: '&cÉchec de la sauvegarde du fichier export.yml. Consultez la console pour les erreurs.'
# Version Command
-command-version-description: '&8 - &c/coldtracker version &7- Affiche les informations sur la version de ColdTracker'
+command-version-description: '&8 - &c/coldtracker version &7- Affiche la version de ColdTracker'
diff --git a/src/main/resources/locale/pt_PT.yml b/src/main/resources/locale/pt_PT.yml
index cbb214b..57f9468 100644
--- a/src/main/resources/locale/pt_PT.yml
+++ b/src/main/resources/locale/pt_PT.yml
@@ -12,45 +12,52 @@ invalid-command-usage: '&cUso inválido do comando.'
player-not-found: '&7Jogador não encontrado: &c{player}&7.'
# Showtime Command Message
-command-showtime-description: '&8 - &c/coldtracker showtime &7- Mostra o tempo total rastreado do jogador'
-no-staff-member: '&7&c{player} &7não é um membro da equipe.'
+command-showtime-description: '&8 - &c/coldtracker showtime &7- Mostra o tempo total registrado do jogador'
+no-staff-member: '&7&c{player} &7não é membro da equipe.'
showtime-message: '&c{player} &7jogou por &c{time}&7.'
command-showtime-usage: '&7Uso: &c/coldtracker showtime '
# ShowVote Command Message
-command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Mostra o total de votos rastreados do jogador'
+command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Mostra o total de votos registrados do jogador'
showvotes-message: "&c{player} &7tem um total de &c{votes}&7 votos."
-command-showvotes-disabled: '&7Rastreamento de votos &cdesativado&7. Consulte o arquivo de configuração.'
-command-votes-not-available: '&7Nenhum plugin de votação detectado. O rastreamento de votos está &cindisponível&7.'
+command-showvotes-disabled: '&7O rastreamento de votos está &cdesativado&7. Consulte o arquivo de configuração.'
+command-votes-not-available: '&7Plugin de votação não detectado. Rastreamento de votos está &cindisponível&7.'
+
+# Stats Command
+command-stats-description: '&8 - &c/coldtracker stats &7- Veja suas estatísticas pessoais'
+command-stats-player-only: '&cApenas jogadores podem usar este comando.'
+command-stats-console-no-self: '&7O console não pode ter estatísticas.'
+command-stats-playtime: '&7Você tem um tempo total de &c{time}&7.'
+command-stats-votes: '&7e &c{votes} votos&7.'
# Database message warnings
-command-wipe-description: '&8 - &c/coldtracker wipe &7- Limpa o banco de dados SQLite atual'
+command-wipe-description: '&8 - &c/coldtracker wipe &7- Apaga o banco de dados SQLite atual'
command-wipe-usage: '&7Uso: &c/coldtracker wipe'
-command-wipe-warning: '&eAVISO: &cEsta operação apagará todos os dados do banco de dados ativo. &cSe você tem certeza, use &a/coldtracker wipe confirm&c.'
-command-wipe-success: '&7Todos os dados do banco de dados foram apagados com &asucesso&7.'
+command-wipe-warning: '&eAVISO: &cEsta operação apagará todos os dados do banco de dados ativo. &cSe você tiver certeza absoluta, use &a/coldtracker wipe confirm&c.'
+command-wipe-success: '&7Todos os dados do banco de dados foram apagados &com sucesso&7.'
# Base Command Message
base-command-color: '&7'
-base-command-help: '&7Use &c/coldtracker help &7para informações sobre comandos.'
+base-command-help: '&7Use &c/coldtracker help &7para obter informações sobre os comandos.'
# Reload Command
command-reload-description: '&8 - &c/coldtracker reload &7- Recarrega o plugin'
command-reload-usage: '&7Uso: &c/coldtracker reload'
-command-reload-success: '&7Os arquivos de configuração e idioma foram recarregados.'
+command-reload-success: '&7Os arquivos de configuração e de localização foram recarregados.'
# Dump Command
-command-dump-disabled: '&7Geração de Gist &cdesativada&7. Consulte o arquivo de configuração.'
-command-dump-description: '&8 - &c/coldtracker dump &7- Exporta os dados do banco de dados atual para o Gist'
+command-dump-disabled: '&7O dump Gist está &cdesativado&7. Consulte o arquivo de configuração.'
+command-dump-description: '&8 - &c/coldtracker dump &7- Despeja os dados do banco de dados atual em um Gist'
command-dump-usage: '&7Uso: &c/coldtracker dump'
-command-dump-warning: '&eAVISO: &cEsta operação exportará os dados do banco de dados atual. Use &a/coldtracker dump confirm&c para continuar.'
-command-dump-success: '&7Exportação do banco de dados realizada com &asucesso&7! Link: &a{link}'
-command-dump-fail: '&cFalha ao gerar o link do Gist. Verifique o console para erros.'
+command-dump-warning: '&eAVISO: &cEsta operação despejará os dados do banco de dados atual. Use &a/coldtracker dump confirm&c para continuar.'
+command-dump-success: '&7Dump do banco de dados realizado &com sucesso&7! Link: &a{link}'
+command-dump-fail: '&cFalha ao gerar o link Gist. Verifique o console para erros.'
# Export Command
command-export-description: '&8 - &c/coldtracker export &7- Exporta os dados para plugins/ColdTracker'
-command-export-warning: '&eAVISO: &cO arquivo de exportação já existe. Use &a/coldtracker export confirm &cpara sobrescrever.'
-command-export-success: '&7Exportação realizada com &asucesso&7. Os dados foram salvos em &aplugins/ColdTracker/{folder}&7.'
-command-export-fail: '&cFalha ao salvar o arquivo export.yml. Verifique o console para erros.'
+command-export-warning: '&eAVISO: &cO arquivo de exportação já existe. Use &a/coldtracker export confirm &cpara substituí-lo.'
+command-export-success: '&7Exportação &completa&7. Os dados foram salvos em &aplugins/ColdTracker/{folder}&7.'
+command-export-fail: '&cFalha ao salvar export.yml. Verifique o console para erros.'
# Version Command
-command-version-description: '&8 - &c/coldtracker version &7- Mostra as informações da versão do ColdTracker'
+command-version-description: '&8 - &c/coldtracker version &7- Exibe a versão do ColdTracker'
diff --git a/src/main/resources/locale/ro_RO.yml b/src/main/resources/locale/ro_RO.yml
index d4fe929..80fdb92 100644
--- a/src/main/resources/locale/ro_RO.yml
+++ b/src/main/resources/locale/ro_RO.yml
@@ -2,55 +2,62 @@
prefix: '&8「ɻAA7CD72B7oϒBC7lB2A3D8dCCBCE8TE6D4F8rD8B8F8aC99CF7cBB80F7kAC64F6e E48F6r&8」&7» '
# Help Command
-command-help-description: '&8 - &c/coldtracker help &7- Afișează meniul de ajutor... Ai ajuns aici'
+command-help-description: '&8 - &c/coldtracker help &7- Afișează meniul de ajutor... Ai ajuns'
command-help-title: '&cComenzi disponibile:'
# Misc
no-permission: '&cNu ai permisiunea necesară pentru asta!'
unknown-command: '&cComandă necunoscută &4%input%&c.'
-invalid-command-usage: '&cUtilizare incorectă a comenzii.'
+invalid-command-usage: '&cUtilizare invalidă a comenzii.'
player-not-found: '&7Jucătorul nu a fost găsit: &c{player}&7.'
# Showtime Command Message
command-showtime-description: '&8 - &c/coldtracker showtime &7- Afișează timpul total înregistrat al jucătorului'
-no-staff-member: '&7&c{player} &7nu este un membru al echipei.'
+no-staff-member: '&7&c{player} &7nu este membru al echipei.'
showtime-message: '&c{player} &7a jucat timp de &c{time}&7.'
command-showtime-usage: '&7Utilizare: &c/coldtracker showtime '
# ShowVote Command Message
-command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Afișează numărul total de voturi al jucătorului'
+command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Afișează totalul de voturi înregistrate al jucătorului'
showvotes-message: "&c{player} &7are un total de &c{votes}&7 voturi."
-command-showvotes-disabled: '&7Monitorizarea voturilor este &cdezactivată&7. Consultați fișierul de configurare.'
-command-votes-not-available: '&7Plugin de voturi nedetectat. Monitorizarea voturilor este &cindisponibilă&7.'
+command-showvotes-disabled: '&7Funcția de urmărire a voturilor este &cdezactivată&7. Consultați fișierul de configurare.'
+command-votes-not-available: '&7Plugin-ul de vot nu a fost detectat. Urmărirea voturilor este &cindisponibilă&7.'
+
+# Stats Command
+command-stats-description: '&8 - &c/coldtracker stats &7- Vizualizează statisticile personale'
+command-stats-player-only: '&cDoar jucătorii pot utiliza această comandă.'
+command-stats-console-no-self: '&7Consola nu poate avea statistici.'
+command-stats-playtime: '&7Ai un timp total de &c{time}&7.'
+command-stats-votes: '&7și &c{votes} voturi&7.'
# Database message warnings
command-wipe-description: '&8 - &c/coldtracker wipe &7- Șterge baza de date SQLite actuală'
command-wipe-usage: '&7Utilizare: &c/coldtracker wipe'
command-wipe-warning: '&eATENȚIE: &cAceastă operațiune va șterge toate datele din baza de date activă. &cDacă ești absolut sigur, folosește &a/coldtracker wipe confirm&c.'
-command-wipe-success: '&7Toate datele din baza de date au fost șterse cu &asucces&7.'
+command-wipe-success: '&7Toate datele din baza de date au fost șterse &cu succes&7.'
# Base Command Message
base-command-color: '&7'
base-command-help: '&7Folosește &c/coldtracker help &7pentru informații despre comenzi.'
# Reload Command
-command-reload-description: '&8 - &c/coldtracker reload &7- Reîncarcă plugin-ul'
+command-reload-description: '&8 - &c/coldtracker reload &7- Reîncarcă pluginul'
command-reload-usage: '&7Utilizare: &c/coldtracker reload'
command-reload-success: '&7Fișierele de configurare și localizare au fost reîncărcate.'
# Dump Command
-command-dump-disabled: '&7Export Gist &cdezactivat&7. Consultați fișierul de configurare.'
-command-dump-description: '&8 - &c/coldtracker dump &7- Exportă datele curente din baza de date în Gist'
+command-dump-disabled: '&7Dump-ul Gist este &cdezactivat&7. Consultați fișierul de configurare.'
+command-dump-description: '&8 - &c/coldtracker dump &7- Descarcă datele din baza de date curentă într-un Gist'
command-dump-usage: '&7Utilizare: &c/coldtracker dump'
-command-dump-warning: '&eATENȚIE: &cAceastă operațiune va exporta datele din baza de date curentă. Folosește &a/coldtracker dump confirm&c pentru a continua.'
-command-dump-success: '&7Exportarea bazei de date a fost realizată cu &asucces&7! Link: &a{link}'
-command-dump-fail: '&cEroare la generarea link-ului Gist. Verifică consola pentru erori.'
+command-dump-warning: '&eATENȚIE: &cAceastă operațiune va descărca datele din baza de date curentă. Folosiți &a/coldtracker dump confirm&c pentru a continua.'
+command-dump-success: '&7Descărcarea bazei de date a fost realizată &cu succes&7! Link: &a{link}'
+command-dump-fail: '&cEroare la generarea link-ului Gist. Verificați consola pentru erori.'
# Export Command
command-export-description: '&8 - &c/coldtracker export &7- Exportă datele în plugins/ColdTracker'
-command-export-warning: '&eATENȚIE: &cFișierul de export există deja. Folosește &a/coldtracker export confirm &cpentru a suprascrie.'
-command-export-success: '&7Exportare realizată cu &asucces&7. Datele au fost salvate în &aplugins/ColdTracker/{folder}&7.'
-command-export-fail: '&cEroare la salvarea export.yml. Verifică consola pentru erori.'
+command-export-warning: '&eATENȚIE: &cFișierul de export există deja. Folosiți &a/coldtracker export confirm &cpentru a-l suprascrie.'
+command-export-success: '&7Export &realizat cu succes&7. Datele au fost salvate în &aplugins/ColdTracker/{folder}&7.'
+command-export-fail: '&cEroare la salvarea export.yml. Verificați consola pentru erori.'
# Version Command
-command-version-description: '&8 - &c/coldtracker version &7- Afișează informațiile despre versiunea ColdTracker'
+command-version-description: '&8 - &c/coldtracker version &7- Afișează versiunea ColdTracker'
diff --git a/src/main/resources/locale/zh_CN.yml b/src/main/resources/locale/zh_CN.yml
index 09ac999..241e8b0 100644
--- a/src/main/resources/locale/zh_CN.yml
+++ b/src/main/resources/locale/zh_CN.yml
@@ -2,55 +2,62 @@
prefix: '&8「ɻAA7CD72B7oϒBC7lB2A3D8dCCBCE8TE6D4F8rD8B8F8aC99CF7cBB80F7kAC64F6e E48F6r&8」&7» '
# Help Command
-command-help-description: '&8 - &c/coldtracker help &7- 显示帮助菜单... 您已到达'
-command-help-title: '&c可用命令:'
+command-help-description: '&8 - &c/coldtracker help &7- 显示帮助菜单... 你已经到达'
+command-help-title: '&c可用命令:'
# Misc
-no-permission: '&c您没有权限执行此操作!'
-unknown-command: '&c未知命令 &4%input%&c。'
-invalid-command-usage: '&c命令使用无效。'
-player-not-found: '&7找不到玩家:&c{player}&7。'
+no-permission: '&c你没有权限这样做!'
+unknown-command: '&c未知命令 &4%input%&c.'
+invalid-command-usage: '&c无效的命令用法。'
+player-not-found: '&7无法找到玩家: &c{player}&7。'
# Showtime Command Message
-command-showtime-description: '&8 - &c/coldtracker showtime &7- 显示玩家的总游戏时间'
-no-staff-member: '&7&c{player} &7不是工作人员成员。'
-showtime-message: '&c{player} &7已游戏 &c{time}&7。'
-command-showtime-usage: '&7用法:&c/coldtracker showtime '
+command-showtime-description: '&8 - &c/coldtracker showtime &7- 显示玩家的总在线时间'
+no-staff-member: '&7&c{player} &7不是团队成员。'
+showtime-message: '&c{player} &7的总在线时间为 &c{time}&7。'
+command-showtime-usage: '&7用法: &c/coldtracker showtime '
# ShowVote Command Message
command-showvotes-description: '&8 - &c/coldtracker showvotes &7- 显示玩家的总投票数'
-showvotes-message: "&c{player} &7共有 &c{votes}&7 投票。"
-command-showvotes-disabled: '&7投票追踪已&c禁用&7。请检查配置文件。'
-command-votes-not-available: '&7未检测到投票插件。投票追踪功能&c不可用&7。'
+showvotes-message: "&c{player} &7总共获得 &c{votes}&7 次投票。"
+command-showvotes-disabled: '&7投票跟踪功能已&c禁用&7。请检查配置文件。'
+command-votes-not-available: '&7未检测到投票插件。投票跟踪功能&c不可用&7。'
+
+# Stats Command
+command-stats-description: '&8 - &c/coldtracker stats &7- 查看你的个人统计数据'
+command-stats-player-only: '&c只有玩家可以使用此命令。'
+command-stats-console-no-self: '&7控制台无法拥有统计数据。'
+command-stats-playtime: '&7你的总在线时间为 &c{time}&7。'
+command-stats-votes: '&7以及 &c{votes} 次投票&7。'
# Database message warnings
-command-wipe-description: '&8 - &c/coldtracker wipe &7- 清除当前 SQLite 数据库'
-command-wipe-usage: '&7用法:&c/coldtracker wipe'
-command-wipe-warning: '&e警告:&c此操作将删除活动数据库中的所有数据。&c如果您确定,请使用 &a/coldtracker wipe confirm&c。'
-command-wipe-success: '&7数据库中的所有数据已成功&7清除&7。'
+command-wipe-description: '&8 - &c/coldtracker wipe &7- 清空当前SQLite数据库'
+command-wipe-usage: '&7用法: &c/coldtracker wipe'
+command-wipe-warning: '&e警告: &c此操作将删除活动数据库中的所有数据。 &c如果您确定,请使用 &a/coldtracker wipe confirm&c。'
+command-wipe-success: '&7数据库中的所有数据已被&成功清除&7。'
# Base Command Message
base-command-color: '&7'
-base-command-help: '&7使用 &c/coldtracker help &7获取命令信息。'
+base-command-help: '&7使用 &c/coldtracker help &7查看命令信息。'
# Reload Command
command-reload-description: '&8 - &c/coldtracker reload &7- 重载插件'
-command-reload-usage: '&7用法:&c/coldtracker reload'
-command-reload-success: '&7配置文件和语言文件已重新加载。'
+command-reload-usage: '&7用法: &c/coldtracker reload'
+command-reload-success: '&7配置和本地化文件已重新加载。'
# Dump Command
-command-dump-disabled: '&7Gist 生成已&c禁用&7。请检查配置文件。'
-command-dump-description: '&8 - &c/coldtracker dump &7- 将当前数据库的数据导出到 Gist'
-command-dump-usage: '&7用法:&c/coldtracker dump'
-command-dump-warning: '&e警告:&c此操作将导出当前数据库的数据。使用 &a/coldtracker dump confirm&c 继续。'
-command-dump-success: '&7数据库导出成功&7!链接:&a{link}'
-command-dump-fail: '&c生成 Gist 链接失败。检查控制台以获取错误信息。'
+command-dump-disabled: '&7Gist转储功能已&c禁用&7。请检查配置文件。'
+command-dump-description: '&8 - &c/coldtracker dump &7- 转储当前数据库数据到Gist'
+command-dump-usage: '&7用法: &c/coldtracker dump'
+command-dump-warning: '&e警告: &c此操作将转储当前数据库的数据。使用 &a/coldtracker dump confirm&c 继续。'
+command-dump-success: '&7数据库转储已&成功完成&7!链接: &a{link}'
+command-dump-fail: '&c生成Gist链接失败。请检查控制台中的错误信息。'
# Export Command
command-export-description: '&8 - &c/coldtracker export &7- 将数据导出到 plugins/ColdTracker'
-command-export-warning: '&e警告:&c导出文件已存在。使用 &a/coldtracker export confirm &c覆盖。'
-command-export-success: '&7导出成功&7。数据已保存到 &aplugins/ColdTracker/{folder}&7。'
-command-export-fail: '&c保存到 export.yml 失败。检查控制台以获取错误信息。'
+command-export-warning: '&e警告: &c导出文件已存在。使用 &a/coldtracker export confirm &c覆盖它。'
+command-export-success: '&7导出&成功完成&7。数据已保存到 &aplugins/ColdTracker/{folder}&7。'
+command-export-fail: '&c保存 export.yml 失败。请检查控制台中的错误信息。'
# Version Command
command-version-description: '&8 - &c/coldtracker version &7- 显示 ColdTracker 的版本信息'
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 353c6c2..1ba5fd9 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -20,6 +20,8 @@ commands:
permission: "coldtracker.dump"
showvotes:
permission: "coldtracker.showvotes"
+ stats:
+ permission: "coldtracker.stats"
permissions:
coldtracker.*:
@@ -32,6 +34,8 @@ permissions:
coldtracker.dump: true
coldtracker.export: true
coldtracker.showvotes: true
+ coldtracker.stats: true
+ coldtracker.stats.others: true
coldtracker.version:
description: Gives access to the version command
@@ -68,3 +72,11 @@ permissions:
coldtracker.trackvote:
description: Gives access to track the votes
default: op
+
+ coldtracker.stats:
+ description: Gives access to the stats command
+ default: op
+
+ coldtracker.stats.others:
+ description: Gives access to view stats of other staff members
+ default: op
\ No newline at end of file