run task async, fix #200

This commit is contained in:
DNx5 2015-09-07 23:28:15 +07:00
parent 5a9c6278b6
commit 90c7187bab

View File

@ -25,8 +25,8 @@ public class ChangePasswordCommand implements CommandExecutor {
} }
@Override @Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, public boolean onCommand(final CommandSender sender, Command cmnd, String label,
String[] args) { final String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
return true; return true;
} }
@ -36,8 +36,8 @@ public class ChangePasswordCommand implements CommandExecutor {
return true; return true;
} }
Player player = (Player) sender; final Player player = (Player) sender;
String name = player.getName().toLowerCase(); final String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) { if (!PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "not_logged_in"); m.send(player, "not_logged_in");
return true; return true;
@ -67,6 +67,9 @@ public class ChangePasswordCommand implements CommandExecutor {
return true; return true;
} }
} }
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
try { try {
String hashnew = PasswordSecurity.getHash(Settings.getPasswordHash, args[1], name); String hashnew = PasswordSecurity.getHash(Settings.getPasswordHash, args[1], name);
@ -78,7 +81,7 @@ public class ChangePasswordCommand implements CommandExecutor {
else auth.setSalt(""); else auth.setSalt("");
if (!plugin.database.updatePassword(auth)) { if (!plugin.database.updatePassword(auth)) {
m.send(player, "error"); m.send(player, "error");
return true; return;
} }
plugin.database.updateSalt(auth); plugin.database.updateSalt(auth);
PlayerCache.getInstance().updatePlayer(auth); PlayerCache.getInstance().updatePlayer(auth);
@ -91,6 +94,8 @@ public class ChangePasswordCommand implements CommandExecutor {
ConsoleLogger.showError(ex.getMessage()); ConsoleLogger.showError(ex.getMessage());
m.send(sender, "error"); m.send(sender, "error");
} }
}
});
return true; return true;
} }
} }