diff --git a/src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java b/src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java index 0b88227a1..e05089da8 100644 --- a/src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java +++ b/src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java @@ -74,7 +74,7 @@ public class RegisterAdminCommand implements ExecutableCommand { final Player player = bukkitService.getPlayerExact(playerName); if (player != null) { bukkitService.scheduleSyncTaskFromOptionallyAsyncTask(() -> - player.kickPlayer(commonService.retrieveSingleMessage(MessageKey.KICK_FOR_ADMIN_REGISTER))); + player.kickPlayer(commonService.retrieveSingleMessage(player, MessageKey.KICK_FOR_ADMIN_REGISTER))); } }); } diff --git a/src/main/java/fr/xephi/authme/data/TempbanManager.java b/src/main/java/fr/xephi/authme/data/TempbanManager.java index a09212bde..e6b685aca 100644 --- a/src/main/java/fr/xephi/authme/data/TempbanManager.java +++ b/src/main/java/fr/xephi/authme/data/TempbanManager.java @@ -97,7 +97,7 @@ public class TempbanManager implements SettingsDependent, HasCleanup { if (isEnabled) { final String name = player.getName(); final String ip = PlayerUtils.getPlayerIp(player); - final String reason = messages.retrieveSingle(MessageKey.TEMPBAN_MAX_LOGINS); + final String reason = messages.retrieveSingle(player, MessageKey.TEMPBAN_MAX_LOGINS); final Date expires = new Date(); long newTime = expires.getTime() + (length * MILLIS_PER_MINUTE); diff --git a/src/main/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManager.java b/src/main/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManager.java index 9b9373e61..e5f4f65d0 100644 --- a/src/main/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManager.java +++ b/src/main/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManager.java @@ -49,9 +49,9 @@ class LimboPlayerTaskManager { */ void registerMessageTask(Player player, LimboPlayer limbo, boolean isRegistered) { int interval = settings.getProperty(RegistrationSettings.MESSAGE_INTERVAL); - MessageResult messageResult = getMessageKey(player.getName(), isRegistered); + MessageResult result = getMessageKey(player.getName(), isRegistered); if (interval > 0) { - String[] joinMessage = messages.retrieveSingle(messageResult.messageKey, messageResult.args).split("\n"); + String[] joinMessage = messages.retrieveSingle(player, result.messageKey, result.args).split("\n"); MessageTask messageTask = new MessageTask(player, joinMessage); bukkitService.runTaskTimer(messageTask, 2 * TICKS_PER_SECOND, interval * TICKS_PER_SECOND); limbo.setMessageTask(messageTask); @@ -67,7 +67,7 @@ class LimboPlayerTaskManager { void registerTimeoutTask(Player player, LimboPlayer limbo) { final int timeout = settings.getProperty(RestrictionSettings.TIMEOUT) * TICKS_PER_SECOND; if (timeout > 0) { - String message = messages.retrieveSingle(MessageKey.LOGIN_TIMEOUT_ERROR); + String message = messages.retrieveSingle(player, MessageKey.LOGIN_TIMEOUT_ERROR); BukkitTask task = bukkitService.runTaskLater(new TimeoutTask(player, message, playerCache), timeout); limbo.setTimeoutTask(task); } diff --git a/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java b/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java index ffd008059..c1c30cf94 100644 --- a/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java +++ b/src/main/java/fr/xephi/authme/listener/OnJoinVerifier.java @@ -123,7 +123,7 @@ public class OnJoinVerifier implements Reloadable { return false; } else if (!permissionsManager.hasPermission(player, PlayerStatePermission.IS_VIP)) { // Server is full and player is NOT VIP; set kick message and proceed with kick - event.setKickMessage(messages.retrieveSingle(MessageKey.KICK_FULL_SERVER)); + event.setKickMessage(messages.retrieveSingle(player, MessageKey.KICK_FULL_SERVER)); return true; } @@ -135,12 +135,12 @@ public class OnJoinVerifier implements Reloadable { } Player nonVipPlayer = generateKickPlayer(onlinePlayers); if (nonVipPlayer != null) { - nonVipPlayer.kickPlayer(messages.retrieveSingle(MessageKey.KICK_FOR_VIP)); + nonVipPlayer.kickPlayer(messages.retrieveSingle(player, MessageKey.KICK_FOR_VIP)); event.allow(); return false; } else { ConsoleLogger.info("VIP player " + player.getName() + " tried to join, but the server was full"); - event.setKickMessage(messages.retrieveSingle(MessageKey.KICK_FULL_SERVER)); + event.setKickMessage(messages.retrieveSingle(player, MessageKey.KICK_FULL_SERVER)); return true; } } diff --git a/src/main/java/fr/xephi/authme/listener/PlayerListener.java b/src/main/java/fr/xephi/authme/listener/PlayerListener.java index b4709a564..e48ff6be2 100644 --- a/src/main/java/fr/xephi/authme/listener/PlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/PlayerListener.java @@ -257,7 +257,7 @@ public class PlayerListener implements Listener { try { runOnJoinChecks(JoiningPlayer.fromName(name), event.getAddress().getHostAddress()); } catch (FailedVerificationException e) { - event.setKickMessage(m.retrieveSingle(e.getReason(), e.getArgs())); + event.setKickMessage(m.retrieveSingle(name, e.getReason(), e.getArgs())); event.setLoginResult(AsyncPlayerPreLoginEvent.Result.KICK_OTHER); } } @@ -285,7 +285,7 @@ public class PlayerListener implements Listener { try { runOnJoinChecks(JoiningPlayer.fromPlayerObject(player), event.getAddress().getHostAddress()); } catch (FailedVerificationException e) { - event.setKickMessage(m.retrieveSingle(e.getReason(), e.getArgs())); + event.setKickMessage(m.retrieveSingle(player, e.getReason(), e.getArgs())); event.setResult(PlayerLoginEvent.Result.KICK_OTHER); } } diff --git a/src/main/java/fr/xephi/authme/message/Messages.java b/src/main/java/fr/xephi/authme/message/Messages.java index 7cc0ac285..be887276f 100644 --- a/src/main/java/fr/xephi/authme/message/Messages.java +++ b/src/main/java/fr/xephi/authme/message/Messages.java @@ -5,6 +5,7 @@ import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.util.expiring.Duration; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import javax.inject.Inject; import java.util.Map; @@ -18,7 +19,9 @@ public class Messages { // Custom Authme tag replaced to new line private static final String NEWLINE_TAG = "%nl%"; - private static final String PLAYER_TAG = "%username%"; + // Global tag replacements + private static final String USERNAME_TAG = "%username%"; + private static final String DISPLAYNAME_TAG = "%displayname%"; /** Contains the keys of the singular messages for time units. */ private static final Map TIME_UNIT_SINGULARS = ImmutableMap.builder() @@ -51,9 +54,9 @@ public class Messages { * @param key The key of the message to send */ public void send(CommandSender sender, MessageKey key) { - String[] lines = retrieve(key); + String[] lines = retrieve(key, sender); for (String line : lines) { - sender.sendMessage(line.replaceAll(PLAYER_TAG, sender.getName())); + sender.sendMessage(line); } } @@ -67,7 +70,7 @@ public class Messages { * @param replacements The replacements to apply for the tags */ public void send(CommandSender sender, MessageKey key, String... replacements) { - String message = retrieveSingle(key, replacements).replaceAll(PLAYER_TAG, sender.getName()); + String message = retrieveSingle(sender, key, replacements); for (String line : message.split("\n")) { sender.sendMessage(line); } @@ -77,10 +80,11 @@ public class Messages { * Retrieve the message from the text file and return it split by new line as an array. * * @param key The message key to retrieve + * @param sender The entity to send the message to * @return The message split by new lines */ - public String[] retrieve(MessageKey key) { - String message = retrieveMessage(key); + public String[] retrieve(MessageKey key, CommandSender sender) { + String message = retrieveMessage(key, sender); if (message.isEmpty()) { // Return empty array instead of array with 1 empty string as entry return new String[0]; @@ -101,18 +105,43 @@ public class Messages { ? TIME_UNIT_SINGULARS.get(duration.getTimeUnit()) : TIME_UNIT_PLURALS.get(duration.getTimeUnit()); - return value + " " + retrieveMessage(timeUnitKey); + return value + " " + retrieveMessage(timeUnitKey, ""); } /** * Retrieve the message from the text file. * * @param key The message key to retrieve + * @param sender The entity to send the message to * @return The message from the file */ - private String retrieveMessage(MessageKey key) { - return formatMessage( - messagesFileHandler.getMessage(key.getKey())); + private String retrieveMessage(MessageKey key, CommandSender sender) { + String message = messagesFileHandler.getMessage(key.getKey()); + String displayName = sender.getName(); + if (sender instanceof Player) { + displayName = ((Player) sender).getDisplayName(); + } + + return ChatColor.translateAlternateColorCodes('&', message) + .replace(NEWLINE_TAG, "\n") + .replace(USERNAME_TAG, sender.getName()) + .replace(DISPLAYNAME_TAG, displayName); + } + + /** + * Retrieve the message from the text file. + * + * @param key The message key to retrieve + * @param name The name of the entity to send the message to + * @return The message from the file + */ + private String retrieveMessage(MessageKey key, String name) { + String message = messagesFileHandler.getMessage(key.getKey()); + + return ChatColor.translateAlternateColorCodes('&', message) + .replace(NEWLINE_TAG, "\n") + .replace(USERNAME_TAG, name) + .replace(DISPLAYNAME_TAG, name); } /** @@ -120,12 +149,13 @@ public class Messages { * logs an error if the number of supplied replacements doesn't correspond to the number of tags * the message key contains. * + * @param sender The entity to send the message to * @param key The key of the message to send * @param replacements The replacements to apply for the tags * @return The message from the file with replacements */ - public String retrieveSingle(MessageKey key, String... replacements) { - String message = retrieveMessage(key); + public String retrieveSingle(CommandSender sender, MessageKey key, String... replacements) { + String message = retrieveMessage(key, sender); String[] tags = key.getTags(); if (replacements.length == tags.length) { for (int i = 0; i < tags.length; ++i) { @@ -137,9 +167,26 @@ public class Messages { return message; } - private static String formatMessage(String message) { - return ChatColor.translateAlternateColorCodes('&', message) - .replace(NEWLINE_TAG, "\n"); + /** + * Retrieve the given message code with the given tag replacements. Note that this method + * logs an error if the number of supplied replacements doesn't correspond to the number of tags + * the message key contains. + * + * @param name The name of the entity to send the message to + * @param key The key of the message to send + * @param replacements The replacements to apply for the tags + * @return The message from the file with replacements + */ + public String retrieveSingle(String name, MessageKey key, String... replacements) { + String message = retrieveMessage(key, name); + String[] tags = key.getTags(); + if (replacements.length == tags.length) { + for (int i = 0; i < tags.length; ++i) { + message = message.replace(tags[i], replacements[i]); + } + } else { + ConsoleLogger.warning("Invalid number of replacements for message key '" + key + "'"); + } + return message; } - } diff --git a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java index 6cb16a674..7fb13bac6 100644 --- a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java +++ b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java @@ -138,7 +138,7 @@ public class AsynchronousJoin implements AsynchronousProcess { private void handlePlayerWithUnmetNameRestriction(Player player, String ip) { bukkitService.scheduleSyncTaskFromOptionallyAsyncTask(() -> { - player.kickPlayer(service.retrieveSingleMessage(MessageKey.NOT_OWNER_ERROR)); + player.kickPlayer(service.retrieveSingleMessage(player, MessageKey.NOT_OWNER_ERROR)); if (service.getProperty(RestrictionSettings.BAN_UNKNOWN_IP)) { server.banIP(ip); } @@ -188,7 +188,7 @@ public class AsynchronousJoin implements AsynchronousProcess { && countOnlinePlayersByIp(ip) > service.getProperty(RestrictionSettings.MAX_JOIN_PER_IP)) { bukkitService.scheduleSyncTaskFromOptionallyAsyncTask( - () -> player.kickPlayer(service.retrieveSingleMessage(MessageKey.SAME_IP_ONLINE))); + () -> player.kickPlayer(service.retrieveSingleMessage(player, MessageKey.SAME_IP_ONLINE))); return false; } return true; diff --git a/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java b/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java index c52202ef4..193332501 100644 --- a/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java +++ b/src/main/java/fr/xephi/authme/process/login/AsynchronousLogin.java @@ -197,7 +197,7 @@ public class AsynchronousLogin implements AsynchronousProcess { tempbanManager.tempbanPlayer(player); } else if (service.getProperty(RestrictionSettings.KICK_ON_WRONG_PASSWORD)) { bukkitService.scheduleSyncTaskFromOptionallyAsyncTask( - () -> player.kickPlayer(service.retrieveSingleMessage(MessageKey.WRONG_PASSWORD))); + () -> player.kickPlayer(service.retrieveSingleMessage(player, MessageKey.WRONG_PASSWORD))); } else { service.send(player, MessageKey.WRONG_PASSWORD); diff --git a/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java b/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java index 589c88aa2..ea5c028ef 100644 --- a/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java +++ b/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java @@ -58,7 +58,7 @@ public class ProcessSyncPasswordRegister implements SynchronousProcess { // Kick Player after Registration is enabled, kick the player if (service.getProperty(RegistrationSettings.FORCE_KICK_AFTER_REGISTER)) { - player.kickPlayer(service.retrieveSingleMessage(MessageKey.REGISTER_SUCCESS)); + player.kickPlayer(service.retrieveSingleMessage(player, MessageKey.REGISTER_SUCCESS)); return; } diff --git a/src/main/java/fr/xephi/authme/service/CommonService.java b/src/main/java/fr/xephi/authme/service/CommonService.java index 2422b1fa1..92a49267b 100644 --- a/src/main/java/fr/xephi/authme/service/CommonService.java +++ b/src/main/java/fr/xephi/authme/service/CommonService.java @@ -63,11 +63,12 @@ public class CommonService { /** * Retrieves a message in one piece. * + * @param sender The entity to send the message to * @param key the key of the message * @return the message */ - public String retrieveSingleMessage(MessageKey key) { - return messages.retrieveSingle(key); + public String retrieveSingleMessage(CommandSender sender, MessageKey key) { + return messages.retrieveSingle(sender, key); } /** diff --git a/src/main/resources/messages/messages_bg.yml b/src/main/resources/messages/messages_bg.yml index ee21f3f57..c49e2cb00 100644 --- a/src/main/resources/messages/messages_bg.yml +++ b/src/main/resources/messages/messages_bg.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cРегистрациите са изключени!' diff --git a/src/main/resources/messages/messages_br.yml b/src/main/resources/messages/messages_br.yml index 05d8aa6f8..3000840bb 100644 --- a/src/main/resources/messages/messages_br.yml +++ b/src/main/resources/messages/messages_br.yml @@ -1,6 +1,10 @@ #Tradução pt/br Authme Reloaded #Feito por GabrielDev(DeathRush) e Frani (PotterCraft_) # http://gamersboard.com.br/ | www.magitechserver.com +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. # Registration registration: diff --git a/src/main/resources/messages/messages_cz.yml b/src/main/resources/messages/messages_cz.yml index 0b0e9e02a..3b97a5aec 100644 --- a/src/main/resources/messages/messages_cz.yml +++ b/src/main/resources/messages/messages_cz.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cRegistrace je zakázána!' diff --git a/src/main/resources/messages/messages_de.yml b/src/main/resources/messages/messages_de.yml index 18693d476..108d7dad8 100644 --- a/src/main/resources/messages/messages_de.yml +++ b/src/main/resources/messages/messages_de.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cRegistrierungen sind deaktiviert' diff --git a/src/main/resources/messages/messages_en.yml b/src/main/resources/messages/messages_en.yml index f2aa1d44a..e5e20055a 100644 --- a/src/main/resources/messages/messages_en.yml +++ b/src/main/resources/messages/messages_en.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: register_request: '&3Please, register to the server with the command: /register ' diff --git a/src/main/resources/messages/messages_eo.yml b/src/main/resources/messages/messages_eo.yml index f438b19da..dd1657728 100644 --- a/src/main/resources/messages/messages_eo.yml +++ b/src/main/resources/messages/messages_eo.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cEn-ludo registriĝo estas malebligita!' diff --git a/src/main/resources/messages/messages_es.yml b/src/main/resources/messages/messages_es.yml index 9a87984d2..ce0d8a369 100644 --- a/src/main/resources/messages/messages_es.yml +++ b/src/main/resources/messages/messages_es.yml @@ -1,4 +1,8 @@ # This file must be in ANSI if win, or UTF-8 if linux. +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. # Registration registration: diff --git a/src/main/resources/messages/messages_et.yml b/src/main/resources/messages/messages_et.yml index 3696593c1..df6bd053c 100644 --- a/src/main/resources/messages/messages_et.yml +++ b/src/main/resources/messages/messages_et.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cMängusisene registreerimine välja lülitatud!' diff --git a/src/main/resources/messages/messages_eu.yml b/src/main/resources/messages/messages_eu.yml index b7782ee3a..4eec94c34 100644 --- a/src/main/resources/messages/messages_eu.yml +++ b/src/main/resources/messages/messages_eu.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cErregistroa desgaitua' diff --git a/src/main/resources/messages/messages_fi.yml b/src/main/resources/messages/messages_fi.yml index 5e88b4c1e..9a6578bdd 100644 --- a/src/main/resources/messages/messages_fi.yml +++ b/src/main/resources/messages/messages_fi.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cRekisteröinti on suljettu!' diff --git a/src/main/resources/messages/messages_fr.yml b/src/main/resources/messages/messages_fr.yml index 47e01f2db..93358b2e8 100644 --- a/src/main/resources/messages/messages_fr.yml +++ b/src/main/resources/messages/messages_fr.yml @@ -1,7 +1,10 @@ # Traduction par: André & Twonox # Pour afficher une apostrophe, vous devez en mettre deux consécutivement (ex: «J''ai» au lieu de «J'ai») -# Pour passer à la ligne, utilisez: %nl% +# List of global tags: +# %nl% - Pour passer à la ligne. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. # Registration registration: diff --git a/src/main/resources/messages/messages_gl.yml b/src/main/resources/messages/messages_gl.yml index 11210f4e9..9c47a222d 100644 --- a/src/main/resources/messages/messages_gl.yml +++ b/src/main/resources/messages/messages_gl.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cO rexistro está deshabilitado' diff --git a/src/main/resources/messages/messages_hu.yml b/src/main/resources/messages/messages_hu.yml index ea2837122..609545976 100644 --- a/src/main/resources/messages/messages_hu.yml +++ b/src/main/resources/messages/messages_hu.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cA regisztráció letiltva!' diff --git a/src/main/resources/messages/messages_id.yml b/src/main/resources/messages/messages_id.yml index 00899b1e3..9fda2668d 100644 --- a/src/main/resources/messages/messages_id.yml +++ b/src/main/resources/messages/messages_id.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cRegister dalam game tidak diaktifkan!' diff --git a/src/main/resources/messages/messages_it.yml b/src/main/resources/messages/messages_it.yml index 570971f87..40b0059ec 100644 --- a/src/main/resources/messages/messages_it.yml +++ b/src/main/resources/messages/messages_it.yml @@ -1,6 +1,10 @@ -# Lingua Italiana creata da Maxetto e sgdc3. +# Lingua Italiana creata da Maxetto. +# Tag globali disponibili: +# %nl% - Vai a capo. +# %username% - Sostituisce il nome dell'utente che riceve il messaggio. +# %displayname% - Sostituisce il nickname (e i colori) dell'utente che riceve il messaggio. -# Registration +# Registrazione registration: disabled: '&cLa registrazione tramite i comandi di gioco è disabilitata.' name_taken: '&cHai già eseguito la registrazione, non puoi eseguirla nuovamente.' @@ -10,7 +14,7 @@ registration: success: '&2Registrato correttamente!' kicked_admin_registered: 'Un amministratore ti ha appena registrato, per favore rientra nel server' -# Password errors on registration +# Errori della password durante la registrazione password: match_error: '&cLe password non corrispondono!' name_in_password: '&cNon puoi usare il tuo nome utente come password, per favore scegline un''altra...' @@ -18,7 +22,7 @@ password: forbidden_characters: '&4La tua password contiene caratteri non consentiti. I caratteri consentiti sono: %valid_chars' wrong_length: '&cLa password che hai inserito è troppo corta o troppo lunga, per favore scegline un''altra...' -# Login +# Autenticazione login: command_usage: '&cUtilizzo: /login ' wrong_password: '&cPassword non corretta!' @@ -26,7 +30,7 @@ login: login_request: '&cPer favore, esegui l''autenticazione con il comando: /login ' timeout_error: '&4Tempo scaduto per eseguire l''autenticazione, sei stato espulso dal server, per favore riprova!' -# Errors +# Errori error: denied_command: '&cPer poter usare questo comando devi essere autenticato!' denied_chat: '&cPer poter scrivere messaggi in chat devi essere autenticato!' @@ -45,12 +49,12 @@ antibot: auto_enabled: '&4Il servizio di AntiBot è stato automaticamente abilitato a seguito delle numerose connessioni!' auto_disabled: '&2Il servizio di AntiBot è stato automaticamente disabilitato dopo %m minuti!' -# Unregister +# Rimozione dal Database unregister: success: '&2Sei stato correttamente rimosso dal database!' command_usage: '&cUtilizzo: /unregister ' -# Other messages +# Altri messaggi misc: account_not_activated: '&cIl tuo account non è stato ancora verificato, controlla fra le tue email per scoprire come attivarlo!' password_changed: '&2Password cambiata correttamente!' @@ -61,12 +65,12 @@ misc: accounts_owned_self: 'Possiedi %count account:' accounts_owned_other: 'Il giocatore %name possiede %count account:' -# Session messages +# Messaggi della sessione session: valid_session: '&2Autenticato automaticamente attraverso la precedente sessione!' invalid_session: '&cIl tuo indirizzo IP è cambiato e la tua sessione è stata terminata!' -# Error messages when joining +# Messaggi di errore durante l'accesso on_join_validation: same_ip_online: 'Un giocatore con il tuo stesso IP è già connesso sul server!' same_nick_online: '&4Un giocatore con il tuo stesso nome utente è già connesso sul server!' @@ -96,7 +100,7 @@ email: change_password_expired: 'Non puoi più cambiare la tua password con questo comando.' email_cooldown_error: '&cUna email di recupero ti è già stata inviata recentemente. Devi attendere %time prima di poterne richiedere una nuova.' -# Password recovery by email +# Recupero password via Email recovery: forgot_password_hint: '&3Hai dimenticato la tua password? Puoi recuperarla eseguendo il comando: /email recovery ' command_usage: '&cUtilizzo: /email recovery ' @@ -116,7 +120,7 @@ captcha: captcha_for_registration: 'Per poterti registrare devi prima risolvere un captcha, per favore scrivi: /captcha %captcha_code' register_captcha_valid: '&2Il captcha inserito è valido! Ora puoi eseguire la registrazione con: /register ' -# Verification code +# Codice di verifica verification: code_required: '&3Questo comando va a modificare dati sensibili e richiede una verifica tramite email! Controlla la tua posta in arrivo e segui le istruzioni nell''email.' command_usage: '&cUtilizzo: /verification ' @@ -126,7 +130,7 @@ verification: code_expired: '&3Il tuo codice è scaduto! Esegui nuovamente un comando che modifica dati sensibili per ricevere uno nuovo codice!' email_needed: '&3Per verificare la tua identità devi collegare un indirizzo email al tuo account!' -# Time units +# Unità di tempo time: second: 'secondo' seconds: 'secondi' diff --git a/src/main/resources/messages/messages_ko.yml b/src/main/resources/messages/messages_ko.yml index 0713fcb51..f934f4ccb 100644 --- a/src/main/resources/messages/messages_ko.yml +++ b/src/main/resources/messages/messages_ko.yml @@ -1,5 +1,9 @@ #Translated by Kirito (kds123321@naver.com), System32(me@syst32.com), Adeuran(adeuran@tistory.com) #14.05.2017 Thanks for use +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. # Registration registration: diff --git a/src/main/resources/messages/messages_lt.yml b/src/main/resources/messages/messages_lt.yml index 091903d88..2952d4497 100644 --- a/src/main/resources/messages/messages_lt.yml +++ b/src/main/resources/messages/messages_lt.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&6Registracija yra isjungta' diff --git a/src/main/resources/messages/messages_nl.yml b/src/main/resources/messages/messages_nl.yml index 634c92b1e..00b290de9 100644 --- a/src/main/resources/messages/messages_nl.yml +++ b/src/main/resources/messages/messages_nl.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cRegistratie is uitgeschakeld!' diff --git a/src/main/resources/messages/messages_pl.yml b/src/main/resources/messages/messages_pl.yml index b5050fc87..427ad302b 100644 --- a/src/main/resources/messages/messages_pl.yml +++ b/src/main/resources/messages/messages_pl.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&4Rejestracja jest wyłączona.' diff --git a/src/main/resources/messages/messages_pt.yml b/src/main/resources/messages/messages_pt.yml index b0f707e28..fe41dd553 100644 --- a/src/main/resources/messages/messages_pt.yml +++ b/src/main/resources/messages/messages_pt.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cRegisto de novos utilizadores desactivado' diff --git a/src/main/resources/messages/messages_ro.yml b/src/main/resources/messages/messages_ro.yml index 874e70ee3..16b144497 100644 --- a/src/main/resources/messages/messages_ro.yml +++ b/src/main/resources/messages/messages_ro.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cInregistrarea in joc nu este activata!' diff --git a/src/main/resources/messages/messages_ru.yml b/src/main/resources/messages/messages_ru.yml index de31b258f..82d9d48e0 100644 --- a/src/main/resources/messages/messages_ru.yml +++ b/src/main/resources/messages/messages_ru.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cРегистрация отключена.' diff --git a/src/main/resources/messages/messages_sk.yml b/src/main/resources/messages/messages_sk.yml index deb03a8f7..030e721d7 100644 --- a/src/main/resources/messages/messages_sk.yml +++ b/src/main/resources/messages/messages_sk.yml @@ -4,6 +4,10 @@ # in future there can be more translators # # if they are not listed here # # check Translators on GitHub Wiki. # +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. # Registration registration: diff --git a/src/main/resources/messages/messages_tr.yml b/src/main/resources/messages/messages_tr.yml index 94ac23086..119f037e3 100644 --- a/src/main/resources/messages/messages_tr.yml +++ b/src/main/resources/messages/messages_tr.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cOyun icin kayit olma kapatildi!' diff --git a/src/main/resources/messages/messages_uk.yml b/src/main/resources/messages/messages_uk.yml index d5f448fb9..a1579c303 100644 --- a/src/main/resources/messages/messages_uk.yml +++ b/src/main/resources/messages/messages_uk.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cВнутрішньоігрову реєстрацію зараз вимкнено.' diff --git a/src/main/resources/messages/messages_vn.yml b/src/main/resources/messages/messages_vn.yml index 03190e9bb..61bbda945 100644 --- a/src/main/resources/messages/messages_vn.yml +++ b/src/main/resources/messages/messages_vn.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&cKhông cho phép đăng ký tài khoản trong máy chủ!' diff --git a/src/main/resources/messages/messages_zhcn.yml b/src/main/resources/messages/messages_zhcn.yml index c4032e30a..d53a44486 100644 --- a/src/main/resources/messages/messages_zhcn.yml +++ b/src/main/resources/messages/messages_zhcn.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&8[&6玩家系统&8] &c目前服务器暂时禁止注册,请到服务器论坛以得到更多资讯' diff --git a/src/main/resources/messages/messages_zhhk.yml b/src/main/resources/messages/messages_zhhk.yml index 002a52d5f..ae29c65b1 100644 --- a/src/main/resources/messages/messages_zhhk.yml +++ b/src/main/resources/messages/messages_zhhk.yml @@ -1,6 +1,10 @@ # Translator: lifehome # # Last modif: 1508689979 UTC # # -------------------------------------------- # +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. # Registration registration: diff --git a/src/main/resources/messages/messages_zhmc.yml b/src/main/resources/messages/messages_zhmc.yml index 6d811c4eb..76fa6ccc4 100644 --- a/src/main/resources/messages/messages_zhmc.yml +++ b/src/main/resources/messages/messages_zhmc.yml @@ -1,3 +1,8 @@ +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. + # Registration registration: disabled: '&c遊戲內註冊已停用!' diff --git a/src/main/resources/messages/messages_zhtw.yml b/src/main/resources/messages/messages_zhtw.yml index 2cfff1379..91696b5d8 100644 --- a/src/main/resources/messages/messages_zhtw.yml +++ b/src/main/resources/messages/messages_zhtw.yml @@ -1,5 +1,9 @@ # Translators: MineWolf50, lifehome, haer0248 # # -------------------------------------------- # +# List of global tags: +# %nl% - Goes to new line. +# %username% - Replaces the username of the player receiving the message. +# %displayname% - Replaces the nickname (and colors) of the player receiving the message. # Registration registration: diff --git a/src/test/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommandTest.java b/src/test/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommandTest.java index ce52ece6b..92492b99f 100644 --- a/src/test/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommandTest.java +++ b/src/test/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommandTest.java @@ -160,7 +160,7 @@ public class RegisterAdminCommandTest { Player player = mock(Player.class); given(bukkitService.getPlayerExact(user)).willReturn(player); String kickForAdminRegister = "Admin registered you -- log in again"; - given(commandService.retrieveSingleMessage(MessageKey.KICK_FOR_ADMIN_REGISTER)).willReturn(kickForAdminRegister); + given(commandService.retrieveSingleMessage(player, MessageKey.KICK_FOR_ADMIN_REGISTER)).willReturn(kickForAdminRegister); CommandSender sender = mock(CommandSender.class); setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask(bukkitService); setBukkitServiceToRunTaskOptionallyAsync(bukkitService); diff --git a/src/test/java/fr/xephi/authme/data/TempbanManagerTest.java b/src/test/java/fr/xephi/authme/data/TempbanManagerTest.java index e5fb70429..154098e88 100644 --- a/src/test/java/fr/xephi/authme/data/TempbanManagerTest.java +++ b/src/test/java/fr/xephi/authme/data/TempbanManagerTest.java @@ -149,7 +149,7 @@ public class TempbanManagerTest { String ip = "123.45.67.89"; TestHelper.mockPlayerIp(player, ip); String banReason = "IP ban too many logins"; - given(messages.retrieveSingle(MessageKey.TEMPBAN_MAX_LOGINS)).willReturn(banReason); + given(messages.retrieveSingle(player, MessageKey.TEMPBAN_MAX_LOGINS)).willReturn(banReason); Settings settings = mockSettings(2, 100, ""); TempbanManager manager = new TempbanManager(bukkitService, messages, settings); setBukkitServiceToScheduleSyncDelayedTask(bukkitService); @@ -195,7 +195,7 @@ public class TempbanManagerTest { String ip = "22.44.66.88"; TestHelper.mockPlayerIp(player, ip); String banReason = "kick msg"; - given(messages.retrieveSingle(MessageKey.TEMPBAN_MAX_LOGINS)).willReturn(banReason); + given(messages.retrieveSingle(player, MessageKey.TEMPBAN_MAX_LOGINS)).willReturn(banReason); Settings settings = mockSettings(10, 60, ""); TempbanManager manager = new TempbanManager(bukkitService, messages, settings); manager.increaseCount(ip, "user"); diff --git a/src/test/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManagerTest.java b/src/test/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManagerTest.java index 9a8d876ca..f1507a29e 100644 --- a/src/test/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManagerTest.java +++ b/src/test/java/fr/xephi/authme/data/limbo/LimboPlayerTaskManagerTest.java @@ -71,7 +71,7 @@ public class LimboPlayerTaskManagerTest { Player player = mock(Player.class); LimboPlayer limboPlayer = mock(LimboPlayer.class); MessageKey key = MessageKey.REGISTER_MESSAGE; - given(messages.retrieveSingle(key)).willReturn("Please register!"); + given(messages.retrieveSingle(player, key)).willReturn("Please register!"); int interval = 12; given(settings.getProperty(RegistrationSettings.MESSAGE_INTERVAL)).willReturn(interval); @@ -80,7 +80,7 @@ public class LimboPlayerTaskManagerTest { // then verify(limboPlayer).setMessageTask(any(MessageTask.class)); - verify(messages).retrieveSingle(key); + verify(messages).retrieveSingle(player, key); verify(bukkitService).runTaskTimer( any(MessageTask.class), eq(2L * TICKS_PER_SECOND), eq((long) interval * TICKS_PER_SECOND)); } @@ -110,7 +110,7 @@ public class LimboPlayerTaskManagerTest { MessageTask existingMessageTask = mock(MessageTask.class); limboPlayer.setMessageTask(existingMessageTask); given(settings.getProperty(RegistrationSettings.MESSAGE_INTERVAL)).willReturn(8); - given(messages.retrieveSingle(MessageKey.REGISTER_MESSAGE)).willReturn("Please register!"); + given(messages.retrieveSingle(player, MessageKey.REGISTER_MESSAGE)).willReturn("Please register!"); // when limboPlayerTaskManager.registerMessageTask(player, limboPlayer, false); @@ -119,7 +119,7 @@ public class LimboPlayerTaskManagerTest { assertThat(limboPlayer.getMessageTask(), not(nullValue())); assertThat(limboPlayer.getMessageTask(), not(sameInstance(existingMessageTask))); verify(registrationCaptchaManager).isCaptchaRequired(name); - verify(messages).retrieveSingle(MessageKey.REGISTER_MESSAGE); + verify(messages).retrieveSingle(player, MessageKey.REGISTER_MESSAGE); verify(existingMessageTask).cancel(); } @@ -134,14 +134,14 @@ public class LimboPlayerTaskManagerTest { given(registrationCaptchaManager.isCaptchaRequired(name)).willReturn(true); String captcha = "M032"; given(registrationCaptchaManager.getCaptchaCodeOrGenerateNew(name)).willReturn(captcha); - given(messages.retrieveSingle(MessageKey.CAPTCHA_FOR_REGISTRATION_REQUIRED, captcha)).willReturn("Need to use captcha"); + given(messages.retrieveSingle(player, MessageKey.CAPTCHA_FOR_REGISTRATION_REQUIRED, captcha)).willReturn("Need to use captcha"); // when limboPlayerTaskManager.registerMessageTask(player, limboPlayer, false); // then assertThat(limboPlayer.getMessageTask(), not(nullValue())); - verify(messages).retrieveSingle(MessageKey.CAPTCHA_FOR_REGISTRATION_REQUIRED, captcha); + verify(messages).retrieveSingle(player, MessageKey.CAPTCHA_FOR_REGISTRATION_REQUIRED, captcha); } @Test @@ -159,7 +159,7 @@ public class LimboPlayerTaskManagerTest { // then verify(limboPlayer).setTimeoutTask(bukkitTask); verify(bukkitService).runTaskLater(any(TimeoutTask.class), eq(600L)); // 30 * TICKS_PER_SECOND - verify(messages).retrieveSingle(MessageKey.LOGIN_TIMEOUT_ERROR); + verify(messages).retrieveSingle(player, MessageKey.LOGIN_TIMEOUT_ERROR); } @Test @@ -194,7 +194,7 @@ public class LimboPlayerTaskManagerTest { verify(existingTask).cancel(); assertThat(limboPlayer.getTimeoutTask(), equalTo(bukkitTask)); verify(bukkitService).runTaskLater(any(TimeoutTask.class), eq(360L)); // 18 * TICKS_PER_SECOND - verify(messages).retrieveSingle(MessageKey.LOGIN_TIMEOUT_ERROR); + verify(messages).retrieveSingle(player, MessageKey.LOGIN_TIMEOUT_ERROR); } } diff --git a/src/test/java/fr/xephi/authme/listener/OnJoinVerifierTest.java b/src/test/java/fr/xephi/authme/listener/OnJoinVerifierTest.java index 7ea3085a6..2f6121a90 100644 --- a/src/test/java/fr/xephi/authme/listener/OnJoinVerifierTest.java +++ b/src/test/java/fr/xephi/authme/listener/OnJoinVerifierTest.java @@ -101,7 +101,7 @@ public class OnJoinVerifierTest { event.setResult(PlayerLoginEvent.Result.KICK_FULL); given(permissionsManager.hasPermission(player, PlayerStatePermission.IS_VIP)).willReturn(false); String serverFullMessage = "server is full"; - given(messages.retrieveSingle(MessageKey.KICK_FULL_SERVER)).willReturn(serverFullMessage); + given(messages.retrieveSingle(player, MessageKey.KICK_FULL_SERVER)).willReturn(serverFullMessage); // when boolean result = onJoinVerifier.refusePlayerForFullServer(event); @@ -125,7 +125,7 @@ public class OnJoinVerifierTest { given(permissionsManager.hasPermission(onlinePlayers.get(1), PlayerStatePermission.IS_VIP)).willReturn(false); returnOnlineListFromBukkitServer(onlinePlayers); given(server.getMaxPlayers()).willReturn(onlinePlayers.size()); - given(messages.retrieveSingle(MessageKey.KICK_FOR_VIP)).willReturn("kick for vip"); + given(messages.retrieveSingle(player, MessageKey.KICK_FOR_VIP)).willReturn("kick for vip"); // when boolean result = onJoinVerifier.refusePlayerForFullServer(event); @@ -149,7 +149,7 @@ public class OnJoinVerifierTest { given(permissionsManager.hasPermission(onlinePlayers.get(0), PlayerStatePermission.IS_VIP)).willReturn(true); returnOnlineListFromBukkitServer(onlinePlayers); given(server.getMaxPlayers()).willReturn(onlinePlayers.size()); - given(messages.retrieveSingle(MessageKey.KICK_FULL_SERVER)).willReturn("kick full server"); + given(messages.retrieveSingle(player, MessageKey.KICK_FULL_SERVER)).willReturn("kick full server"); // when boolean result = onJoinVerifier.refusePlayerForFullServer(event); diff --git a/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java b/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java index d4204315c..3d75e2c52 100644 --- a/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java +++ b/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java @@ -596,7 +596,7 @@ public class PlayerListenerTest { MessageKey.INVALID_NAME_CHARACTERS, "[a-z]"); doThrow(exception).when(onJoinVerifier).checkIsValidName(name); String message = "Invalid characters!"; - given(messages.retrieveSingle(exception.getReason(), exception.getArgs())).willReturn(message); + given(messages.retrieveSingle(player, exception.getReason(), exception.getArgs())).willReturn(message); // when listener.onPlayerLogin(event); diff --git a/src/test/java/fr/xephi/authme/message/MessagesIntegrationTest.java b/src/test/java/fr/xephi/authme/message/MessagesIntegrationTest.java index 30af10773..d8a2bd00b 100644 --- a/src/test/java/fr/xephi/authme/message/MessagesIntegrationTest.java +++ b/src/test/java/fr/xephi/authme/message/MessagesIntegrationTest.java @@ -81,9 +81,11 @@ public class MessagesIntegrationTest { public void shouldLoadMessageAndSplitAtNewLines() { // given MessageKey key = MessageKey.UNKNOWN_USER; + CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when - String[] message = messages.retrieve(key); + String[] message = messages.retrieve(key, sender); // then String[] lines = new String[]{"We've got", "new lines", "and ' apostrophes"}; @@ -94,9 +96,11 @@ public class MessagesIntegrationTest { public void shouldLoadMessageAsStringWithNewLines() { // given MessageKey key = MessageKey.UNKNOWN_USER; + CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when - String message = messages.retrieveSingle(key); + String message = messages.retrieveSingle(sender, key); // then assertThat(message, equalTo("We've got\nnew lines\nand ' apostrophes")); @@ -106,9 +110,11 @@ public class MessagesIntegrationTest { public void shouldFormatColorCodes() { // given MessageKey key = MessageKey.LOGIN_SUCCESS; + CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when - String[] message = messages.retrieve(key); + String[] message = messages.retrieve(key, sender); // then assertThat(message, arrayWithSize(1)); @@ -120,6 +126,7 @@ public class MessagesIntegrationTest { // given MessageKey key = MessageKey.EMAIL_ALREADY_USED_ERROR; CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when messages.send(sender, key); @@ -133,6 +140,8 @@ public class MessagesIntegrationTest { // given MessageKey key = MessageKey.LOGIN_SUCCESS; Player player = Mockito.mock(Player.class); + given(player.getName()).willReturn("Tester"); + given(player.getDisplayName()).willReturn("§cTesty"); // when messages.send(player, key); @@ -146,6 +155,8 @@ public class MessagesIntegrationTest { // given MessageKey key = MessageKey.UNKNOWN_USER; Player player = Mockito.mock(Player.class); + given(player.getName()).willReturn("Tester"); + given(player.getDisplayName()).willReturn("§cTesty"); // when messages.send(player, key); @@ -157,11 +168,27 @@ public class MessagesIntegrationTest { assertThat(captor.getAllValues(), contains(lines)); } + @Test + public void shouldSendMessageToPlayerWithNameReplacement() { + // given + MessageKey key = MessageKey.REGISTER_MESSAGE; + Player player = Mockito.mock(Player.class); + given(player.getName()).willReturn("Tester"); + given(player.getDisplayName()).willReturn("§cTesty"); + + // when + messages.send(player, key); + + // then + verify(player).sendMessage("§3Please Tester, register to the §cTesty§3."); + } + @Test public void shouldSendMessageToPlayerWithTagReplacement() { // given MessageKey key = MessageKey.CAPTCHA_WRONG_ERROR; CommandSender sender = Mockito.mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when messages.send(sender, key, "1234"); @@ -175,6 +202,7 @@ public class MessagesIntegrationTest { // given MessageKey key = MessageKey.CAPTCHA_WRONG_ERROR; CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when messages.send(sender, key); @@ -189,9 +217,11 @@ public class MessagesIntegrationTest { Logger logger = mock(Logger.class); ConsoleLogger.setLogger(logger); MessageKey key = MessageKey.CAPTCHA_WRONG_ERROR; + CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when - messages.send(mock(CommandSender.class), key, "rep", "rep2"); + messages.send(sender, key, "rep", "rep2"); // then verify(logger).warning(argThat(containsString("Invalid number of replacements"))); @@ -203,9 +233,11 @@ public class MessagesIntegrationTest { Logger logger = mock(Logger.class); ConsoleLogger.setLogger(logger); MessageKey key = MessageKey.UNKNOWN_USER; + CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when - messages.send(mock(CommandSender.class), key, "Replacement"); + messages.send(sender, key, "Replacement"); // then verify(logger).warning(argThat(containsString("Invalid number of replacements"))); @@ -216,9 +248,11 @@ public class MessagesIntegrationTest { // given // Key is present in both files MessageKey key = MessageKey.WRONG_PASSWORD; + CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when - String message = messages.retrieveSingle(key); + String message = messages.retrieveSingle(sender, key); // then assertThat(message, equalTo("§cWrong password!")); @@ -228,9 +262,11 @@ public class MessagesIntegrationTest { public void shouldRetrieveMessageWithReplacements() { // given MessageKey key = MessageKey.CAPTCHA_WRONG_ERROR; + CommandSender sender = mock(CommandSender.class); + given(sender.getName()).willReturn("Tester"); // when - String result = messages.retrieveSingle(key, "24680"); + String result = messages.retrieveSingle(sender.getName(), key, "24680"); // then assertThat(result, equalTo("Use /captcha 24680 to solve the captcha")); diff --git a/src/test/java/fr/xephi/authme/service/CommonServiceTest.java b/src/test/java/fr/xephi/authme/service/CommonServiceTest.java index 87cba2005..b74762dc2 100644 --- a/src/test/java/fr/xephi/authme/service/CommonServiceTest.java +++ b/src/test/java/fr/xephi/authme/service/CommonServiceTest.java @@ -83,15 +83,16 @@ public class CommonServiceTest { public void shouldRetrieveSingleMessage() { // given MessageKey key = MessageKey.ACCOUNT_NOT_ACTIVATED; + Player player = mock(Player.class); String text = "Test text"; - given(messages.retrieveSingle(key)).willReturn(text); + given(messages.retrieveSingle(player, key)).willReturn(text); // when - String result = commonService.retrieveSingleMessage(key); + String result = commonService.retrieveSingleMessage(player, key); // then assertThat(result, equalTo(text)); - verify(messages).retrieveSingle(key); + verify(messages).retrieveSingle(player, key); } @Test diff --git a/src/test/resources/fr/xephi/authme/message/messages_test.yml b/src/test/resources/fr/xephi/authme/message/messages_test.yml index b7670dc2d..93287786a 100644 --- a/src/test/resources/fr/xephi/authme/message/messages_test.yml +++ b/src/test/resources/fr/xephi/authme/message/messages_test.yml @@ -2,6 +2,8 @@ error: unregistered_user: 'We''ve got%nl%new lines%nl%and '' apostrophes' +registration: + register_request: '&3Please %username%, register to the %displayname%&3.' login: success: '&cHere we have&bdefined some colors &dand some other <hings' wrong_password: '&cWrong password!'