Dev - 3.1.2-DEV-3

Developpement status actually
Some Fixes for the 1.7.2
Remove some Magic Values
Fix threads not start correctly
Add a recall email adding message
Fix catpcha messages
Add multilines messages ( add &n )
Fix some inventory problem
Fix some events problem
Call login event after /register
This commit is contained in:
Xephi
2014-01-06 17:54:50 +01:00
parent aaeceae5d2
commit 93a320c8ae
29 changed files with 420 additions and 254 deletions
@@ -55,6 +55,10 @@ public class AdminCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
if (!plugin.authmePermissible(sender, "authme.admin." + args[0].toLowerCase())) {
m._(sender, "no_perm");
return true;
}
if (args.length == 0) {
sender.sendMessage("Usage: /authme reload - Reload the config");
sender.sendMessage("/authme register <playername> <password> - Register a player");
@@ -86,11 +90,6 @@ public class AdminCommand implements CommandExecutor {
return true;
}
if (!plugin.authmePermissible(sender, "authme.admin." + args[0].toLowerCase())) {
sender.sendMessage(m._("no_perm"));
return true;
}
if (args[0].equalsIgnoreCase("version")) {
sender.sendMessage("AuthMe Version: "+AuthMe.getInstance().getDescription().getVersion());
return true;
@@ -151,7 +150,7 @@ public class AdminCommand implements CommandExecutor {
Settings.reloadConfigOptions(newConfig);
m.reLoad();
s.reLoad();
sender.sendMessage(m._("reload"));
m._(sender, "reload");
} else if (args[0].equalsIgnoreCase("lastlogin")) {
if (args.length != 2) {
sender.sendMessage("Usage: /authme lastlogin <playername>");
@@ -270,7 +269,7 @@ public class AdminCommand implements CommandExecutor {
try {
String name = args[1].toLowerCase();
if (database.isAuthAvailable(name)) {
sender.sendMessage(m._("user_regged"));
m._(sender, "user_regged");
return true;
}
String hash = PasswordSecurity.getHash(Settings.getPasswordHash, args[2], name);
@@ -280,14 +279,14 @@ public class AdminCommand implements CommandExecutor {
else
auth.setSalt("");
if (!database.saveAuth(auth)) {
sender.sendMessage(m._("error"));
m._(sender, "error");
return true;
}
sender.sendMessage(m._("registered"));
m._(sender, "registered");
ConsoleLogger.info(args[1] + " registered");
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
sender.sendMessage(m._("error"));
m._(sender, "error");
}
return true;
} else if (args[0].equalsIgnoreCase("convertflattosql")) {
@@ -352,7 +351,7 @@ public class AdminCommand implements CommandExecutor {
}
getAuth.setEmail(args[2]);
if (!database.updateEmail(getAuth)) {
sender.sendMessage(m._("error"));
m._(sender, "error");
return true;
}
if (PlayerCache.getInstance().getAuth(playername) != null)
@@ -434,13 +433,13 @@ public class AdminCommand implements CommandExecutor {
} else if (database.isAuthAvailable(name)) {
auth = database.getAuth(name);
} else {
sender.sendMessage(m._("unknown_user"));
m._(sender, "unknown_user");
return true;
}
auth.setHash(hash);
auth.setSalt(PasswordSecurity.userSalt.get(name));
if (!database.updatePassword(auth)) {
sender.sendMessage(m._("error"));
m._(sender, "error");
return true;
}
database.updateSalt(auth);
@@ -448,7 +447,7 @@ public class AdminCommand implements CommandExecutor {
ConsoleLogger.info(args[1] + "'s password changed");
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
sender.sendMessage(m._("error"));
m._(sender, "error");
}
return true;
} else if (args[0].equalsIgnoreCase("unregister") || args[0].equalsIgnoreCase("unreg") || args[0].equalsIgnoreCase("del") ) {
@@ -458,7 +457,7 @@ public class AdminCommand implements CommandExecutor {
}
String name = args[1].toLowerCase();
if (!database.removeAuth(name)) {
sender.sendMessage(m._("error"));
m._(sender, "error");
return true;
}
PlayerCache.getInstance().removePlayer(name);
@@ -34,27 +34,27 @@ public class CaptchaCommand implements CommandExecutor {
String name = player.getName().toLowerCase();
if (args.length == 0) {
player.sendMessage(m._("usage_captcha"));
m._(player, "usage_captcha");
return true;
}
if (PlayerCache.getInstance().isAuthenticated(name)) {
player.sendMessage(m._("logged_in"));
m._(player, "logged_in");
return true;
}
if (!plugin.authmePermissible(player, "authme." + label.toLowerCase())) {
player.sendMessage(m._("no_perm"));
m._(player, "no_perm");
return true;
}
if (!Settings.useCaptcha) {
player.sendMessage(m._("usage_log"));
m._(player, "usage_log");
return true;
}
if(!plugin.cap.containsKey(name)) {
player.sendMessage(m._("usage_log"));
m._(player, "usage_log");
return true;
}
@@ -69,8 +69,8 @@ public class CaptchaCommand implements CommandExecutor {
plugin.cap.remove(name);
} catch (NullPointerException npe) {
}
player.sendMessage(m._("valid_captcha"));
player.sendMessage(m._("login_msg"));
m._(player, "valid_captcha");
m._(player, "login_msg");
return true;
}
@@ -37,19 +37,19 @@ public class ChangePasswordCommand implements CommandExecutor {
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
sender.sendMessage(m._("no_perm"));
m._(sender, "no_perm");
return true;
}
Player player = (Player) sender;
String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) {
player.sendMessage(m._("not_logged_in"));
m._(player, "not_logged_in");
return true;
}
if (args.length != 2) {
player.sendMessage(m._("usage_changepassword"));
m._(player, "usage_changepassword");
return true;
}
@@ -64,22 +64,22 @@ public class ChangePasswordCommand implements CommandExecutor {
else
auth.setSalt("");
if (!database.updatePassword(auth)) {
player.sendMessage(m._("error"));
m._(player, "error");
return true;
}
database.updateSalt(auth);
PlayerCache.getInstance().updatePlayer(auth);
player.sendMessage(m._("pwd_changed"));
m._(player, "pwd_changed");
ConsoleLogger.info(player.getName() + " changed his password");
if(plugin.notifications != null) {
plugin.notifications.showNotification(new Notification("[AuthMe] " + player.getName() + " change his password!"));
}
} else {
player.sendMessage(m._("wrong_pwd"));
m._(player, "wrong_pwd");
}
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
sender.sendMessage(m._("error"));
m._(sender, "error");
}
return true;
}
@@ -40,7 +40,7 @@ public class EmailCommand implements CommandExecutor {
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
sender.sendMessage(m._("no_perm"));
m._(sender, "no_perm");
return true;
}
@@ -48,89 +48,89 @@ public class EmailCommand implements CommandExecutor {
String name = player.getName().toLowerCase();
if (args.length == 0) {
player.sendMessage(m._("usage_email_add"));
player.sendMessage(m._("usage_email_change"));
player.sendMessage(m._("usage_email_recovery"));
m._(player, "usage_email_add");
m._(player, "usage_email_change");
m._(player, "usage_email_recovery");
return true;
}
if(args[0].equalsIgnoreCase("add")) {
if (args.length != 3) {
player.sendMessage(m._("usage_email_add"));
m._(player, "usage_email_add");
return true;
}
if(args[1].equals(args[2]) && PlayerCache.getInstance().isAuthenticated(name)) {
PlayerAuth auth = PlayerCache.getInstance().getAuth(name);
if (auth.getEmail() == null || (!auth.getEmail().equals("your@email.com") && !auth.getEmail().isEmpty())) {
player.sendMessage("usage_email_change");
m._(player, "usage_email_change");
return true;
}
if (!args[1].contains("@")) {
player.sendMessage(m._("email_invalid"));
m._(player, "email_invalid");
return true;
}
auth.setEmail(args[1]);
if (!data.updateEmail(auth)) {
player.sendMessage(m._("error"));
m._(player, "error");
return true;
}
PlayerCache.getInstance().updatePlayer(auth);
player.sendMessage(m._("email_added"));
m._(player, "email_added");
player.sendMessage(auth.getEmail());
} else if (PlayerCache.getInstance().isAuthenticated(name)){
player.sendMessage(m._("email_confirm"));
m._(player, "email_confirm");
} else {
if (!data.isAuthAvailable(name)) {
player.sendMessage(m._("login_msg"));
m._(player, "login_msg");
} else {
player.sendMessage(m._("reg_email_msg"));
m._(player, "reg_email_msg");
}
}
} else if(args[0].equalsIgnoreCase("change") && args.length == 3 ) {
if(PlayerCache.getInstance().isAuthenticated(name)) {
PlayerAuth auth = PlayerCache.getInstance().getAuth(name);
if (auth.getEmail() == null || auth.getEmail().equals("your@email.com") || auth.getEmail().isEmpty()) {
player.sendMessage(m._("usage_email_add"));
m._(player, "usage_email_add");
return true;
}
if (!args[1].equals(auth.getEmail())) {
player.sendMessage(m._("old_email_invalid"));
m._(player, "old_email_invalid");
return true;
}
if (!args[2].contains("@")) {
player.sendMessage(m._("new_email_invalid"));
m._(player, "new_email_invalid");
return true;
}
auth.setEmail(args[2]);
if (!data.updateEmail(auth)) {
player.sendMessage(m._("bad_database_email"));
m._(player, "error");
return true;
}
PlayerCache.getInstance().updatePlayer(auth);
player.sendMessage(m._("email_changed"));
m._(player, "email_changed");
player.sendMessage(m._("email_defined") + auth.getEmail());
} else if (PlayerCache.getInstance().isAuthenticated(name)){
player.sendMessage(m._("email_confirm"));
m._(player, "email_confirm");
} else {
if (!data.isAuthAvailable(name)) {
player.sendMessage(m._("login_msg"));
m._(player, "login_msg");
} else {
player.sendMessage(m._("reg_email_msg"));
m._(player, "reg_email_msg");
}
}
}
if(args[0].equalsIgnoreCase("recovery")) {
if (args.length != 2) {
player.sendMessage(m._("usage_email_recovery"));
m._(player, "usage_email_recovery");
return true;
}
if (plugin.mail == null) {
player.sendMessage(m._("error"));
m._(player, "error");
return true;
}
if (data.isAuthAvailable(name)) {
if (PlayerCache.getInstance().isAuthenticated(name)) {
player.sendMessage(m._("logged_in"));
m._(player, "logged_in");
return true;
}
try {
@@ -143,16 +143,16 @@ public class EmailCommand implements CommandExecutor {
} else if (data.isAuthAvailable(name)) {
auth = data.getAuth(name);
} else {
sender.sendMessage(m._("unknown_user"));
m._(player, "unknown_user");
return true;
}
if (Settings.getmailAccount.equals("") || Settings.getmailAccount.isEmpty()) {
player.sendMessage(m._("error"));
m._(player, "error");
return true;
}
if (!args[1].equalsIgnoreCase(auth.getEmail())) {
player.sendMessage(m._("email_invalid"));
m._(player, "email_invalid");
return true;
}
final String finalhashnew = hashnew;
@@ -170,16 +170,16 @@ public class EmailCommand implements CommandExecutor {
});
}
plugin.mail.main(auth, thePass);
player.sendMessage(m._("email_send"));
m._(player, "email_send");
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
sender.sendMessage(m._("error"));
m._(sender, "error");
} catch (NoClassDefFoundError ncdfe) {
ConsoleLogger.showError(ncdfe.getMessage());
sender.sendMessage(m._("error"));
m._(sender, "error");
}
} else {
player.sendMessage(m._("reg_email_msg"));
m._(player, "reg_email_msg");
}
}
return true;
@@ -27,12 +27,12 @@ public class LoginCommand implements CommandExecutor {
final Player player = (Player) sender;
if (args.length == 0) {
player.sendMessage(m._("usage_log"));
m._(player, "usage_log");
return true;
}
if (!plugin.authmePermissible(player, "authme." + label.toLowerCase())) {
player.sendMessage(m._("no_perm"));
m._(player, "no_perm");
return true;
}
plugin.management.performLogin(player, args[0], false, false);
@@ -7,7 +7,6 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.scheduler.BukkitTask;
@@ -50,7 +49,7 @@ public class LogoutCommand implements CommandExecutor {
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
sender.sendMessage(m._("no_perm"));
m._(sender, "no_perm");
return true;
}
@@ -58,7 +57,7 @@ public class LogoutCommand implements CommandExecutor {
String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) {
player.sendMessage(m._("not_logged_in"));
m._(player, "not_logged_in");
return true;
}
@@ -119,7 +118,7 @@ public class LogoutCommand implements CommandExecutor {
player.getVehicle().eject();
} catch (NullPointerException npe) {
}
player.sendMessage(m._("logout"));
m._(player, "logout");
ConsoleLogger.info(player.getDisplayName() + " logged out");
if(plugin.notifications != null) {
plugin.notifications.showNotification(new Notification("[AuthMe] " + player.getName() + " logged out!"));
@@ -28,7 +28,7 @@ public class PasspartuCommand implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
sender.sendMessage(m._("no_perm"));
m._(sender, "no_perm");
return true;
}
@@ -55,7 +55,7 @@ public class RegisterCommand implements CommandExecutor {
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
sender.sendMessage(m._("no_perm"));
m._(sender, "no_perm");
return true;
}
@@ -71,17 +71,17 @@ public class RegisterCommand implements CommandExecutor {
final String ip = ipA;
if (PlayerCache.getInstance().isAuthenticated(name)) {
player.sendMessage(m._("logged_in"));
m._(player, "logged_in");
return true;
}
if (!Settings.isRegistrationEnabled) {
player.sendMessage(m._("reg_disabled"));
m._(player, "reg_disabled");
return true;
}
if (database.isAuthAvailable(player.getName().toLowerCase())) {
player.sendMessage(m._("user_regged"));
m._(player, "user_regged");
if (pllog.getStringList("players").contains(player.getName())) {
pllog.getStringList("players").remove(player.getName());
}
@@ -90,30 +90,30 @@ public class RegisterCommand implements CommandExecutor {
if(Settings.getmaxRegPerIp > 0 ){
if(!plugin.authmePermissible(sender, "authme.allow2accounts") && database.getAllAuthsByIp(ipA).size() >= Settings.getmaxRegPerIp) {
player.sendMessage(m._("max_reg"));
m._(player, "max_reg");
return true;
}
}
if(Settings.emailRegistration && !Settings.getmailAccount.isEmpty()) {
if(!args[0].contains("@")) {
player.sendMessage(m._("usage_reg"));
m._(player, "usage_reg");
return true;
}
if(Settings.doubleEmailCheck) {
if(args.length < 2) {
player.sendMessage(m._("usage_reg"));
m._(player, "usage_reg");
return true;
}
if(!args[0].equals(args[1])) {
player.sendMessage(m._("usage_reg"));
m._(player, "usage_reg");
return true;
}
}
final String email = args[0];
if(Settings.getmaxRegPerEmail > 0) {
if (!plugin.authmePermissible(sender, "authme.allow2accounts") && database.getAllAuthsByEmail(email).size() >= Settings.getmaxRegPerEmail) {
player.sendMessage(m._("max_reg"));
m._(player, "max_reg");
return true;
}
}
@@ -152,7 +152,7 @@ public class RegisterCommand implements CommandExecutor {
if(!Settings.getRegisteredGroup.isEmpty()){
Utils.getInstance().setGroup(player, Utils.groupType.REGISTERED);
}
player.sendMessage(m._("vb_nonActiv"));
m._(player, "vb_nonActiv");
String msg = m._("login_msg");
int time = Settings.getRegistrationTimeout * 20;
int msgInterval = Settings.getWarnMessageInterval;
@@ -195,12 +195,12 @@ public class RegisterCommand implements CommandExecutor {
}
if (args.length == 0 || (Settings.getEnablePasswordVerifier && args.length < 2) ) {
player.sendMessage(m._("usage_reg"));
m._(player, "usage_reg");
return true;
}
if(args[0].length() < Settings.getPasswordMinLen || args[0].length() > Settings.passwordMaxLength) {
player.sendMessage(m._("pass_len"));
m._(player, "pass_len");
return true;
}
try {
@@ -209,7 +209,7 @@ public class RegisterCommand implements CommandExecutor {
if (args[0].equals(args[1])) {
hash = PasswordSecurity.getHash(Settings.getPasswordHash, args[0], name);
} else {
player.sendMessage(m._("password_error"));
m._(player, "password_error");
return true;
}
} else
@@ -221,13 +221,13 @@ public class RegisterCommand implements CommandExecutor {
auth = new PlayerAuth(name, hash, PasswordSecurity.userSalt.get(name), ip, new Date().getTime(), player.getName());
}
if (!database.saveAuth(auth)) {
player.sendMessage(m._("error"));
m._(player, "error");
return true;
}
PlayerCache.getInstance().addPlayer(auth);
LimboPlayer limbo = LimboCache.getInstance().getLimboPlayer(name);
if (limbo != null) {
player.setGameMode(GameMode.getByValue(limbo.getGameMode()));
player.setGameMode(limbo.getGameMode());
if (Settings.isTeleportToSpawnEnabled) {
World world = player.getWorld();
Location loca = plugin.getSpawnLocation(world);
@@ -248,9 +248,9 @@ public class RegisterCommand implements CommandExecutor {
if(!Settings.getRegisteredGroup.isEmpty()){
Utils.getInstance().setGroup(player, Utils.groupType.REGISTERED);
}
player.sendMessage(m._("registered"));
m._(player, "registered");
if (!Settings.getmailAccount.isEmpty())
player.sendMessage(m._("add_email"));
m._(player, "add_email");
this.isFirstTimeJoin = true;
if (player.getGameMode() != GameMode.CREATIVE && !Settings.isMovementAllowed) {
player.setAllowFlight(false);
@@ -264,7 +264,7 @@ public class RegisterCommand implements CommandExecutor {
}
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
sender.sendMessage(m._("error"));
m._(sender, "error");
}
return true;
}
@@ -49,7 +49,7 @@ public class UnregisterCommand implements CommandExecutor {
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
sender.sendMessage(m._("no_perm"));
m._(sender, "no_perm");
return true;
}
@@ -57,12 +57,12 @@ public class UnregisterCommand implements CommandExecutor {
String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) {
player.sendMessage(m._("not_logged_in"));
m._(player, "not_logged_in");
return true;
}
if (args.length != 1) {
player.sendMessage(m._("usage_unreg"));
m._(player, "usage_unreg");
return true;
}
try {
@@ -125,7 +125,7 @@ public class UnregisterCommand implements CommandExecutor {
}
return true;
} else {
player.sendMessage(m._("wrong_pwd"));
m._(player, "wrong_pwd");
}
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());