refactor all class to use the message key for sending messages.

This commit is contained in:
DNx5 2015-11-26 10:18:53 +07:00
parent 2de0e0e819
commit 7a78b321e7
31 changed files with 197 additions and 133 deletions

View File

@ -20,10 +20,7 @@ import fr.xephi.authme.listener.*;
import fr.xephi.authme.modules.ModuleManager; import fr.xephi.authme.modules.ModuleManager;
import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.permission.PermissionsManager;
import fr.xephi.authme.process.Management; import fr.xephi.authme.process.Management;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.*;
import fr.xephi.authme.settings.OtherAccounts;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.settings.Spawn;
import fr.xephi.authme.util.GeoLiteAPI; import fr.xephi.authme.util.GeoLiteAPI;
import fr.xephi.authme.util.StringUtils; import fr.xephi.authme.util.StringUtils;
import fr.xephi.authme.util.Utils; import fr.xephi.authme.util.Utils;
@ -837,7 +834,7 @@ public class AuthMe extends JavaPlugin {
if (PlayerCache.getInstance().isAuthenticated(name)) { if (PlayerCache.getInstance().isAuthenticated(name)) {
String email = database.getAuth(name).getEmail(); String email = database.getAuth(name).getEmail();
if (email == null || email.isEmpty() || email.equalsIgnoreCase("your@email.com")) if (email == null || email.isEmpty() || email.equalsIgnoreCase("your@email.com"))
messages.send(player, "add_email"); messages.send(player, MessageKey.ADD_EMAIL_MESSAGE);
} }
} }
} }

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -40,16 +41,16 @@ public class AccountsCommand extends ExecutableCommand {
try { try {
auth = plugin.database.getAuth(playerQueryFinal.toLowerCase()); auth = plugin.database.getAuth(playerQueryFinal.toLowerCase());
} catch (NullPointerException npe) { } catch (NullPointerException npe) {
m.send(sender, "unknown_user"); m.send(sender, MessageKey.UNKNOWN_USER);
return; return;
} }
if (auth == null) { if (auth == null) {
m.send(sender, "unknown_user"); m.send(sender, MessageKey.UNKNOWN_USER);
return; return;
} }
List<String> accountList = plugin.database.getAllAuthsByName(auth); List<String> accountList = plugin.database.getAllAuthsByName(auth);
if (accountList == null || accountList.isEmpty()) { if (accountList == null || accountList.isEmpty()) {
m.send(sender, "user_unknown"); m.send(sender, MessageKey.USER_NOT_REGISTERED);
return; return;
} }
if (accountList.size() == 1) { if (accountList.size() == 1) {
@ -81,7 +82,7 @@ public class AccountsCommand extends ExecutableCommand {
} catch (Exception e) { } catch (Exception e) {
ConsoleLogger.showError(e.getMessage()); ConsoleLogger.showError(e.getMessage());
ConsoleLogger.writeStackTrace(e); ConsoleLogger.writeStackTrace(e);
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
return; return;
} }

View File

@ -7,6 +7,7 @@ import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -31,20 +32,20 @@ public class ChangePasswordCommand extends ExecutableCommand {
// Validate the password // Validate the password
String playerPassLowerCase = playerPass.toLowerCase(); String playerPassLowerCase = playerPass.toLowerCase();
if (playerPassLowerCase.contains("delete") || playerPassLowerCase.contains("where") || playerPassLowerCase.contains("insert") || playerPassLowerCase.contains("modify") || playerPassLowerCase.contains("from") || playerPassLowerCase.contains("select") || playerPassLowerCase.contains(";") || playerPassLowerCase.contains("null") || !playerPassLowerCase.matches(Settings.getPassRegex)) { if (playerPassLowerCase.contains("delete") || playerPassLowerCase.contains("where") || playerPassLowerCase.contains("insert") || playerPassLowerCase.contains("modify") || playerPassLowerCase.contains("from") || playerPassLowerCase.contains("select") || playerPassLowerCase.contains(";") || playerPassLowerCase.contains("null") || !playerPassLowerCase.matches(Settings.getPassRegex)) {
m.send(sender, "password_error"); m.send(sender, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return true; return true;
} }
if (playerPassLowerCase.equalsIgnoreCase(playerName)) { if (playerPassLowerCase.equalsIgnoreCase(playerName)) {
m.send(sender, "password_error_nick"); m.send(sender, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return true; return true;
} }
if (playerPassLowerCase.length() < Settings.getPasswordMinLen || playerPassLowerCase.length() > Settings.passwordMaxLength) { if (playerPassLowerCase.length() < Settings.getPasswordMinLen || playerPassLowerCase.length() > Settings.passwordMaxLength) {
m.send(sender, "pass_len"); m.send(sender, MessageKey.INVALID_PASSWORD_LENGTH);
return true; return true;
} }
if (!Settings.unsafePasswords.isEmpty()) { if (!Settings.unsafePasswords.isEmpty()) {
if (Settings.unsafePasswords.contains(playerPassLowerCase)) { if (Settings.unsafePasswords.contains(playerPassLowerCase)) {
m.send(sender, "password_error_unsafe"); m.send(sender, MessageKey.PASSWORD_UNSAFE_ERROR);
return true; return true;
} }
} }
@ -58,7 +59,7 @@ public class ChangePasswordCommand extends ExecutableCommand {
try { try {
hash = PasswordSecurity.getHash(Settings.getPasswordHash, playerPass, playerNameLowerCase); hash = PasswordSecurity.getHash(Settings.getPasswordHash, playerPass, playerNameLowerCase);
} catch (NoSuchAlgorithmException e) { } catch (NoSuchAlgorithmException e) {
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
return; return;
} }
PlayerAuth auth = null; PlayerAuth auth = null;
@ -68,7 +69,7 @@ public class ChangePasswordCommand extends ExecutableCommand {
auth = plugin.database.getAuth(playerNameLowerCase); auth = plugin.database.getAuth(playerNameLowerCase);
} }
if (auth == null) { if (auth == null) {
m.send(sender, "unknown_user"); m.send(sender, MessageKey.UNKNOWN_USER);
return; return;
} }
auth.setHash(hash); auth.setHash(hash);
@ -77,7 +78,7 @@ public class ChangePasswordCommand extends ExecutableCommand {
plugin.database.updateSalt(auth); plugin.database.updateSalt(auth);
} }
if (!plugin.database.updatePassword(auth)) { if (!plugin.database.updatePassword(auth)) {
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
return; return;
} }
sender.sendMessage("pwd_changed"); sender.sendMessage("pwd_changed");

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -32,7 +33,7 @@ public class GetEmailCommand extends ExecutableCommand {
Messages m = plugin.getMessages(); Messages m = plugin.getMessages();
PlayerAuth auth = plugin.database.getAuth(playerName.toLowerCase()); PlayerAuth auth = plugin.database.getAuth(playerName.toLowerCase());
if (auth == null) { if (auth == null) {
m.send(sender, "unknown_user"); m.send(sender, MessageKey.UNKNOWN_USER);
return true; return true;
} }

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -28,11 +29,11 @@ public class LastLoginCommand extends ExecutableCommand {
try { try {
auth = plugin.database.getAuth(playerName.toLowerCase()); auth = plugin.database.getAuth(playerName.toLowerCase());
} catch (NullPointerException e) { } catch (NullPointerException e) {
m.send(sender, "unknown_user"); m.send(sender, MessageKey.UNKNOWN_USER);
return true; return true;
} }
if (auth == null) { if (auth == null) {
m.send(sender, "user_unknown"); m.send(sender, MessageKey.USER_NOT_REGISTERED);
return true; return true;
} }

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -41,7 +42,7 @@ public class PurgeLastPositionCommand extends ExecutableCommand {
// Get the user auth and make sure the user exists // Get the user auth and make sure the user exists
PlayerAuth auth = plugin.database.getAuth(playerNameLowerCase); PlayerAuth auth = plugin.database.getAuth(playerNameLowerCase);
if (auth == null) { if (auth == null) {
m.send(sender, "unknown_user"); m.send(sender, MessageKey.UNKNOWN_USER);
return true; return true;
} }

View File

@ -6,6 +6,7 @@ import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -42,20 +43,20 @@ public class RegisterCommand extends ExecutableCommand {
// Command logic // Command logic
if (playerPassLowerCase.contains("delete") || playerPassLowerCase.contains("where") || playerPassLowerCase.contains("insert") || playerPassLowerCase.contains("modify") || playerPassLowerCase.contains("from") || playerPassLowerCase.contains("select") || playerPassLowerCase.contains(";") || playerPassLowerCase.contains("null") || !playerPassLowerCase.matches(Settings.getPassRegex)) { if (playerPassLowerCase.contains("delete") || playerPassLowerCase.contains("where") || playerPassLowerCase.contains("insert") || playerPassLowerCase.contains("modify") || playerPassLowerCase.contains("from") || playerPassLowerCase.contains("select") || playerPassLowerCase.contains(";") || playerPassLowerCase.contains("null") || !playerPassLowerCase.matches(Settings.getPassRegex)) {
m.send(sender, "password_error"); m.send(sender, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return true; return true;
} }
if (playerPassLowerCase.equalsIgnoreCase(playerName)) { if (playerPassLowerCase.equalsIgnoreCase(playerName)) {
m.send(sender, "password_error_nick"); m.send(sender, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return true; return true;
} }
if (playerPassLowerCase.length() < Settings.getPasswordMinLen || playerPassLowerCase.length() > Settings.passwordMaxLength) { if (playerPassLowerCase.length() < Settings.getPasswordMinLen || playerPassLowerCase.length() > Settings.passwordMaxLength) {
m.send(sender, "pass_len"); m.send(sender, MessageKey.INVALID_PASSWORD_LENGTH);
return true; return true;
} }
if (!Settings.unsafePasswords.isEmpty()) { if (!Settings.unsafePasswords.isEmpty()) {
if (Settings.unsafePasswords.contains(playerPassLowerCase)) { if (Settings.unsafePasswords.contains(playerPassLowerCase)) {
m.send(sender, "password_error_unsafe"); m.send(sender, MessageKey.PASSWORD_UNSAFE_ERROR);
return true; return true;
} }
} }
@ -65,7 +66,7 @@ public class RegisterCommand extends ExecutableCommand {
public void run() { public void run() {
try { try {
if (plugin.database.isAuthAvailable(playerNameLowerCase)) { if (plugin.database.isAuthAvailable(playerNameLowerCase)) {
m.send(sender, "user_regged"); m.send(sender, MessageKey.NAME_ALREADY_REGISTERED);
return; return;
} }
String hash = PasswordSecurity.getHash(Settings.getPasswordHash, playerPassLowerCase, playerNameLowerCase); String hash = PasswordSecurity.getHash(Settings.getPasswordHash, playerPassLowerCase, playerNameLowerCase);
@ -74,17 +75,17 @@ public class RegisterCommand extends ExecutableCommand {
auth.setSalt(PasswordSecurity.userSalt.get(playerNameLowerCase)); auth.setSalt(PasswordSecurity.userSalt.get(playerNameLowerCase));
else auth.setSalt(""); else auth.setSalt("");
if (!plugin.database.saveAuth(auth)) { if (!plugin.database.saveAuth(auth)) {
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
return; return;
} }
plugin.database.setUnlogged(playerNameLowerCase); plugin.database.setUnlogged(playerNameLowerCase);
if (Bukkit.getPlayerExact(playerName) != null) if (Bukkit.getPlayerExact(playerName) != null)
Bukkit.getPlayerExact(playerName).kickPlayer("An admin just registered you, please log again"); Bukkit.getPlayerExact(playerName).kickPlayer("An admin just registered you, please log again");
m.send(sender, "registered"); m.send(sender, MessageKey.REGISTER_SUCCESS);
ConsoleLogger.info(playerNameLowerCase + " registered"); ConsoleLogger.info(playerNameLowerCase + " registered");
} catch (NoSuchAlgorithmException ex) { } catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage()); ConsoleLogger.showError(ex.getMessage());
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
} }
} }

View File

@ -6,6 +6,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.Profiler; import fr.xephi.authme.util.Profiler;
@ -52,7 +53,7 @@ public class ReloadCommand extends ExecutableCommand {
// Show a status message // Show a status message
// TODO: add the profiler result // TODO: add the profiler result
m.send(sender, "reload"); m.send(sender, MessageKey.CONFIG_RELOAD_SUCCESS);
// AuthMeReloaded reloaded, show a status message // AuthMeReloaded reloaded, show a status message
// sender.sendMessage(ChatColor.GREEN + "AuthMeReloaded has been reloaded successfully, took " + p.getTimeFormatted() + "!"); // sender.sendMessage(ChatColor.GREEN + "AuthMeReloaded has been reloaded successfully, took " + p.getTimeFormatted() + "!");

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -36,21 +37,21 @@ public class SetEmailCommand extends ExecutableCommand {
// Validate the email address // Validate the email address
if (!Settings.isEmailCorrect(playerEmail)) { if (!Settings.isEmailCorrect(playerEmail)) {
m.send(sender, "email_invalid"); m.send(sender, MessageKey.INVALID_EMAIL);
return true; return true;
} }
// Validate the user // Validate the user
PlayerAuth auth = plugin.database.getAuth(playerName.toLowerCase()); PlayerAuth auth = plugin.database.getAuth(playerName.toLowerCase());
if (auth == null) { if (auth == null) {
m.send(sender, "unknown_user"); m.send(sender, MessageKey.UNKNOWN_USER);
return true; return true;
} }
// Set the email address // Set the email address
auth.setEmail(playerEmail); auth.setEmail(playerEmail);
if (!plugin.database.updateEmail(auth)) { if (!plugin.database.updateEmail(auth)) {
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
return true; return true;
} }
@ -59,7 +60,7 @@ public class SetEmailCommand extends ExecutableCommand {
PlayerCache.getInstance().updatePlayer(auth); PlayerCache.getInstance().updatePlayer(auth);
// Show a status message // Show a status message
m.send(sender, "email_changed"); m.send(sender, MessageKey.EMAIL_CHANGED_SUCCESS);
return true; return true;
} }
} }

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.ChangePasswordTask; import fr.xephi.authme.task.ChangePasswordTask;
@ -32,7 +33,7 @@ public class ChangePasswordCommand extends ExecutableCommand {
Player player = (Player) sender; Player player = (Player) sender;
String name = player.getName().toLowerCase(); String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) { if (!PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "not_logged_in"); m.send(player, MessageKey.NOT_LOGGED_IN);
return true; return true;
} }
@ -43,21 +44,21 @@ public class ChangePasswordCommand extends ExecutableCommand {
|| playerPassLowerCase.contains("from") || playerPassLowerCase.contains("select") || playerPassLowerCase.contains("from") || playerPassLowerCase.contains("select")
|| playerPassLowerCase.contains(";") || playerPassLowerCase.contains("null") || playerPassLowerCase.contains(";") || playerPassLowerCase.contains("null")
|| !playerPassLowerCase.matches(Settings.getPassRegex)) { || !playerPassLowerCase.matches(Settings.getPassRegex)) {
m.send(player, "password_error"); m.send(player, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return true; return true;
} }
if (playerPassLowerCase.equalsIgnoreCase(name)) { if (playerPassLowerCase.equalsIgnoreCase(name)) {
m.send(player, "password_error_nick"); m.send(player, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return true; return true;
} }
if (playerPassLowerCase.length() < Settings.getPasswordMinLen if (playerPassLowerCase.length() < Settings.getPasswordMinLen
|| playerPassLowerCase.length() > Settings.passwordMaxLength) { || playerPassLowerCase.length() > Settings.passwordMaxLength) {
m.send(player, "pass_len"); m.send(player, MessageKey.INVALID_PASSWORD_LENGTH);
return true; return true;
} }
if (!Settings.unsafePasswords.isEmpty()) { if (!Settings.unsafePasswords.isEmpty()) {
if (Settings.unsafePasswords.contains(playerPassLowerCase)) { if (Settings.unsafePasswords.contains(playerPassLowerCase)) {
m.send(player, "password_error_unsafe"); m.send(player, MessageKey.PASSWORD_UNSAFE_ERROR);
return true; return true;
} }
} }

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.converter.*; import fr.xephi.authme.converter.*;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -35,7 +36,7 @@ public class ConverterCommand extends ExecutableCommand {
// Determine the job type // Determine the job type
ConvertType jobType = ConvertType.fromName(job); ConvertType jobType = ConvertType.fromName(job);
if (jobType == null) { if (jobType == null) {
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
return true; return true;
} }

View File

@ -8,6 +8,7 @@ import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.security.RandomString; import fr.xephi.authme.security.RandomString;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -38,12 +39,12 @@ public class RecoverEmailCommand extends ExecutableCommand {
final Messages m = plugin.getMessages(); final Messages m = plugin.getMessages();
if (plugin.mail == null) { if (plugin.mail == null) {
m.send(player, "error"); m.send(player, MessageKey.ERROR);
return true; return true;
} }
if (plugin.database.isAuthAvailable(playerName)) { if (plugin.database.isAuthAvailable(playerName)) {
if (PlayerCache.getInstance().isAuthenticated(playerName)) { if (PlayerCache.getInstance().isAuthenticated(playerName)) {
m.send(player, "logged_in"); m.send(player, MessageKey.ALREADY_LOGGED_IN_ERROR);
return true; return true;
} }
try { try {
@ -56,29 +57,29 @@ public class RecoverEmailCommand extends ExecutableCommand {
} else if (plugin.database.isAuthAvailable(playerName)) { } else if (plugin.database.isAuthAvailable(playerName)) {
auth = plugin.database.getAuth(playerName); auth = plugin.database.getAuth(playerName);
} else { } else {
m.send(player, "unknown_user"); m.send(player, MessageKey.UNKNOWN_USER);
return true; return true;
} }
if (Settings.getmailAccount.equals("") || Settings.getmailAccount.isEmpty()) { if (Settings.getmailAccount.equals("") || Settings.getmailAccount.isEmpty()) {
m.send(player, "error"); m.send(player, MessageKey.ERROR);
return true; return true;
} }
if (!playerMail.equalsIgnoreCase(auth.getEmail()) || playerMail.equalsIgnoreCase("your@email.com") || auth.getEmail().equalsIgnoreCase("your@email.com")) { if (!playerMail.equalsIgnoreCase(auth.getEmail()) || playerMail.equalsIgnoreCase("your@email.com") || auth.getEmail().equalsIgnoreCase("your@email.com")) {
m.send(player, "email_invalid"); m.send(player, MessageKey.INVALID_EMAIL);
return true; return true;
} }
auth.setHash(hashNew); auth.setHash(hashNew);
plugin.database.updatePassword(auth); plugin.database.updatePassword(auth);
plugin.mail.main(auth, thePass); plugin.mail.main(auth, thePass);
m.send(player, "email_send"); m.send(player, MessageKey.RECOVERY_EMAIL_SENT_MESSAGE);
} catch (NoSuchAlgorithmException | NoClassDefFoundError ex) { } catch (NoSuchAlgorithmException | NoClassDefFoundError ex) {
ex.printStackTrace(); ex.printStackTrace();
ConsoleLogger.showError(ex.getMessage()); ConsoleLogger.showError(ex.getMessage());
m.send(sender, "error"); m.send(sender, MessageKey.ERROR);
} }
} else { } else {
m.send(player, "reg_email_msg"); m.send(player, MessageKey.REGISTER_EMAIL_MESSAGE);
} }
return true; return true;

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.process.Management; import fr.xephi.authme.process.Management;
import fr.xephi.authme.security.RandomString; import fr.xephi.authme.security.RandomString;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -29,7 +30,7 @@ public class RegisterCommand extends ExecutableCommand {
// Make sure the command arguments are valid // Make sure the command arguments are valid
final Player player = (Player) sender; final Player player = (Player) sender;
if (commandArguments.getCount() == 0 || (Settings.getEnablePasswordVerifier && commandArguments.getCount() < 2)) { if (commandArguments.getCount() == 0 || (Settings.getEnablePasswordVerifier && commandArguments.getCount() < 2)) {
m.send(player, "usage_reg"); m.send(player, MessageKey.USAGE_REGISTER);
return true; return true;
} }
@ -37,13 +38,13 @@ public class RegisterCommand extends ExecutableCommand {
if (Settings.emailRegistration && !Settings.getmailAccount.isEmpty()) { if (Settings.emailRegistration && !Settings.getmailAccount.isEmpty()) {
if (Settings.doubleEmailCheck) { if (Settings.doubleEmailCheck) {
if (commandArguments.getCount() < 2 || !commandArguments.get(0).equals(commandArguments.get(1))) { if (commandArguments.getCount() < 2 || !commandArguments.get(0).equals(commandArguments.get(1))) {
m.send(player, "usage_reg"); m.send(player, MessageKey.USAGE_REGISTER);
return true; return true;
} }
} }
final String email = commandArguments.get(0); final String email = commandArguments.get(0);
if (!Settings.isEmailCorrect(email)) { if (!Settings.isEmailCorrect(email)) {
m.send(player, "email_invalid"); m.send(player, MessageKey.INVALID_EMAIL);
return true; return true;
} }
final String thePass = new RandomString(Settings.getRecoveryPassLength).nextString(); final String thePass = new RandomString(Settings.getRecoveryPassLength).nextString();
@ -52,7 +53,7 @@ public class RegisterCommand extends ExecutableCommand {
} }
if (commandArguments.getCount() > 1 && Settings.getEnablePasswordVerifier) { if (commandArguments.getCount() > 1 && Settings.getEnablePasswordVerifier) {
if (!commandArguments.get(0).equals(commandArguments.get(1))) { if (!commandArguments.get(0).equals(commandArguments.get(1))) {
m.send(player, "password_error"); m.send(player, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return true; return true;
} }
} }

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand; import fr.xephi.authme.command.ExecutableCommand;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -43,7 +44,7 @@ public class UnregisterCommand extends ExecutableCommand {
// Make sure the player is authenticated // Make sure the player is authenticated
if (!PlayerCache.getInstance().isAuthenticated(playerNameLowerCase)) { if (!PlayerCache.getInstance().isAuthenticated(playerNameLowerCase)) {
m.send(player, "not_logged_in"); m.send(player, MessageKey.NOT_LOGGED_IN);
return true; return true;
} }

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.datasource.FlatFile; import fr.xephi.authme.datasource.FlatFile;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -52,7 +53,7 @@ public class SqlToFlat implements Converter {
sender.sendMessage("Successfully convert from SQL table to file auths.db"); sender.sendMessage("Successfully convert from SQL table to file auths.db");
} catch (Exception ex) { } catch (Exception ex) {
ConsoleLogger.showError(ex.getMessage()); ConsoleLogger.showError(ex.getMessage());
plugin.getMessages().send(sender, "error"); plugin.getMessages().send(sender, MessageKey.ERROR);
} }
} }

View File

@ -2,7 +2,6 @@ package fr.xephi.authme.listener;
import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams; import com.google.common.io.ByteStreams;
import fr.xephi.authme.AntiBot; import fr.xephi.authme.AntiBot;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
@ -11,6 +10,7 @@ import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.cache.limbo.LimboPlayer; import fr.xephi.authme.cache.limbo.LimboPlayer;
import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.permission.PermissionsManager;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.GeoLiteAPI; import fr.xephi.authme.util.GeoLiteAPI;
@ -29,7 +29,6 @@ import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.event.inventory.InventoryOpenEvent;
import org.bukkit.event.player.*; import org.bukkit.event.player.*;
import java.util.Arrays;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
/** /**
@ -75,12 +74,12 @@ public class AuthMePlayerListener implements Listener {
event.setCancelled(true); event.setCancelled(true);
if (plugin.database.isAuthAvailable(player.getName().toLowerCase())) { if (plugin.database.isAuthAvailable(player.getName().toLowerCase())) {
m.send(player, "login_msg"); m.send(player, MessageKey.LOGIN_MESSAGE);
} else { } else {
if (Settings.emailRegistration) { if (Settings.emailRegistration) {
m.send(player, "reg_email_msg"); m.send(player, MessageKey.REGISTER_EMAIL_MESSAGE);
} else { } else {
m.send(player, "reg_msg"); m.send(player, MessageKey.REGISTER_MESSAGE);
} }
} }
@ -190,7 +189,7 @@ public class AuthMePlayerListener implements Listener {
if (!Settings.isMovementAllowed) { if (!Settings.isMovementAllowed) {
event.setTo(event.getFrom()); event.setTo(event.getFrom());
if(Settings.isRemoveSpeedEnabled) { if (Settings.isRemoveSpeedEnabled) {
player.setFlySpeed(0.0f); player.setFlySpeed(0.0f);
player.setWalkSpeed(0.0f); player.setWalkSpeed(0.0f);
} }
@ -297,11 +296,11 @@ public class AuthMePlayerListener implements Listener {
} else { } else {
Player pl = plugin.generateKickPlayer(Utils.getOnlinePlayers()); Player pl = plugin.generateKickPlayer(Utils.getOnlinePlayers());
if (pl != null) { if (pl != null) {
pl.kickPlayer(m.send("kick_forvip")[0]); pl.kickPlayer(m.retrieveSingle(MessageKey.KICK_FOR_VIP));
event.allow(); event.allow();
} else { } else {
ConsoleLogger.info("The player " + event.getPlayer().getName() + " tryed to join, but the server was full"); ConsoleLogger.info("The player " + event.getPlayer().getName() + " tryed to join, but the server was full");
event.setKickMessage(m.send("kick_fullserver")[0]); event.setKickMessage(m.retrieveSingle(MessageKey.KICK_FULL_SERVER));
event.setResult(PlayerLoginEvent.Result.KICK_FULL); event.setResult(PlayerLoginEvent.Result.KICK_FULL);
} }
} }
@ -316,7 +315,7 @@ public class AuthMePlayerListener implements Listener {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
if (event.getResult() == PlayerLoginEvent.Result.KICK_FULL && !permsMan.hasPermission(player, "authme.vip")) { if (event.getResult() == PlayerLoginEvent.Result.KICK_FULL && !permsMan.hasPermission(player, "authme.vip")) {
event.setKickMessage(m.send("kick_fullserver")[0]); event.setKickMessage(m.retrieveSingle(MessageKey.KICK_FULL_SERVER));
event.setResult(PlayerLoginEvent.Result.KICK_FULL); event.setResult(PlayerLoginEvent.Result.KICK_FULL);
return; return;
} }
@ -331,7 +330,7 @@ public class AuthMePlayerListener implements Listener {
if (!Settings.countriesBlacklist.isEmpty() && !isAuthAvailable && !permsMan.hasPermission(player, "authme.bypassantibot")) { if (!Settings.countriesBlacklist.isEmpty() && !isAuthAvailable && !permsMan.hasPermission(player, "authme.bypassantibot")) {
String code = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress()); String code = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress());
if (Settings.countriesBlacklist.contains(code)) { if (Settings.countriesBlacklist.contains(code)) {
event.setKickMessage(m.send("country_banned")[0]); event.setKickMessage(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR));
event.setResult(PlayerLoginEvent.Result.KICK_OTHER); event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
return; return;
} }
@ -340,7 +339,7 @@ public class AuthMePlayerListener implements Listener {
if (Settings.enableProtection && !Settings.countries.isEmpty() && !isAuthAvailable && !permsMan.hasPermission(player, "authme.bypassantibot")) { if (Settings.enableProtection && !Settings.countries.isEmpty() && !isAuthAvailable && !permsMan.hasPermission(player, "authme.bypassantibot")) {
String code = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress()); String code = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress());
if (!Settings.countries.contains(code)) { if (!Settings.countries.contains(code)) {
event.setKickMessage(m.send("country_banned")[0]); event.setKickMessage(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR));
event.setResult(PlayerLoginEvent.Result.KICK_OTHER); event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
return; return;
} }
@ -353,20 +352,20 @@ public class AuthMePlayerListener implements Listener {
event.setResult(PlayerLoginEvent.Result.KICK_OTHER); event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
return; return;
} else { } else {
event.setKickMessage(m.send("reg_only")[0]); event.setKickMessage(m.retrieveSingle(MessageKey.MUST_REGISTER_MESSAGE));
event.setResult(PlayerLoginEvent.Result.KICK_OTHER); event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
return; return;
} }
} }
if (name.length() > Settings.getMaxNickLength || name.length() < Settings.getMinNickLength) { if (name.length() > Settings.getMaxNickLength || name.length() < Settings.getMinNickLength) {
event.setKickMessage(Arrays.toString(m.send("name_len"))); event.setKickMessage(m.retrieveSingle(MessageKey.INVALID_NAME_LENGTH));
event.setResult(PlayerLoginEvent.Result.KICK_OTHER); event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
return; return;
} }
if (!Settings.nickPattern.matcher(player.getName()).matches() || name.equalsIgnoreCase("Player")) { if (!Settings.nickPattern.matcher(player.getName()).matches() || name.equalsIgnoreCase("Player")) {
event.setKickMessage(m.send("regex")[0].replace("REG_EX", Settings.getNickRegex)); event.setKickMessage(m.retrieveSingle(MessageKey.INVALID_NAME_CHARACTERS).replace("REG_EX", Settings.getNickRegex));
event.setResult(PlayerLoginEvent.Result.KICK_OTHER); event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
return; return;
} }

View File

@ -2,6 +2,7 @@ package fr.xephi.authme.listener;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.GeoLiteAPI; import fr.xephi.authme.util.GeoLiteAPI;
@ -44,7 +45,7 @@ public class AuthMeServerListener implements Listener {
String countryCode = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress()); String countryCode = GeoLiteAPI.getCountryCode(event.getAddress().getHostAddress());
if (!Settings.countriesBlacklist.isEmpty()) { if (!Settings.countriesBlacklist.isEmpty()) {
if (Settings.countriesBlacklist.contains(countryCode)) { if (Settings.countriesBlacklist.contains(countryCode)) {
event.setMotd(m.send("country_banned")[0]); event.setMotd(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR));
return; return;
} }
} }
@ -53,7 +54,7 @@ public class AuthMeServerListener implements Listener {
if (Settings.countries.contains(countryCode)) { if (Settings.countries.contains(countryCode)) {
event.setMotd(plugin.getServer().getMotd()); event.setMotd(plugin.getServer().getMotd());
} else { } else {
event.setMotd(m.send("country_banned")[0]); event.setMotd(m.retrieveSingle(MessageKey.COUNTRY_BANNED_ERROR));
} }
} }
} }

View File

@ -42,8 +42,7 @@ public class AsyncChangeEmail {
if (Settings.getmaxRegPerEmail > 0) { if (Settings.getmaxRegPerEmail > 0) {
if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts")
&& plugin.database.getAllAuthsByEmail(newEmail).size() >= Settings.getmaxRegPerEmail) { && plugin.database.getAllAuthsByEmail(newEmail).size() >= Settings.getmaxRegPerEmail) {
// TODO ljacqu 20151124: max_reg is not in enum m.send(player, MessageKey.MAX_REGISTER_EXCEEDED);
m.send(player, "max_reg");
return; return;
} }
} }
@ -83,15 +82,16 @@ public class AsyncChangeEmail {
} }
m.send(player, MessageKey.EMAIL_CHANGED_SUCCESS); m.send(player, MessageKey.EMAIL_CHANGED_SUCCESS);
// TODO ljacqu 20151124: Did I really miss "email_defined" or is it not present in the 'en' messages? // TODO ljacqu 20151124: Did I really miss "email_defined" or is it not present in the 'en' messages?
player.sendMessage(Arrays.toString(m.send("email_defined")) + auth.getEmail()); // player.sendMessage(Arrays.toString(m.send("email_defined")) + auth.getEmail());
} else { } else {
if (plugin.database.isAuthAvailable(playerName)) { if (plugin.database.isAuthAvailable(playerName)) {
m.send(player, MessageKey.LOGIN_MESSAGE); m.send(player, MessageKey.LOGIN_MESSAGE);
} else { } else {
if (Settings.emailRegistration) if (Settings.emailRegistration) {
m.send(player, MessageKey.REGISTER_EMAIL_MESSAGE); m.send(player, MessageKey.REGISTER_EMAIL_MESSAGE);
else } else {
m.send(player, MessageKey.REGISTER_MESSAGE); m.send(player, MessageKey.REGISTER_MESSAGE);
}
} }
} }
} catch (Exception e) { } catch (Exception e) {

View File

@ -10,6 +10,7 @@ import fr.xephi.authme.events.AuthMeAsyncPreLoginEvent;
import fr.xephi.authme.listener.AuthMePlayerListener; import fr.xephi.authme.listener.AuthMePlayerListener;
import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.security.RandomString; import fr.xephi.authme.security.RandomString;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask; import fr.xephi.authme.task.MessageTask;
@ -80,7 +81,7 @@ public class AsynchronousLogin {
} }
if (plugin.captcha.containsKey(name) && plugin.captcha.get(name) >= Settings.maxLoginTry) { if (plugin.captcha.containsKey(name) && plugin.captcha.get(name) >= Settings.maxLoginTry) {
plugin.cap.put(name, rdm.nextString()); plugin.cap.put(name, rdm.nextString());
for (String s : m.send("usage_captcha")) { for (String s : m.retrieve(MessageKey.USAGE_CAPTCHA)) {
player.sendMessage(s.replace("THE_CAPTCHA", plugin.cap.get(name)).replace("<theCaptcha>", plugin.cap.get(name))); player.sendMessage(s.replace("THE_CAPTCHA", plugin.cap.get(name)).replace("<theCaptcha>", plugin.cap.get(name)));
} }
return true; return true;
@ -100,18 +101,18 @@ public class AsynchronousLogin {
*/ */
protected PlayerAuth preAuth() { protected PlayerAuth preAuth() {
if (PlayerCache.getInstance().isAuthenticated(name)) { if (PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "logged_in"); m.send(player, MessageKey.ALREADY_LOGGED_IN_ERROR);
return null; return null;
} }
if (!database.isAuthAvailable(name)) { if (!database.isAuthAvailable(name)) {
m.send(player, "user_unknown"); m.send(player, MessageKey.USER_NOT_REGISTERED);
if (LimboCache.getInstance().hasLimboPlayer(name)) { if (LimboCache.getInstance().hasLimboPlayer(name)) {
LimboCache.getInstance().getLimboPlayer(name).getMessageTaskId().cancel(); LimboCache.getInstance().getLimboPlayer(name).getMessageTaskId().cancel();
String[] msg; String[] msg;
if (Settings.emailRegistration) { if (Settings.emailRegistration) {
msg = m.send("reg_email_msg"); msg = m.retrieve(MessageKey.REGISTER_EMAIL_MESSAGE);
} else { } else {
msg = m.send("reg_msg"); msg = m.retrieve(MessageKey.REGISTER_MESSAGE);
} }
BukkitTask msgT = Bukkit.getScheduler().runTaskAsynchronously(plugin, new MessageTask(plugin, name, msg, Settings.getWarnMessageInterval)); BukkitTask msgT = Bukkit.getScheduler().runTaskAsynchronously(plugin, new MessageTask(plugin, name, msg, Settings.getWarnMessageInterval));
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT); LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT);
@ -120,17 +121,17 @@ public class AsynchronousLogin {
} }
if (Settings.getMaxLoginPerIp > 0 && !plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && !getIP().equalsIgnoreCase("127.0.0.1") && !getIP().equalsIgnoreCase("localhost")) { if (Settings.getMaxLoginPerIp > 0 && !plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && !getIP().equalsIgnoreCase("127.0.0.1") && !getIP().equalsIgnoreCase("localhost")) {
if (plugin.isLoggedIp(name, getIP())) { if (plugin.isLoggedIp(name, getIP())) {
m.send(player, "logged_in"); m.send(player, MessageKey.ALREADY_LOGGED_IN_ERROR);
return null; return null;
} }
} }
PlayerAuth pAuth = database.getAuth(name); PlayerAuth pAuth = database.getAuth(name);
if (pAuth == null) { if (pAuth == null) {
m.send(player, "user_unknown"); m.send(player, MessageKey.USER_NOT_REGISTERED);
return null; return null;
} }
if (!Settings.getMySQLColumnGroup.isEmpty() && pAuth.getGroupId() == Settings.getNonActivatedGroup) { if (!Settings.getMySQLColumnGroup.isEmpty() && pAuth.getGroupId() == Settings.getNonActivatedGroup) {
m.send(player, "vb_nonActiv"); m.send(player, MessageKey.ACCOUNT_NOT_ACTIVATED);
return null; return null;
} }
AuthMeAsyncPreLoginEvent event = new AuthMeAsyncPreLoginEvent(player); AuthMeAsyncPreLoginEvent event = new AuthMeAsyncPreLoginEvent(player);
@ -153,7 +154,7 @@ public class AsynchronousLogin {
passwordVerified = PasswordSecurity.comparePasswordWithHash(password, hash, realName); passwordVerified = PasswordSecurity.comparePasswordWithHash(password, hash, realName);
} catch (Exception ex) { } catch (Exception ex) {
ConsoleLogger.showError(ex.getMessage()); ConsoleLogger.showError(ex.getMessage());
m.send(player, "error"); m.send(player, MessageKey.ERROR);
return; return;
} }
if (passwordVerified && player.isOnline()) { if (passwordVerified && player.isOnline()) {
@ -171,17 +172,19 @@ public class AsynchronousLogin {
player.setNoDamageTicks(0); player.setNoDamageTicks(0);
if (!forceLogin) if (!forceLogin)
m.send(player, "login"); m.send(player, MessageKey.LOGIN_SUCCESS);
displayOtherAccounts(auth, player); displayOtherAccounts(auth, player);
if (Settings.recallEmail) { if (Settings.recallEmail) {
if (email == null || email.isEmpty() || email.equalsIgnoreCase("your@email.com")) if (email == null || email.isEmpty() || email.equalsIgnoreCase("your@email.com")) {
m.send(player, "add_email"); m.send(player, MessageKey.EMAIL_ADDED_SUCCESS);
}
} }
if (!Settings.noConsoleSpam) if (!Settings.noConsoleSpam) {
ConsoleLogger.info(realName + " logged in!"); ConsoleLogger.info(realName + " logged in!");
}
// makes player isLoggedin via API // makes player isLoggedin via API
PlayerCache.getInstance().addPlayer(auth); PlayerCache.getInstance().addPlayer(auth);
@ -211,11 +214,11 @@ public class AsynchronousLogin {
if (AuthMePlayerListener.gameMode != null && AuthMePlayerListener.gameMode.containsKey(name)) { if (AuthMePlayerListener.gameMode != null && AuthMePlayerListener.gameMode.containsKey(name)) {
player.setGameMode(AuthMePlayerListener.gameMode.get(name)); player.setGameMode(AuthMePlayerListener.gameMode.get(name));
} }
player.kickPlayer(m.send("wrong_pwd")[0]); player.kickPlayer(m.retrieveSingle(MessageKey.WRONG_PASSWORD));
} }
}); });
} else { } else {
m.send(player, "wrong_pwd"); m.send(player, MessageKey.WRONG_PASSWORD);
} }
} else { } else {
ConsoleLogger.showError("Player " + name + " wasn't online during login process, aborted... "); ConsoleLogger.showError("Player " + name + " wasn't online during login process, aborted... ");

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.util.Utils; import fr.xephi.authme.util.Utils;
import fr.xephi.authme.util.Utils.GroupType; import fr.xephi.authme.util.Utils.GroupType;
@ -39,7 +40,7 @@ public class AsynchronousLogout {
private void preLogout() { private void preLogout() {
if (!PlayerCache.getInstance().isAuthenticated(name)) { if (!PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "not_logged_in"); m.send(player, MessageKey.NOT_LOGGED_IN);
canLogout = false; canLogout = false;
} }
} }

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.events.LogoutEvent; import fr.xephi.authme.events.LogoutEvent;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask; import fr.xephi.authme.task.MessageTask;
@ -58,7 +59,7 @@ public class ProcessSyncronousPlayerLogout implements Runnable {
BukkitTask id = sched.runTaskLaterAsynchronously(plugin, new TimeoutTask(plugin, name, player), timeOut); BukkitTask id = sched.runTaskLaterAsynchronously(plugin, new TimeoutTask(plugin, name, player), timeOut);
LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id); LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id);
} }
BukkitTask msgT = sched.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.send("login_msg"), interval)); BukkitTask msgT = sched.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.retrieve(MessageKey.LOGIN_MESSAGE), interval));
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT); LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT);
if (player.isInsideVehicle() && player.getVehicle() != null) if (player.isInsideVehicle() && player.getVehicle() != null)
player.getVehicle().eject(); player.getVehicle().eject();
@ -75,7 +76,7 @@ public class ProcessSyncronousPlayerLogout implements Runnable {
} }
// Player is now logout... Time to fire event ! // Player is now logout... Time to fire event !
Bukkit.getServer().getPluginManager().callEvent(new LogoutEvent(player)); Bukkit.getServer().getPluginManager().callEvent(new LogoutEvent(player));
m.send(player, "logout"); m.send(player, MessageKey.LOGOUT_SUCCESS);
ConsoleLogger.info(player.getName() + " logged out"); ConsoleLogger.info(player.getName() + " logged out");
} }

View File

@ -6,6 +6,7 @@ import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -61,29 +62,29 @@ public class AsyncRegister {
protected boolean preRegisterCheck() throws Exception { protected boolean preRegisterCheck() throws Exception {
String passLow = password.toLowerCase(); String passLow = password.toLowerCase();
if (PlayerCache.getInstance().isAuthenticated(name)) { if (PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "logged_in"); m.send(player, MessageKey.ALREADY_LOGGED_IN_ERROR);
return false; return false;
} else if (!Settings.isRegistrationEnabled) { } else if (!Settings.isRegistrationEnabled) {
m.send(player, "reg_disabled"); m.send(player, MessageKey.REGISTRATION_DISABLED);
return false; return false;
} else if (passLow.contains("delete") || passLow.contains("where") || passLow.contains("insert") || passLow.contains("modify") || passLow.contains("from") || passLow.contains("select") || passLow.contains(";") || passLow.contains("null") || !passLow.matches(Settings.getPassRegex)) { } else if (passLow.contains("delete") || passLow.contains("where") || passLow.contains("insert") || passLow.contains("modify") || passLow.contains("from") || passLow.contains("select") || passLow.contains(";") || passLow.contains("null") || !passLow.matches(Settings.getPassRegex)) {
m.send(player, "password_error"); m.send(player, MessageKey.PASSWORD_MATCH_ERROR);
return false; return false;
} else if (passLow.equalsIgnoreCase(player.getName())) { } else if (passLow.equalsIgnoreCase(player.getName())) {
m.send(player, "password_error_nick"); m.send(player, MessageKey.PASSWORD_IS_USERNAME_ERROR);
return false; return false;
} else if (password.length() < Settings.getPasswordMinLen || password.length() > Settings.passwordMaxLength) { } else if (password.length() < Settings.getPasswordMinLen || password.length() > Settings.passwordMaxLength) {
m.send(player, "pass_len"); m.send(player, MessageKey.INVALID_PASSWORD_LENGTH);
return false; return false;
} else if (!Settings.unsafePasswords.isEmpty() && Settings.unsafePasswords.contains(password.toLowerCase())) { } else if (!Settings.unsafePasswords.isEmpty() && Settings.unsafePasswords.contains(password.toLowerCase())) {
m.send(player, "password_error_unsafe"); m.send(player, MessageKey.PASSWORD_UNSAFE_ERROR);
return false; return false;
} else if (database.isAuthAvailable(name)) { } else if (database.isAuthAvailable(name)) {
m.send(player, "user_regged"); m.send(player, MessageKey.NAME_ALREADY_REGISTERED);
return false; return false;
} else if (Settings.getmaxRegPerIp > 0) { } else if (Settings.getmaxRegPerIp > 0) {
if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && database.getAllAuthsByIp(getIp()).size() >= Settings.getmaxRegPerIp && !getIp().equalsIgnoreCase("127.0.0.1") && !getIp().equalsIgnoreCase("localhost")) { if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && database.getAllAuthsByIp(getIp()).size() >= Settings.getmaxRegPerIp && !getIp().equalsIgnoreCase("127.0.0.1") && !getIp().equalsIgnoreCase("localhost")) {
m.send(player, "max_reg"); m.send(player, MessageKey.MAX_REGISTER_EXCEEDED);
return false; return false;
} }
} }
@ -97,7 +98,7 @@ public class AsyncRegister {
if (!email.isEmpty() && !email.equals("")) { if (!email.isEmpty() && !email.equals("")) {
if (Settings.getmaxRegPerEmail > 0) { if (Settings.getmaxRegPerEmail > 0) {
if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && database.getAllAuthsByEmail(email).size() >= Settings.getmaxRegPerEmail) { if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && database.getAllAuthsByEmail(email).size() >= Settings.getmaxRegPerEmail) {
m.send(player, "max_reg"); m.send(player, MessageKey.MAX_REGISTER_EXCEEDED);
return; return;
} }
} }
@ -108,7 +109,7 @@ public class AsyncRegister {
} catch (Exception e) { } catch (Exception e) {
ConsoleLogger.showError(e.getMessage()); ConsoleLogger.showError(e.getMessage());
ConsoleLogger.writeStackTrace(e); ConsoleLogger.writeStackTrace(e);
m.send(player, "error"); m.send(player, MessageKey.ERROR);
} }
} }
@ -120,7 +121,7 @@ public class AsyncRegister {
protected void emailRegister() throws Exception { protected void emailRegister() throws Exception {
if (Settings.getmaxRegPerEmail > 0) { if (Settings.getmaxRegPerEmail > 0) {
if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && database.getAllAuthsByEmail(email).size() >= Settings.getmaxRegPerEmail) { if (!plugin.getPermissionsManager().hasPermission(player, "authme.allow2accounts") && database.getAllAuthsByEmail(email).size() >= Settings.getmaxRegPerEmail) {
m.send(player, "max_reg"); m.send(player, MessageKey.MAX_REGISTER_EXCEEDED);
return; return;
} }
} }
@ -146,7 +147,7 @@ public class AsyncRegister {
hash = PasswordSecurity.getHash(Settings.getPasswordHash, password, name); hash = PasswordSecurity.getHash(Settings.getPasswordHash, password, name);
} catch (NoSuchAlgorithmException e) { } catch (NoSuchAlgorithmException e) {
ConsoleLogger.showError(e.getMessage()); ConsoleLogger.showError(e.getMessage());
m.send(player, "error"); m.send(player, MessageKey.ERROR);
return; return;
} }
if (Settings.getMySQLColumnSalt.isEmpty() && !PasswordSecurity.userSalt.containsKey(name)) { if (Settings.getMySQLColumnSalt.isEmpty() && !PasswordSecurity.userSalt.containsKey(name)) {
@ -155,7 +156,7 @@ public class AsyncRegister {
auth = new PlayerAuth(name, hash, PasswordSecurity.userSalt.get(name), getIp(), new Date().getTime(), player.getName()); auth = new PlayerAuth(name, hash, PasswordSecurity.userSalt.get(name), getIp(), new Date().getTime(), player.getName());
} }
if (!database.saveAuth(auth)) { if (!database.saveAuth(auth)) {
m.send(player, "error"); m.send(player, MessageKey.ERROR);
return; return;
} }
if (!Settings.forceRegLogin) { if (!Settings.forceRegLogin) {

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.cache.limbo.LimboPlayer; import fr.xephi.authme.cache.limbo.LimboPlayer;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask; import fr.xephi.authme.task.MessageTask;
@ -46,7 +47,7 @@ public class ProcessSyncEmailRegister implements Runnable {
if (!Settings.getRegisteredGroup.isEmpty()) { if (!Settings.getRegisteredGroup.isEmpty()) {
Utils.setGroup(player, Utils.GroupType.REGISTERED); Utils.setGroup(player, Utils.GroupType.REGISTERED);
} }
m.send(player, "vb_nonActiv"); m.send(player, MessageKey.ACCOUNT_NOT_ACTIVATED);
int time = Settings.getRegistrationTimeout * 20; int time = Settings.getRegistrationTimeout * 20;
int msgInterval = Settings.getWarnMessageInterval; int msgInterval = Settings.getWarnMessageInterval;
@ -58,7 +59,7 @@ public class ProcessSyncEmailRegister implements Runnable {
} }
if (limbo != null) { if (limbo != null) {
limbo.getMessageTaskId().cancel(); limbo.getMessageTaskId().cancel();
BukkitTask nwMsg = sched.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.send("login_msg"), msgInterval)); BukkitTask nwMsg = sched.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.retrieve(MessageKey.LOGIN_MESSAGE), msgInterval));
limbo.setMessageTaskId(nwMsg); limbo.setMessageTaskId(nwMsg);
} }

View File

@ -6,6 +6,7 @@ import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.cache.limbo.LimboPlayer; import fr.xephi.authme.cache.limbo.LimboPlayer;
import fr.xephi.authme.events.LoginEvent; import fr.xephi.authme.events.LoginEvent;
import fr.xephi.authme.events.RestoreInventoryEvent; import fr.xephi.authme.events.RestoreInventoryEvent;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask; import fr.xephi.authme.task.MessageTask;
@ -69,7 +70,7 @@ public class ProcessSyncronousPasswordRegister implements Runnable {
BukkitTask id = sched.runTaskLaterAsynchronously(plugin, new TimeoutTask(plugin, name, player), delay); BukkitTask id = sched.runTaskLaterAsynchronously(plugin, new TimeoutTask(plugin, name, player), delay);
LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id); LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id);
} }
BukkitTask msgT = sched.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.send("login_msg"), interval)); BukkitTask msgT = sched.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.retrieve(MessageKey.LOGIN_MESSAGE), interval));
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT); LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT);
if (player.isInsideVehicle() && player.getVehicle() != null) { if (player.isInsideVehicle() && player.getVehicle() != null) {
player.getVehicle().eject(); player.getVehicle().eject();
@ -104,9 +105,9 @@ public class ProcessSyncronousPasswordRegister implements Runnable {
if (!Settings.getRegisteredGroup.isEmpty()) { if (!Settings.getRegisteredGroup.isEmpty()) {
Utils.setGroup(player, Utils.GroupType.REGISTERED); Utils.setGroup(player, Utils.GroupType.REGISTERED);
} }
m.send(player, "registered"); m.send(player, MessageKey.REGISTER_SUCCESS);
if (!Settings.getmailAccount.isEmpty()) if (!Settings.getmailAccount.isEmpty())
m.send(player, "add_email"); m.send(player, MessageKey.ADD_EMAIL_MESSAGE);
if (player.getGameMode() != GameMode.CREATIVE && !Settings.isMovementAllowed) { if (player.getGameMode() != GameMode.CREATIVE && !Settings.isMovementAllowed) {
player.setAllowFlight(false); player.setAllowFlight(false);
player.setFlying(false); player.setFlying(false);
@ -126,7 +127,7 @@ public class ProcessSyncronousPasswordRegister implements Runnable {
// Kick Player after Registration is enabled, kick the player // Kick Player after Registration is enabled, kick the player
if (Settings.forceRegKick) { if (Settings.forceRegKick) {
player.kickPlayer(m.send("registered")[0]); player.kickPlayer(m.retrieveSingle(MessageKey.REGISTER_SUCCESS));
return; return;
} }

View File

@ -5,7 +5,9 @@ import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.cache.backup.JsonCache; import fr.xephi.authme.cache.backup.JsonCache;
import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.cache.limbo.LimboPlayer;
import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask; import fr.xephi.authme.task.MessageTask;
@ -63,48 +65,54 @@ public class AsynchronousUnregister {
try { try {
if (force || PasswordSecurity.comparePasswordWithHash(password, PlayerCache.getInstance().getAuth(name).getHash(), player.getName())) { if (force || PasswordSecurity.comparePasswordWithHash(password, PlayerCache.getInstance().getAuth(name).getHash(), player.getName())) {
if (!plugin.database.removeAuth(name)) { if (!plugin.database.removeAuth(name)) {
player.sendMessage("error"); m.send(player, MessageKey.ERROR);
return; return;
} }
int timeOut = Settings.getRegistrationTimeout * 20;
if (Settings.isForcedRegistrationEnabled) { if (Settings.isForcedRegistrationEnabled) {
Utils.teleportToSpawn(player); Utils.teleportToSpawn(player);
player.saveData(); player.saveData();
PlayerCache.getInstance().removePlayer(player.getName().toLowerCase()); PlayerCache.getInstance().removePlayer(player.getName().toLowerCase());
if (!Settings.getRegisteredGroup.isEmpty()) if (!Settings.getRegisteredGroup.isEmpty()) {
Utils.setGroup(player, GroupType.UNREGISTERED); Utils.setGroup(player, GroupType.UNREGISTERED);
}
LimboCache.getInstance().addLimboPlayer(player); LimboCache.getInstance().addLimboPlayer(player);
int delay = Settings.getRegistrationTimeout * 20; LimboPlayer limboPlayer = LimboCache.getInstance().getLimboPlayer(name);
int interval = Settings.getWarnMessageInterval; int interval = Settings.getWarnMessageInterval;
BukkitScheduler scheduler = plugin.getServer().getScheduler(); BukkitScheduler scheduler = plugin.getServer().getScheduler();
if (delay != 0) { if (timeOut != 0) {
BukkitTask id = scheduler.runTaskLaterAsynchronously(plugin, new TimeoutTask(plugin, name, player), delay); BukkitTask id = scheduler.runTaskLaterAsynchronously(plugin,
LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id); new TimeoutTask(plugin, name, player), timeOut);
limboPlayer.setTimeoutTaskId(id);
} }
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(scheduler.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.send("reg_msg"), interval))); limboPlayer.setMessageTaskId(scheduler.runTaskAsynchronously(plugin,
m.send(player, "unregistered"); new MessageTask(plugin, name, m.retrieve(MessageKey.REGISTER_MESSAGE), interval)));
m.send(player, MessageKey.UNREGISTERED_SUCCESS);
ConsoleLogger.info(player.getDisplayName() + " unregistered himself"); ConsoleLogger.info(player.getDisplayName() + " unregistered himself");
return; return;
} }
if (!Settings.unRegisteredGroup.isEmpty()) { if (!Settings.unRegisteredGroup.isEmpty()) {
Utils.setGroup(player, Utils.GroupType.UNREGISTERED); Utils.setGroup(player, Utils.GroupType.UNREGISTERED);
} }
PlayerCache.getInstance().removePlayer(player.getName().toLowerCase()); PlayerCache.getInstance().removePlayer(name);
// check if Player cache File Exist and delete it, preventing // check if Player cache File Exist and delete it, preventing
// duplication of items // duplication of items
if (playerCache.doesCacheExist(player)) { if (playerCache.doesCacheExist(player)) {
playerCache.removeCache(player); playerCache.removeCache(player);
} }
if (Settings.applyBlindEffect) // Apply blind effect
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, Settings.getRegistrationTimeout * 20, 2)); if (Settings.applyBlindEffect) {
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, timeOut, 2));
}
if (!Settings.isMovementAllowed && Settings.isRemoveSpeedEnabled) { if (!Settings.isMovementAllowed && Settings.isRemoveSpeedEnabled) {
player.setWalkSpeed(0.0f); player.setWalkSpeed(0.0f);
player.setFlySpeed(0.0f); player.setFlySpeed(0.0f);
} }
m.send(player, "unregistered"); m.send(player, MessageKey.UNREGISTERED_SUCCESS);
ConsoleLogger.info(player.getDisplayName() + " unregistered himself"); ConsoleLogger.info(player.getDisplayName() + " unregistered himself");
Utils.teleportToSpawn(player); Utils.teleportToSpawn(player);
} else { } else {
m.send(player, "wrong_pwd"); m.send(player, MessageKey.WRONG_PASSWORD);
} }
} catch (NoSuchAlgorithmException ignored) { } catch (NoSuchAlgorithmException ignored) {
} }

View File

@ -39,6 +39,10 @@ public enum MessageKey {
REGISTER_EMAIL_MESSAGE("reg_email_msg"), REGISTER_EMAIL_MESSAGE("reg_email_msg"),
MAX_REGISTER_EXCEEDED("max_reg"),
USAGE_REGISTER("usage_reg"),
USAGE_UNREGISTER("usage_unreg"), USAGE_UNREGISTER("usage_unreg"),
PASSWORD_CHANGED_SUCCESS("pwd_changed"), PASSWORD_CHANGED_SUCCESS("pwd_changed"),
@ -57,7 +61,7 @@ public enum MessageKey {
ALREADY_LOGGED_IN_ERROR("logged_in"), ALREADY_LOGGED_IN_ERROR("logged_in"),
LOGOUT_SUCCESS("logout_success"), LOGOUT_SUCCESS("logout"),
USERNAME_ALREADY_ONLINE_ERROR("same_nick"), USERNAME_ALREADY_ONLINE_ERROR("same_nick"),

View File

@ -1,6 +1,7 @@
package fr.xephi.authme.settings; package fr.xephi.authme.settings;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.util.StringUtils;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import java.io.File; import java.io.File;
@ -13,7 +14,7 @@ public class Messages extends CustomConfiguration {
/** The section symbol, used in Minecraft for formatting codes. */ /** The section symbol, used in Minecraft for formatting codes. */
private static final String SECTION_SIGN = "\u00a7"; private static final String SECTION_SIGN = "\u00a7";
private static Messages singleton = null; private static Messages singleton;
private String language = "en"; private String language = "en";
@ -26,7 +27,6 @@ public class Messages extends CustomConfiguration {
public Messages(File file, String lang) { public Messages(File file, String lang) {
super(file); super(file);
load(); load();
singleton = this;
this.language = lang; this.language = lang;
} }
@ -70,6 +70,10 @@ public class Messages extends CustomConfiguration {
return retrieve(key.getKey()); return retrieve(key.getKey());
} }
public String retrieveSingle(MessageKey key) {
return StringUtils.join("\n", retrieve(key.getKey()));
}
/** /**
* Retrieve the message from the text file and returns it split by new line as an array. * Retrieve the message from the text file and returns it split by new line as an array.
* *

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -55,19 +56,19 @@ public class ChangePasswordTask implements Runnable {
auth.setSalt(""); auth.setSalt("");
} }
if (!plugin.database.updatePassword(auth)) { if (!plugin.database.updatePassword(auth)) {
m.send(player, "error"); m.send(player, MessageKey.ERROR);
return; return;
} }
plugin.database.updateSalt(auth); plugin.database.updateSalt(auth);
PlayerCache.getInstance().updatePlayer(auth); PlayerCache.getInstance().updatePlayer(auth);
m.send(player, "pwd_changed"); m.send(player, MessageKey.PASSWORD_CHANGED_SUCCESS);
ConsoleLogger.info(player.getName() + " changed his password"); ConsoleLogger.info(player.getName() + " changed his password");
} else { } else {
m.send(player, "wrong_pwd"); m.send(player, MessageKey.WRONG_PASSWORD);
} }
} catch (NoSuchAlgorithmException ex) { } catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage()); ConsoleLogger.showError(ex.getMessage());
m.send(player, "error"); m.send(player, MessageKey.ERROR);
} }
} }
} }

View File

@ -2,6 +2,7 @@ package fr.xephi.authme.task;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -53,7 +54,7 @@ public class TimeoutTask implements Runnable {
@Override @Override
public void run() { public void run() {
if (player.isOnline()) { if (player.isOnline()) {
player.kickPlayer(m.send("timeout")[0]); player.kickPlayer(m.retrieveSingle(MessageKey.LOGIN_TIMEOUT_ERROR));
} }
} }
}); });

View File

@ -89,6 +89,31 @@ public class StringUtils {
return sb.toString(); return sb.toString();
} }
/**
* Joins a list of elements into a single string with the specified delimiter.
*
* @param delimiter the delimiter to use
* @param elements the elements to join
*
* @return a new String that is composed of the elements separated by the delimiter
*/
public static String join(CharSequence delimiter, CharSequence... elements) {
if (elements.length == 0) {
return "";
}
if (delimiter == null) {
delimiter = "";
}
StringBuilder sb = new StringBuilder(elements[0]);
if (elements.length > 1) {
for (int i = 1; i < elements.length; i++) {
sb.append(delimiter);
sb.append(elements[i]);
}
}
return sb.toString();
}
/** /**
* Get a full stack trace of an exception as a string. * Get a full stack trace of an exception as a string.
* *
@ -107,6 +132,7 @@ public class StringUtils {
// Return the result as a string // Return the result as a string
return stringWriter.toString(); return stringWriter.toString();
} }
/** /**
* Format the information from a Throwable as string, retaining the type and its message. * Format the information from a Throwable as string, retaining the type and its message.
* *

View File

@ -4,6 +4,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.AuthMeMockUtil; import fr.xephi.authme.AuthMeMockUtil;
import fr.xephi.authme.command.CommandParts; import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.process.Management; import fr.xephi.authme.process.Management;
import fr.xephi.authme.settings.MessageKey;
import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import org.bukkit.command.BlockCommandSender; import org.bukkit.command.BlockCommandSender;
@ -69,7 +70,7 @@ public class RegisterCommandTest {
command.executeCommand(sender, new CommandParts(), new CommandParts()); command.executeCommand(sender, new CommandParts(), new CommandParts());
// then // then
verify(messagesMock).send(sender, "usage_reg"); verify(messagesMock).send(sender, MessageKey.USAGE_REGISTER);
verify(managementMock, never()).performRegister(any(Player.class), anyString(), anyString()); verify(managementMock, never()).performRegister(any(Player.class), anyString(), anyString());
} }