Code Refactor - Whitespace Refactor

This commit is contained in:
Xephi
2014-08-08 23:14:56 +02:00
parent ec7ac60340
commit afc1ea9111
114 changed files with 8277 additions and 7103 deletions
@@ -43,10 +43,9 @@ import fr.xephi.authme.settings.SpoutCfg;
import fr.xephi.authme.task.MessageTask;
import fr.xephi.authme.task.TimeoutTask;
public class AdminCommand implements CommandExecutor {
public AuthMe plugin;
public AuthMe plugin;
private Messages m = Messages.getInstance();
private SpoutCfg s = SpoutCfg.getInstance();
public DataSource database;
@@ -57,7 +56,8 @@ public class AdminCommand implements CommandExecutor {
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (args.length == 0) {
sender.sendMessage("Usage: /authme reload - Reload the config");
sender.sendMessage("/authme register <playername> <password> - Register a player");
@@ -75,27 +75,33 @@ public class AdminCommand implements CommandExecutor {
sender.sendMessage("/authme switchantibot on/off - Enable/Disable antibot method");
return true;
}
if (!plugin.authmePermissible(sender, "authme.admin." + args[0].toLowerCase())) {
m._(sender, "no_perm");
return true;
}
if((sender instanceof ConsoleCommandSender) && args[0].equalsIgnoreCase("passpartuToken")) {
if(args.length > 1) {
System.out.println("[AuthMe] command usage: /authme passpartuToken");
return true;
}
if(Utils.getInstance().obtainToken()) {
System.out.println("[AuthMe] You have 30s for insert this token ingame with /passpartu [token]");
if (!plugin.authmePermissible(sender,
"authme.admin." + args[0].toLowerCase())) {
m._(sender, "no_perm");
return true;
}
if ((sender instanceof ConsoleCommandSender)
&& args[0].equalsIgnoreCase("passpartuToken")) {
if (args.length > 1) {
System.out
.println("[AuthMe] command usage: /authme passpartuToken");
return true;
}
if (Utils.getInstance().obtainToken()) {
System.out
.println("[AuthMe] You have 30s for insert this token ingame with /passpartu [token]");
} else {
System.out.println("[AuthMe] Security error on passpartu token, redo it. ");
System.out
.println("[AuthMe] Security error on passpartu token, redo it. ");
}
return true;
}
}
if (args[0].equalsIgnoreCase("version")) {
sender.sendMessage("AuthMe Version: "+AuthMe.getInstance().getDescription().getVersion());
sender.sendMessage("AuthMe Version: "
+ AuthMe.getInstance().getDescription().getVersion());
return true;
}
@@ -109,15 +115,16 @@ public class AdminCommand implements CommandExecutor {
calendar.add(Calendar.DATE, -(Integer.parseInt(args[1])));
long until = calendar.getTimeInMillis();
List<String> purged = database.autoPurgeDatabase(until);
sender.sendMessage("Deleted " + purged.size() + " user accounts");
if (Settings.purgeEssentialsFile && plugin.ess != null)
plugin.dataManager.purgeEssentials(purged);
if (Settings.purgePlayerDat)
plugin.dataManager.purgeDat(purged);
if (Settings.purgeLimitedCreative)
plugin.dataManager.purgeLimitedCreative(purged);
if (Settings.purgeAntiXray)
plugin.dataManager.purgeAntiXray(purged);
sender.sendMessage("Deleted " + purged.size()
+ " user accounts");
if (Settings.purgeEssentialsFile && plugin.ess != null) plugin.dataManager
.purgeEssentials(purged);
if (Settings.purgePlayerDat) plugin.dataManager
.purgeDat(purged);
if (Settings.purgeLimitedCreative) plugin.dataManager
.purgeLimitedCreative(purged);
if (Settings.purgeAntiXray) plugin.dataManager
.purgeAntiXray(purged);
return true;
} catch (NumberFormatException e) {
sender.sendMessage("Usage: /authme purge <DAYS>");
@@ -125,148 +132,176 @@ public class AdminCommand implements CommandExecutor {
}
} else if (args[0].equalsIgnoreCase("reload")) {
database.reload();
File newConfigFile = new File("plugins/AuthMe","config.yml");
File newConfigFile = new File("plugins/AuthMe", "config.yml");
if (!newConfigFile.exists()) {
InputStream fis = getClass().getResourceAsStream("/config.yml");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(newConfigFile);
byte[] buf = new byte[1024];
int i = 0;
while ((i = fis.read(buf)) != -1) {
fos.write(buf, 0, i);
}
} catch (Exception e) {
Logger.getLogger(JavaPlugin.class.getName()).log(Level.SEVERE, "Failed to load config from JAR");
} finally {
try {
if (fis != null) {
fis.close();
}
if (fos != null) {
fos.close();
}
} catch (Exception e) {
}
}
InputStream fis = getClass().getResourceAsStream("/config.yml");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(newConfigFile);
byte[] buf = new byte[1024];
int i = 0;
while ((i = fis.read(buf)) != -1) {
fos.write(buf, 0, i);
}
} catch (Exception e) {
Logger.getLogger(JavaPlugin.class.getName()).log(
Level.SEVERE, "Failed to load config from JAR");
} finally {
try {
if (fis != null) {
fis.close();
}
if (fos != null) {
fos.close();
}
} catch (Exception e) {
}
}
}
YamlConfiguration newConfig = YamlConfiguration.loadConfiguration(newConfigFile);
YamlConfiguration newConfig = YamlConfiguration
.loadConfiguration(newConfigFile);
Settings.reloadConfigOptions(newConfig);
m.reLoad();
s.reLoad();
m._(sender, "reload");
} else if (args[0].equalsIgnoreCase("lastlogin")) {
if (args.length != 2) {
sender.sendMessage("Usage: /authme lastlogin <playername>");
return true;
}
try {
if (database.getAuth(args[1].toLowerCase()) != null) {
if (args.length != 2) {
sender.sendMessage("Usage: /authme lastlogin <playername>");
return true;
}
try {
if (database.getAuth(args[1].toLowerCase()) != null) {
PlayerAuth player = database.getAuth(args[1].toLowerCase());
long lastLogin = player.getLastLogin();
Date d = new Date(lastLogin);
final long diff = System.currentTimeMillis() - lastLogin;
final String msg = (int)(diff / 86400000) + " days " + (int)(diff / 3600000 % 24) + " hours " + (int)(diff / 60000 % 60) + " mins " + (int)(diff / 1000 % 60) + " secs.";
final String msg = (int) (diff / 86400000) + " days "
+ (int) (diff / 3600000 % 24) + " hours "
+ (int) (diff / 60000 % 60) + " mins "
+ (int) (diff / 1000 % 60) + " secs.";
String lastIP = player.getIp();
sender.sendMessage("[AuthMe] " + args[1].toLowerCase() + " lastlogin : " + d.toString());
sender.sendMessage("[AuthMe] The player : " + player.getNickname() + " is unlogged since " + msg);
sender.sendMessage("[AuthMe] " + args[1].toLowerCase()
+ " lastlogin : " + d.toString());
sender.sendMessage("[AuthMe] The player : "
+ player.getNickname() + " is unlogged since "
+ msg);
sender.sendMessage("[AuthMe] LastPlayer IP : " + lastIP);
} else {
m._(sender, "unknown_user");
return true;
}
} catch (NullPointerException e) {
m._(sender, "unknown_user");
return true;
}
} else {
m._(sender, "unknown_user");
return true;
}
} catch (NullPointerException e) {
m._(sender, "unknown_user");
return true;
}
} else if (args[0].equalsIgnoreCase("accounts")) {
if (args.length != 2) {
sender.sendMessage("Usage: /authme accounts <playername>");
sender.sendMessage("Or: /authme accounts <ip>");
return true;
}
if (!args[1].contains(".")) {
final CommandSender fSender = sender;
final String[] arguments = args;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
PlayerAuth pAuth = null;
String message = "[AuthMe] ";
try {
pAuth = database.getAuth(arguments[1].toLowerCase());
} catch (NullPointerException npe){
fSender.sendMessage("[AuthMe] This player is unknown");
return;
}
if (pAuth != null) {
List<String> accountList = database.getAllAuthsByName(pAuth);
if (accountList.isEmpty() || accountList == null) {
fSender.sendMessage("[AuthMe] This player is unknown");
return;
}
if (accountList.size() == 1) {
fSender.sendMessage("[AuthMe] " + arguments[1] + " is a single account player");
return;
}
int i = 0;
for (String account : accountList) {
i++;
message = message + account;
if (i != accountList.size()) {
message = message + ", ";
} else {
message = message + ".";
}
}
fSender.sendMessage("[AuthMe] " + arguments[1] + " has " + String.valueOf(accountList.size()) + " accounts");
fSender.sendMessage(message);
} else {
fSender.sendMessage("[AuthMe] This player is unknown");
return;
}
}
});
return true;
} else {
final CommandSender fSender = sender;
final String[] arguments = args;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
String message = "[AuthMe] ";
if (arguments[1] != null) {
List<String> accountList = database.getAllAuthsByIp(arguments[1]);
if (accountList.isEmpty() || accountList == null) {
fSender.sendMessage("[AuthMe] Please put a valid IP");
return;
}
if (accountList.size() == 1) {
fSender.sendMessage("[AuthMe] " + arguments[1] + " is a single account player");
return;
}
int i = 0;
for (String account : accountList) {
i++;
message = message + account;
if (i != accountList.size()) {
message = message + ", ";
} else {
message = message + ".";
}
}
fSender.sendMessage("[AuthMe] " + arguments[1] + " has " + String.valueOf(accountList.size()) + " accounts");
fSender.sendMessage(message);
} else {
fSender.sendMessage("[AuthMe] Please put a valid IP");
return;
}
}
});
return true;
}
} else if (args[0].equalsIgnoreCase("register") || args[0].equalsIgnoreCase("reg")) {
if (args.length != 2) {
sender.sendMessage("Usage: /authme accounts <playername>");
sender.sendMessage("Or: /authme accounts <ip>");
return true;
}
if (!args[1].contains(".")) {
final CommandSender fSender = sender;
final String[] arguments = args;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin,
new Runnable() {
@Override
public void run() {
PlayerAuth pAuth = null;
String message = "[AuthMe] ";
try {
pAuth = database.getAuth(arguments[1]
.toLowerCase());
} catch (NullPointerException npe) {
fSender.sendMessage("[AuthMe] This player is unknown");
return;
}
if (pAuth != null) {
List<String> accountList = database
.getAllAuthsByName(pAuth);
if (accountList.isEmpty()
|| accountList == null) {
fSender.sendMessage("[AuthMe] This player is unknown");
return;
}
if (accountList.size() == 1) {
fSender.sendMessage("[AuthMe] "
+ arguments[1]
+ " is a single account player");
return;
}
int i = 0;
for (String account : accountList) {
i++;
message = message + account;
if (i != accountList.size()) {
message = message + ", ";
} else {
message = message + ".";
}
}
fSender.sendMessage("[AuthMe] "
+ arguments[1]
+ " has "
+ String.valueOf(accountList.size())
+ " accounts");
fSender.sendMessage(message);
} else {
fSender.sendMessage("[AuthMe] This player is unknown");
return;
}
}
});
return true;
} else {
final CommandSender fSender = sender;
final String[] arguments = args;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin,
new Runnable() {
@Override
public void run() {
String message = "[AuthMe] ";
if (arguments[1] != null) {
List<String> accountList = database
.getAllAuthsByIp(arguments[1]);
if (accountList.isEmpty()
|| accountList == null) {
fSender.sendMessage("[AuthMe] Please put a valid IP");
return;
}
if (accountList.size() == 1) {
fSender.sendMessage("[AuthMe] "
+ arguments[1]
+ " is a single account player");
return;
}
int i = 0;
for (String account : accountList) {
i++;
message = message + account;
if (i != accountList.size()) {
message = message + ", ";
} else {
message = message + ".";
}
}
fSender.sendMessage("[AuthMe] "
+ arguments[1]
+ " has "
+ String.valueOf(accountList.size())
+ " accounts");
fSender.sendMessage(message);
} else {
fSender.sendMessage("[AuthMe] Please put a valid IP");
return;
}
}
});
return true;
}
} else if (args[0].equalsIgnoreCase("register")
|| args[0].equalsIgnoreCase("reg")) {
if (args.length != 3) {
sender.sendMessage("Usage: /authme register playername password");
return true;
@@ -274,17 +309,19 @@ public class AdminCommand implements CommandExecutor {
try {
String name = args[1].toLowerCase();
if (database.isAuthAvailable(name)) {
m._(sender, "user_regged");
m._(sender, "user_regged");
return true;
}
String hash = PasswordSecurity.getHash(Settings.getPasswordHash, args[2], name);
PlayerAuth auth = new PlayerAuth(name, hash, "198.18.0.1", 0L, "your@email.com", API.getPlayerRealName(name));
if (PasswordSecurity.userSalt.containsKey(name) && PasswordSecurity.userSalt.get(name) != null)
auth.setSalt(PasswordSecurity.userSalt.get(name));
else
auth.setSalt("");
String hash = PasswordSecurity.getHash(
Settings.getPasswordHash, args[2], name);
PlayerAuth auth = new PlayerAuth(name, hash, "198.18.0.1", 0L,
"your@email.com", API.getPlayerRealName(name));
if (PasswordSecurity.userSalt.containsKey(name)
&& PasswordSecurity.userSalt.get(name) != null) auth
.setSalt(PasswordSecurity.userSalt.get(name));
else auth.setSalt("");
if (!database.saveAuth(auth)) {
m._(sender, "error");
m._(sender, "error");
return true;
}
m._(sender, "registered");
@@ -299,118 +336,128 @@ public class AdminCommand implements CommandExecutor {
sender.sendMessage("Usage: /authme getemail playername");
return true;
}
String playername = args[1].toLowerCase();
PlayerAuth getAuth = database.getAuth(playername);
if (getAuth == null) {
m._(sender, "unknown_user");
return true;
}
sender.sendMessage("[AuthMe] " + args[1] + " email : " + getAuth.getEmail());
return true;
String playername = args[1].toLowerCase();
PlayerAuth getAuth = database.getAuth(playername);
if (getAuth == null) {
m._(sender, "unknown_user");
return true;
}
sender.sendMessage("[AuthMe] " + args[1] + " email : "
+ getAuth.getEmail());
return true;
} else if (args[0].equalsIgnoreCase("chgemail")) {
if (args.length != 3) {
sender.sendMessage("Usage: /authme chgemail playername email");
return true;
}
String playername = args[1].toLowerCase();
PlayerAuth getAuth = database.getAuth(playername);
if (getAuth == null) {
m._(sender, "unknown_user");
return true;
}
getAuth.setEmail(args[2]);
if (!database.updateEmail(getAuth)) {
m._(sender, "error");
String playername = args[1].toLowerCase();
PlayerAuth getAuth = database.getAuth(playername);
if (getAuth == null) {
m._(sender, "unknown_user");
return true;
}
if (PlayerCache.getInstance().getAuth(playername) != null)
PlayerCache.getInstance().updatePlayer(getAuth);
return true;
getAuth.setEmail(args[2]);
if (!database.updateEmail(getAuth)) {
m._(sender, "error");
return true;
}
if (PlayerCache.getInstance().getAuth(playername) != null) PlayerCache
.getInstance().updatePlayer(getAuth);
return true;
} else if (args[0].equalsIgnoreCase("setspawn")) {
try {
if (sender instanceof Player) {
if (Spawn.getInstance().setSpawn(((Player) sender).getLocation()))
sender.sendMessage("[AuthMe] Correctly define new spawn");
else sender.sendMessage("[AuthMe] SetSpawn fail , please retry");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
try {
if (sender instanceof Player) {
if (Spawn.getInstance().setSpawn(
((Player) sender).getLocation())) sender
.sendMessage("[AuthMe] Correctly define new spawn");
else sender
.sendMessage("[AuthMe] SetSpawn fail , please retry");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
} else if (args[0].equalsIgnoreCase("setfirstspawn")) {
try {
if (sender instanceof Player) {
if (Spawn.getInstance().setFirstSpawn(((Player) sender).getLocation()))
sender.sendMessage("[AuthMe] Correctly define new first spawn");
else sender.sendMessage("[AuthMe] SetFirstSpawn fail , please retry");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
try {
if (sender instanceof Player) {
if (Spawn.getInstance().setFirstSpawn(
((Player) sender).getLocation())) sender
.sendMessage("[AuthMe] Correctly define new first spawn");
else sender
.sendMessage("[AuthMe] SetFirstSpawn fail , please retry");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
} else if (args[0].equalsIgnoreCase("purgebannedplayers")) {
List<String> bannedPlayers = new ArrayList<String>();
for (OfflinePlayer off : plugin.getServer().getBannedPlayers()) {
bannedPlayers.add(off.getName().toLowerCase());
}
final List<String> bP = bannedPlayers;
if (database instanceof Thread) {
database.purgeBanned(bP);
} else {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
database.purgeBanned(bP);
}
});
}
if (Settings.purgeEssentialsFile && plugin.ess != null)
plugin.dataManager.purgeEssentials(bannedPlayers);
if (Settings.purgePlayerDat)
plugin.dataManager.purgeDat(bannedPlayers);
if (Settings.purgeLimitedCreative)
plugin.dataManager.purgeLimitedCreative(bannedPlayers);
if (Settings.purgeAntiXray)
plugin.dataManager.purgeAntiXray(bannedPlayers);
return true;
List<String> bannedPlayers = new ArrayList<String>();
for (OfflinePlayer off : plugin.getServer().getBannedPlayers()) {
bannedPlayers.add(off.getName().toLowerCase());
}
final List<String> bP = bannedPlayers;
if (database instanceof Thread) {
database.purgeBanned(bP);
} else {
Bukkit.getScheduler().runTaskAsynchronously(plugin,
new Runnable() {
@Override
public void run() {
database.purgeBanned(bP);
}
});
}
if (Settings.purgeEssentialsFile && plugin.ess != null) plugin.dataManager
.purgeEssentials(bannedPlayers);
if (Settings.purgePlayerDat) plugin.dataManager
.purgeDat(bannedPlayers);
if (Settings.purgeLimitedCreative) plugin.dataManager
.purgeLimitedCreative(bannedPlayers);
if (Settings.purgeAntiXray) plugin.dataManager
.purgeAntiXray(bannedPlayers);
return true;
} else if (args[0].equalsIgnoreCase("spawn")) {
try {
if (sender instanceof Player) {
if (Spawn.getInstance().getSpawn() != null)
((Player) sender).teleport(Spawn.getInstance().getSpawn());
else sender.sendMessage("[AuthMe] Spawn fail , please try to define the spawn");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
try {
if (sender instanceof Player) {
if (Spawn.getInstance().getSpawn() != null) ((Player) sender)
.teleport(Spawn.getInstance().getSpawn());
else sender
.sendMessage("[AuthMe] Spawn fail , please try to define the spawn");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
} else if (args[0].equalsIgnoreCase("firstspawn")) {
try {
if (sender instanceof Player) {
if (Spawn.getInstance().getFirstSpawn() != null)
((Player) sender).teleport(Spawn.getInstance().getFirstSpawn());
else sender.sendMessage("[AuthMe] Spawn fail , please try to define the first spawn");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
} else if (args[0].equalsIgnoreCase("changepassword") || args[0].equalsIgnoreCase("cp")) {
try {
if (sender instanceof Player) {
if (Spawn.getInstance().getFirstSpawn() != null) ((Player) sender)
.teleport(Spawn.getInstance().getFirstSpawn());
else sender
.sendMessage("[AuthMe] Spawn fail , please try to define the first spawn");
} else {
sender.sendMessage("[AuthMe] Please use that command in game");
}
} catch (NullPointerException ex) {
ConsoleLogger.showError(ex.getMessage());
}
return true;
} else if (args[0].equalsIgnoreCase("changepassword")
|| args[0].equalsIgnoreCase("cp")) {
if (args.length != 3) {
sender.sendMessage("Usage: /authme changepassword playername newpassword");
return true;
}
try {
String name = args[1].toLowerCase();
String hash = PasswordSecurity.getHash(Settings.getPasswordHash, args[2], name);
String hash = PasswordSecurity.getHash(
Settings.getPasswordHash, args[2], name);
PlayerAuth auth = null;
if (PlayerCache.getInstance().isAuthenticated(name)) {
auth = PlayerCache.getInstance().getAuth(name);
@@ -418,16 +465,16 @@ public class AdminCommand implements CommandExecutor {
auth = database.getAuth(name);
}
if (auth == null) {
m._(sender, "unknown_user");
m._(sender, "unknown_user");
return true;
}
auth.setHash(hash);
if (PasswordSecurity.userSalt.containsKey(name)) {
auth.setSalt(PasswordSecurity.userSalt.get(name));
auth.setSalt(PasswordSecurity.userSalt.get(name));
database.updateSalt(auth);
}
if (!database.updatePassword(auth)) {
m._(sender, "error");
m._(sender, "error");
return true;
}
sender.sendMessage("pwd_changed");
@@ -437,51 +484,67 @@ public class AdminCommand implements CommandExecutor {
m._(sender, "error");
}
return true;
} else if (args[0].equalsIgnoreCase("unregister") || args[0].equalsIgnoreCase("unreg") || args[0].equalsIgnoreCase("del") ) {
} else if (args[0].equalsIgnoreCase("unregister")
|| args[0].equalsIgnoreCase("unreg")
|| args[0].equalsIgnoreCase("del")) {
if (args.length != 2) {
sender.sendMessage("Usage: /authme unregister playername");
return true;
}
String name = args[1].toLowerCase();
if (!database.removeAuth(name)) {
m._(sender, "error");
m._(sender, "error");
return true;
}
Player target = Bukkit.getPlayer(name);
PlayerCache.getInstance().removePlayer(name);
Utils.getInstance().setGroup(name, groupType.UNREGISTERED);
if (target != null) {
if (target.isOnline()) {
if (Settings.isTeleportToSpawnEnabled && !Settings.noTeleport) {
Location spawn = plugin.getSpawnLocation(target);
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(target, target.getLocation(), spawn, false);
plugin.getServer().getPluginManager().callEvent(tpEvent);
if(!tpEvent.isCancelled()) {
target.teleport(tpEvent.getTo());
}
if (target.isOnline()) {
if (Settings.isTeleportToSpawnEnabled
&& !Settings.noTeleport) {
Location spawn = plugin.getSpawnLocation(target);
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(
target, target.getLocation(), spawn, false);
plugin.getServer().getPluginManager()
.callEvent(tpEvent);
if (!tpEvent.isCancelled()) {
target.teleport(tpEvent.getTo());
}
}
LimboCache.getInstance().addLimboPlayer(target);
int delay = Settings.getRegistrationTimeout * 20;
int interval = Settings.getWarnMessageInterval;
BukkitScheduler sched = sender.getServer().getScheduler();
if (delay != 0) {
int id = sched.scheduleSyncDelayedTask(plugin, new TimeoutTask(plugin, name), delay);
LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id);
int id = sched.scheduleSyncDelayedTask(plugin,
new TimeoutTask(plugin, name), delay);
LimboCache.getInstance().getLimboPlayer(name)
.setTimeoutTaskId(id);
}
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(sched.scheduleSyncDelayedTask(plugin, new MessageTask(plugin, name, m._("reg_msg"), interval)));
if (Settings.applyBlindEffect)
target.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, Settings.getRegistrationTimeout * 20, 2));
LimboCache
.getInstance()
.getLimboPlayer(name)
.setMessageTaskId(
sched.scheduleSyncDelayedTask(
plugin,
new MessageTask(plugin, name, m
._("reg_msg"), interval)));
if (Settings.applyBlindEffect) target
.addPotionEffect(new PotionEffect(
PotionEffectType.BLINDNESS,
Settings.getRegistrationTimeout * 20, 2));
m._(target, "unregistered");
} else {
// Player isn't online, do nothing else
}
} else {
// Player isn't online, do nothing else
}
} else {
// Player does not exist, do nothing else
// Player does not exist, do nothing else
}
m._(sender, "unregistered");
ConsoleLogger.info(args[1] + " unregistered");
return true;
} else if (args[0].equalsIgnoreCase("purgelastpos")){
} else if (args[0].equalsIgnoreCase("purgelastpos")) {
if (args.length != 2) {
sender.sendMessage("Usage: /authme purgelastpos playername");
return true;
@@ -490,8 +553,9 @@ public class AdminCommand implements CommandExecutor {
String name = args[1].toLowerCase();
PlayerAuth auth = database.getAuth(name);
if (auth == null) {
sender.sendMessage("The player " + name + " is not registered ");
return true;
sender.sendMessage("The player " + name
+ " is not registered ");
return true;
}
auth.setQuitLocX(0);
auth.setQuitLocY(0);
@@ -500,44 +564,48 @@ public class AdminCommand implements CommandExecutor {
database.updateQuitLoc(auth);
sender.sendMessage(name + " 's last pos location is now reset");
} catch (Exception e) {
ConsoleLogger.showError("An error occured while trying to reset location or player do not exist, please see below: ");
ConsoleLogger.showError(e.getMessage());
if (sender instanceof Player)
sender.sendMessage("An error occured while trying to reset location or player do not exist, please see logs");
ConsoleLogger
.showError("An error occured while trying to reset location or player do not exist, please see below: ");
ConsoleLogger.showError(e.getMessage());
if (sender instanceof Player) sender
.sendMessage("An error occured while trying to reset location or player do not exist, please see logs");
}
return true;
} else if (args[0].equalsIgnoreCase("switchantibot")) {
if (args.length != 2) {
sender.sendMessage("Usage : /authme switchantibot on/off");
return true;
}
if (args[1].equalsIgnoreCase("on")) {
plugin.switchAntiBotMod(true);
sender.sendMessage("[AuthMe] AntiBotMod enabled");
return true;
}
if (args[1].equalsIgnoreCase("off")) {
plugin.switchAntiBotMod(false);
sender.sendMessage("[AuthMe] AntiBotMod disabled");
return true;
}
sender.sendMessage("Usage : /authme switchantibot on/off");
return true;
if (args.length != 2) {
sender.sendMessage("Usage : /authme switchantibot on/off");
return true;
}
if (args[1].equalsIgnoreCase("on")) {
plugin.switchAntiBotMod(true);
sender.sendMessage("[AuthMe] AntiBotMod enabled");
return true;
}
if (args[1].equalsIgnoreCase("off")) {
plugin.switchAntiBotMod(false);
sender.sendMessage("[AuthMe] AntiBotMod disabled");
return true;
}
sender.sendMessage("Usage : /authme switchantibot on/off");
return true;
} else if (args[0].equalsIgnoreCase("getip")) {
if (args.length < 2) {
sender.sendMessage("Usage : /authme getip onlinePlayerName");
return true;
}
if (Bukkit.getPlayer(args[1]) != null) {
Player player = Bukkit.getPlayer(args[1]);
sender.sendMessage(player.getName() + " actual ip is : " + player.getAddress().getAddress().getHostAddress() + ":" + player.getAddress().getPort());
sender.sendMessage(player.getName() + " real ip is : " + plugin.getIP(player));
return true;
} else {
sender.sendMessage("This player is not actually online");
sender.sendMessage("Usage : /authme getip onlinePlayerName");
return true;
}
if (args.length < 2) {
sender.sendMessage("Usage : /authme getip onlinePlayerName");
return true;
}
if (Bukkit.getPlayer(args[1]) != null) {
Player player = Bukkit.getPlayer(args[1]);
sender.sendMessage(player.getName() + " actual ip is : "
+ player.getAddress().getAddress().getHostAddress()
+ ":" + player.getAddress().getPort());
sender.sendMessage(player.getName() + " real ip is : "
+ plugin.getIP(player));
return true;
} else {
sender.sendMessage("This player is not actually online");
sender.sendMessage("Usage : /authme getip onlinePlayerName");
return true;
}
} else if (args[0].equalsIgnoreCase("resetposition")) {
if (args.length < 2) {
sender.sendMessage("Usage : /authme resetPosition <playerName>");
@@ -553,7 +621,8 @@ public class AdminCommand implements CommandExecutor {
auth.setQuitLocZ(0D);
auth.setWorld("world");
database.updateQuitLoc(auth);
sender.sendMessage("[AuthMe] Successfully reset position for " + auth.getNickname());
sender.sendMessage("[AuthMe] Successfully reset position for "
+ auth.getNickname());
return true;
} else {
sender.sendMessage("Usage: /authme reload|register playername password|changepassword playername password|unregister playername");
@@ -11,20 +11,19 @@ import fr.xephi.authme.security.RandomString;
import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings;
public class CaptchaCommand implements CommandExecutor {
public AuthMe plugin;
public AuthMe plugin;
private Messages m = Messages.getInstance();
public static RandomString rdm = new RandomString(Settings.captchaLength);
public CaptchaCommand(AuthMe plugin) {
this.plugin = plugin;
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd,
String label, String[] args) {
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (!(sender instanceof Player)) {
return true;
@@ -34,37 +33,38 @@ public class CaptchaCommand implements CommandExecutor {
String name = player.getName().toLowerCase();
if (args.length == 0) {
m._(player, "usage_captcha");
m._(player, "usage_captcha");
return true;
}
if (PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "logged_in");
m._(player, "logged_in");
return true;
}
if (!plugin.authmePermissible(player, "authme." + label.toLowerCase())) {
m._(player, "no_perm");
m._(player, "no_perm");
return true;
}
if (!Settings.useCaptcha) {
m._(player, "usage_log");
return true;
m._(player, "usage_log");
return true;
}
if(!plugin.cap.containsKey(name)) {
m._(player, "usage_log");
return true;
}
if (!plugin.cap.containsKey(name)) {
m._(player, "usage_log");
return true;
}
if(Settings.useCaptcha && !args[0].equals(plugin.cap.get(name))) {
plugin.cap.remove(name);
plugin.cap.put(name, rdm.nextString());
for (String s : m._("wrong_captcha")) {
player.sendMessage(s.replace("THE_CAPTCHA", plugin.cap.get(name)));
}
return true;
if (Settings.useCaptcha && !args[0].equals(plugin.cap.get(name))) {
plugin.cap.remove(name);
plugin.cap.put(name, rdm.nextString());
for (String s : m._("wrong_captcha")) {
player.sendMessage(s.replace("THE_CAPTCHA",
plugin.cap.get(name)));
}
return true;
}
try {
plugin.captcha.remove(name);
@@ -74,6 +74,6 @@ public class CaptchaCommand implements CommandExecutor {
m._(player, "valid_captcha");
m._(player, "login_msg");
return true;
}
}
}
@@ -18,7 +18,6 @@ import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings;
public class ChangePasswordCommand implements CommandExecutor {
private Messages m = Messages.getInstance();
@@ -31,51 +30,56 @@ public class ChangePasswordCommand implements CommandExecutor {
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (!(sender instanceof Player)) {
return true;
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
m._(sender, "no_perm");
m._(sender, "no_perm");
return true;
}
Player player = (Player) sender;
String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "not_logged_in");
m._(player, "not_logged_in");
return true;
}
if (args.length != 2) {
m._(player, "usage_changepassword");
m._(player, "usage_changepassword");
return true;
}
try {
String hashnew = PasswordSecurity.getHash(Settings.getPasswordHash, args[1], name);
String hashnew = PasswordSecurity.getHash(Settings.getPasswordHash,
args[1], name);
if (PasswordSecurity.comparePasswordWithHash(args[0], PlayerCache.getInstance().getAuth(name).getHash(), player.getName())) {
if (PasswordSecurity.comparePasswordWithHash(args[0], PlayerCache
.getInstance().getAuth(name).getHash(), player.getName())) {
PlayerAuth auth = PlayerCache.getInstance().getAuth(name);
auth.setHash(hashnew);
if (PasswordSecurity.userSalt.containsKey(name) && PasswordSecurity.userSalt.get(name) != null)
auth.setSalt(PasswordSecurity.userSalt.get(name));
else
auth.setSalt("");
if (PasswordSecurity.userSalt.containsKey(name)
&& PasswordSecurity.userSalt.get(name) != null) auth
.setSalt(PasswordSecurity.userSalt.get(name));
else auth.setSalt("");
if (!database.updatePassword(auth)) {
m._(player, "error");
m._(player, "error");
return true;
}
database.updateSalt(auth);
PlayerCache.getInstance().updatePlayer(auth);
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!"));
if (plugin.notifications != null) {
plugin.notifications.showNotification(new Notification(
"[AuthMe] " + player.getName()
+ " change his password!"));
}
} else {
m._(player, "wrong_pwd");
m._(player, "wrong_pwd");
}
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
@@ -18,7 +18,6 @@ import fr.xephi.authme.converter.xAuthConverter;
import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.Messages;
public class ConverterCommand implements CommandExecutor {
private AuthMe plugin;
@@ -26,12 +25,13 @@ public class ConverterCommand implements CommandExecutor {
private DataSource database;
public ConverterCommand(AuthMe plugin, DataSource database) {
this.plugin = plugin;
this.database = database;
this.plugin = plugin;
this.database = database;
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, final String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
final String[] args) {
if (!(sender instanceof Player)) {
return true;
}
@@ -45,7 +45,7 @@ public class ConverterCommand implements CommandExecutor {
sender.sendMessage("Usage : /converter flattosql | flattosqlite | xauth | crazylogin | rakamak | royalauth | vauth");
return true;
}
ConvertType type = ConvertType.valueOf(args[0]);
if (type == null) {
m._(sender, "error");
@@ -53,7 +53,7 @@ public class ConverterCommand implements CommandExecutor {
}
Converter converter = null;
switch (type) {
case ftsql:
case ftsql:
converter = new FlatToSql();
break;
case ftsqlite:
@@ -74,7 +74,8 @@ public class ConverterCommand implements CommandExecutor {
case vauth:
converter = new vAuthConverter(plugin, database, sender);
break;
default: break;
default:
break;
}
if (converter == null) {
m._(sender, "error");
@@ -84,27 +85,23 @@ public class ConverterCommand implements CommandExecutor {
sender.sendMessage("[AuthMe] Successfully converted from " + args[0]);
return true;
}
public enum ConvertType {
ftsql("flattosql"),
ftsqlite("flattosqlite"),
xauth("xauth"),
crazylogin("crazylogin"),
rakamak("rakamak"),
royalauth("royalauth"),
vauth("vauth");
ftsql("flattosql"), ftsqlite("flattosqlite"), xauth("xauth"), crazylogin(
"crazylogin"), rakamak("rakamak"), royalauth("royalauth"), vauth(
"vauth");
String name;
ConvertType(String name) {
this.name = name;
}
String getName() {
return this.name;
}
ConvertType fromName(String name) {
return ConvertType.valueOf(name);
}
@@ -24,8 +24,8 @@ import fr.xephi.authme.settings.Settings;
*/
public class EmailCommand implements CommandExecutor {
public AuthMe plugin;
private DataSource data;
public AuthMe plugin;
private DataSource data;
private Messages m = Messages.getInstance();
public EmailCommand(AuthMe plugin, DataSource data) {
@@ -34,44 +34,49 @@ public class EmailCommand implements CommandExecutor {
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (!(sender instanceof Player)) {
return true;
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
m._(sender, "no_perm");
return true;
}
Player player = (Player) sender;
String name = player.getName().toLowerCase();
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
m._(sender, "no_perm");
return true;
}
if (args.length == 0) {
m._(player, "usage_email_add");
m._(player, "usage_email_change");
m._(player, "usage_email_recovery");
return true;
}
Player player = (Player) sender;
String name = player.getName().toLowerCase();
if(args[0].equalsIgnoreCase("add")) {
if (args.length != 3) {
m._(player, "usage_email_add");
return true;
}
if(Settings.getmaxRegPerEmail > 0) {
if (!plugin.authmePermissible(sender, "authme.allow2accounts") && data.getAllAuthsByEmail(args[1]).size() >= Settings.getmaxRegPerEmail) {
m._(player, "max_reg");
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())) {
m._(player, "usage_email_change");
return true;
if (args.length == 0) {
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) {
m._(player, "usage_email_add");
return true;
}
if (Settings.getmaxRegPerEmail > 0) {
if (!plugin.authmePermissible(sender, "authme.allow2accounts")
&& data.getAllAuthsByEmail(args[1]).size() >= Settings.getmaxRegPerEmail) {
m._(player, "max_reg");
return true;
}
if(!Settings.isEmailCorrect(args[1])) {
}
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())) {
m._(player, "usage_email_change");
return true;
}
if (!Settings.isEmailCorrect(args[1])) {
m._(player, "email_invalid");
return true;
}
@@ -83,37 +88,40 @@ public class EmailCommand implements CommandExecutor {
PlayerCache.getInstance().updatePlayer(auth);
m._(player, "email_added");
player.sendMessage(auth.getEmail());
} else if (PlayerCache.getInstance().isAuthenticated(name)){
} else if (PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "email_confirm");
} else {
if (!data.isAuthAvailable(name)) {
m._(player, "login_msg");
} else {
m._(player, "reg_email_msg");
}
if (!data.isAuthAvailable(name)) {
m._(player, "login_msg");
} else {
m._(player, "reg_email_msg");
}
}
} else if(args[0].equalsIgnoreCase("change")) {
} else if (args[0].equalsIgnoreCase("change")) {
if (args.length != 3) {
m._(player, "usage_email_change");
return true;
}
if (Settings.getmaxRegPerEmail > 0) {
if (!plugin.authmePermissible(sender, "authme.allow2accounts")
&& data.getAllAuthsByEmail(args[2]).size() >= Settings.getmaxRegPerEmail) {
m._(player, "max_reg");
return true;
}
if(Settings.getmaxRegPerEmail > 0) {
if (!plugin.authmePermissible(sender, "authme.allow2accounts") && data.getAllAuthsByEmail(args[2]).size() >= Settings.getmaxRegPerEmail) {
m._(player, "max_reg");
return true;
}
}
if(PlayerCache.getInstance().isAuthenticated(name)) {
}
if (PlayerCache.getInstance().isAuthenticated(name)) {
PlayerAuth auth = PlayerCache.getInstance().getAuth(name);
if (auth.getEmail() == null || auth.getEmail().equals("your@email.com") || auth.getEmail().isEmpty()) {
m._(player, "usage_email_add");
return true;
if (auth.getEmail() == null
|| auth.getEmail().equals("your@email.com")
|| auth.getEmail().isEmpty()) {
m._(player, "usage_email_add");
return true;
}
if (!args[1].equals(auth.getEmail())) {
m._(player, "old_email_invalid");
return true;
if (!args[1].equals(auth.getEmail())) {
m._(player, "old_email_invalid");
return true;
}
if(!Settings.isEmailCorrect(args[2])) {
if (!Settings.isEmailCorrect(args[2])) {
m._(player, "new_email_invalid");
return true;
}
@@ -125,78 +133,85 @@ public class EmailCommand implements CommandExecutor {
PlayerCache.getInstance().updatePlayer(auth);
m._(player, "email_changed");
player.sendMessage(m._("email_defined") + auth.getEmail());
} else if (PlayerCache.getInstance().isAuthenticated(name)){
} else if (PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "email_confirm");
} else {
if (!data.isAuthAvailable(name)) {
m._(player, "login_msg");
} else {
m._(player, "reg_email_msg");
}
if (!data.isAuthAvailable(name)) {
m._(player, "login_msg");
} else {
m._(player, "reg_email_msg");
}
}
}
if(args[0].equalsIgnoreCase("recovery")) {
if (args.length != 2) {
m._(player, "usage_email_recovery");
return true;
}
if (plugin.mail == null) {
m._(player, "error");
return true;
}
if (data.isAuthAvailable(name)) {
if (PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "logged_in");
return true;
}
try {
RandomString rand = new RandomString(Settings.getRecoveryPassLength);
String thePass = rand.nextString();
String hashnew = PasswordSecurity.getHash(Settings.getPasswordHash, thePass, name);
PlayerAuth auth = null;
if (PlayerCache.getInstance().isAuthenticated(name)) {
auth = PlayerCache.getInstance().getAuth(name);
} else if (data.isAuthAvailable(name)) {
auth = data.getAuth(name);
} else {
m._(player, "unknown_user");
return true;
}
if (Settings.getmailAccount.equals("") || Settings.getmailAccount.isEmpty()) {
m._(player, "error");
return true;
}
if (!args[1].equalsIgnoreCase(auth.getEmail()) || args[1].equalsIgnoreCase("your@email.com") || auth.getEmail().equalsIgnoreCase("your@email.com")) {
m._(player, "email_invalid");
return true;
}
final String finalhashnew = hashnew;
final PlayerAuth finalauth = auth;
if (data instanceof Thread) {
finalauth.setHash(hashnew);
data.updatePassword(auth);
} else {
Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
finalauth.setHash(finalhashnew);
data.updatePassword(finalauth);
}
});
}
plugin.mail.main(auth, thePass);
m._(player, "email_send");
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
m._(sender, "error");
} catch (NoClassDefFoundError ncdfe) {
ConsoleLogger.showError(ncdfe.getMessage());
m._(sender, "error");
}
} else {
m._(player, "reg_email_msg");
}
if (args[0].equalsIgnoreCase("recovery")) {
if (args.length != 2) {
m._(player, "usage_email_recovery");
return true;
}
if (plugin.mail == null) {
m._(player, "error");
return true;
}
if (data.isAuthAvailable(name)) {
if (PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "logged_in");
return true;
}
try {
RandomString rand = new RandomString(
Settings.getRecoveryPassLength);
String thePass = rand.nextString();
String hashnew = PasswordSecurity.getHash(
Settings.getPasswordHash, thePass, name);
PlayerAuth auth = null;
if (PlayerCache.getInstance().isAuthenticated(name)) {
auth = PlayerCache.getInstance().getAuth(name);
} else if (data.isAuthAvailable(name)) {
auth = data.getAuth(name);
} else {
m._(player, "unknown_user");
return true;
}
if (Settings.getmailAccount.equals("")
|| Settings.getmailAccount.isEmpty()) {
m._(player, "error");
return true;
}
if (!args[1].equalsIgnoreCase(auth.getEmail())
|| args[1].equalsIgnoreCase("your@email.com")
|| auth.getEmail().equalsIgnoreCase(
"your@email.com")) {
m._(player, "email_invalid");
return true;
}
final String finalhashnew = hashnew;
final PlayerAuth finalauth = auth;
if (data instanceof Thread) {
finalauth.setHash(hashnew);
data.updatePassword(auth);
} else {
Bukkit.getScheduler().runTaskAsynchronously(plugin,
new Runnable() {
@Override
public void run() {
finalauth.setHash(finalhashnew);
data.updatePassword(finalauth);
}
});
}
plugin.mail.main(auth, thePass);
m._(player, "email_send");
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());
m._(sender, "error");
} catch (NoClassDefFoundError ncdfe) {
ConsoleLogger.showError(ncdfe.getMessage());
m._(sender, "error");
}
} else {
m._(player, "reg_email_msg");
}
}
return true;
}
@@ -8,18 +8,18 @@ import org.bukkit.entity.Player;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.settings.Messages;
public class LoginCommand implements CommandExecutor {
private AuthMe plugin;
private Messages m = Messages.getInstance();
public LoginCommand(AuthMe plugin) {
this.plugin = plugin;
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, final String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
final String[] args) {
if (!(sender instanceof Player)) {
return true;
}
@@ -27,15 +27,15 @@ public class LoginCommand implements CommandExecutor {
final Player player = (Player) sender;
if (args.length == 0) {
m._(player, "usage_log");
m._(player, "usage_log");
return true;
}
if (!plugin.authmePermissible(player, "authme." + label.toLowerCase())) {
m._(player, "no_perm");
m._(player, "no_perm");
return true;
}
plugin.management.performLogin(player, args[0], false);
plugin.management.performLogin(player, args[0], false);
return true;
}
}
@@ -27,7 +27,6 @@ import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask;
import fr.xephi.authme.task.TimeoutTask;
public class LogoutCommand implements CommandExecutor {
private Messages m = Messages.getInstance();
@@ -42,13 +41,14 @@ public class LogoutCommand implements CommandExecutor {
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (!(sender instanceof Player)) {
return true;
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
m._(sender, "no_perm");
m._(sender, "no_perm");
return true;
}
@@ -56,7 +56,7 @@ public class LogoutCommand implements CommandExecutor {
String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "not_logged_in");
m._(player, "not_logged_in");
return true;
}
@@ -72,46 +72,55 @@ public class LogoutCommand implements CommandExecutor {
database.setUnlogged(name);
if (Settings.isTeleportToSpawnEnabled && !Settings.noTeleport) {
Location spawnLoc = plugin.getSpawnLocation(player);
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, spawnLoc);
Location spawnLoc = plugin.getSpawnLocation(player);
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player,
spawnLoc);
plugin.getServer().getPluginManager().callEvent(tpEvent);
if(!tpEvent.isCancelled()) {
if (tpEvent.getTo() != null)
player.teleport(tpEvent.getTo());
if (!tpEvent.isCancelled()) {
if (tpEvent.getTo() != null) player.teleport(tpEvent.getTo());
}
}
if (LimboCache.getInstance().hasLimboPlayer(name))
LimboCache.getInstance().deleteLimboPlayer(name);
if (LimboCache.getInstance().hasLimboPlayer(name)) LimboCache
.getInstance().deleteLimboPlayer(name);
LimboCache.getInstance().addLimboPlayer(player);
utils.setGroup(player, groupType.NOTLOGGEDIN);
if(Settings.protectInventoryBeforeLogInEnabled) {
player.getInventory().clear();
// create cache file for handling lost of inventories on unlogged in status
DataFileCache playerData = new DataFileCache(LimboCache.getInstance().getLimboPlayer(name).getInventory(),LimboCache.getInstance().getLimboPlayer(name).getArmour());
playerBackup.createCache(name, playerData, LimboCache.getInstance().getLimboPlayer(name).getGroup(),LimboCache.getInstance().getLimboPlayer(name).getOperator(),LimboCache.getInstance().getLimboPlayer(name).isFlying());
if (Settings.protectInventoryBeforeLogInEnabled) {
player.getInventory().clear();
// create cache file for handling lost of inventories on unlogged in
// status
DataFileCache playerData = new DataFileCache(LimboCache
.getInstance().getLimboPlayer(name).getInventory(),
LimboCache.getInstance().getLimboPlayer(name).getArmour());
playerBackup.createCache(name, playerData, LimboCache.getInstance()
.getLimboPlayer(name).getGroup(), LimboCache.getInstance()
.getLimboPlayer(name).getOperator(), LimboCache
.getInstance().getLimboPlayer(name).isFlying());
}
int delay = Settings.getRegistrationTimeout * 20;
int interval = Settings.getWarnMessageInterval;
BukkitScheduler sched = sender.getServer().getScheduler();
if (delay != 0) {
int id = sched.scheduleSyncDelayedTask(plugin, new TimeoutTask(plugin, name), delay);
int id = sched.scheduleSyncDelayedTask(plugin, new TimeoutTask(
plugin, name), delay);
LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id);
}
int msgT = sched.scheduleSyncDelayedTask(plugin, new MessageTask(plugin, name, m._("login_msg"), interval));
int msgT = sched.scheduleSyncDelayedTask(plugin, new MessageTask(
plugin, name, m._("login_msg"), interval));
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT);
try {
if (player.isInsideVehicle())
player.getVehicle().eject();
if (player.isInsideVehicle()) player.getVehicle().eject();
} catch (NullPointerException npe) {
}
if (Settings.applyBlindEffect)
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, Settings.getRegistrationTimeout * 20, 2));
if (Settings.applyBlindEffect) player.addPotionEffect(new PotionEffect(
PotionEffectType.BLINDNESS,
Settings.getRegistrationTimeout * 20, 2));
m._(player, "logout");
ConsoleLogger.info(player.getDisplayName() + " logged out");
if(plugin.notifications != null) {
plugin.notifications.showNotification(new Notification("[AuthMe] " + player.getName() + " logged out!"));
if (plugin.notifications != null) {
plugin.notifications.showNotification(new Notification("[AuthMe] "
+ player.getName() + " logged out!"));
}
return true;
}
@@ -10,7 +10,6 @@ import fr.xephi.authme.Utils;
import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.settings.Messages;
/**
*
* @author stefano
@@ -18,34 +17,37 @@ import fr.xephi.authme.settings.Messages;
public class PasspartuCommand implements CommandExecutor {
private Utils utils = Utils.getInstance();
public AuthMe plugin;
private Messages m = Messages.getInstance();
private Messages m = Messages.getInstance();
public PasspartuCommand(AuthMe plugin) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
m._(sender, "no_perm");
m._(sender, "no_perm");
return true;
}
if (PlayerCache.getInstance().isAuthenticated(sender.getName().toLowerCase())) {
if (PlayerCache.getInstance().isAuthenticated(
sender.getName().toLowerCase())) {
return true;
}
if ((sender instanceof Player) && args.length == 1) {
if(utils.readToken(args[0])) {
//bypass login!
plugin.management.performLogin((Player) sender, "dontneed", true);
return true;
}
sender.sendMessage("Time is expired or Token is Wrong!");
return true;
}
sender.sendMessage("usage: /passpartu token");
return true;
if ((sender instanceof Player) && args.length == 1) {
if (utils.readToken(args[0])) {
// bypass login!
plugin.management.performLogin((Player) sender, "dontneed",
true);
return true;
}
sender.sendMessage("Time is expired or Token is Wrong!");
return true;
}
sender.sendMessage("usage: /passpartu token");
return true;
}
}
@@ -11,61 +11,62 @@ import fr.xephi.authme.security.RandomString;
import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings;
public class RegisterCommand implements CommandExecutor {
private Messages m = Messages.getInstance();
public PlayerAuth auth;
public AuthMe plugin;
public PlayerAuth auth;
public AuthMe plugin;
public RegisterCommand(AuthMe plugin) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("Player Only! Use 'authme register <playername> <password>' instead");
return true;
sender.sendMessage("Player Only! Use 'authme register <playername> <password>' instead");
return true;
}
if (args.length == 0) {
m._(sender, "usage_reg");
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
m._(sender, "no_perm");
m._(sender, "no_perm");
return true;
}
final Player player = (Player) sender;
if(Settings.emailRegistration && !Settings.getmailAccount.isEmpty()) {
if(Settings.doubleEmailCheck) {
if(args.length < 2) {
if (Settings.emailRegistration && !Settings.getmailAccount.isEmpty()) {
if (Settings.doubleEmailCheck) {
if (args.length < 2) {
m._(player, "usage_reg");
return true;
}
if(!args[0].equals(args[1])) {
}
if (!args[0].equals(args[1])) {
m._(player, "usage_reg");
return true;
}
}
}
}
final String email = args[0];
if(!Settings.isEmailCorrect(email)) {
if (!Settings.isEmailCorrect(email)) {
m._(player, "email_invalid");
return true;
}
RandomString rand = new RandomString(Settings.getRecoveryPassLength);
final String thePass = rand.nextString();
}
RandomString rand = new RandomString(Settings.getRecoveryPassLength);
final String thePass = rand.nextString();
plugin.management.performRegister(player, thePass, email);
return true;
}
if (args.length == 0 || (Settings.getEnablePasswordVerifier && args.length < 2)) {
if (args.length == 0
|| (Settings.getEnablePasswordVerifier && args.length < 2)) {
m._(player, "usage_reg");
return true;
}
if (args.length > 1 && Settings.getEnablePasswordVerifier)
if(!args[0].equals(args[1])) {
m._(player, "password_error");
return true;
}
if (args.length > 1 && Settings.getEnablePasswordVerifier) if (!args[0]
.equals(args[1])) {
m._(player, "password_error");
return true;
}
plugin.management.performRegister(player, args[0], "");
return true;
}
@@ -29,7 +29,6 @@ import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask;
import fr.xephi.authme.task.TimeoutTask;
public class UnregisterCommand implements CommandExecutor {
private Messages m = Messages.getInstance();
@@ -43,13 +42,14 @@ public class UnregisterCommand implements CommandExecutor {
}
@Override
public boolean onCommand(CommandSender sender, Command cmnd, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command cmnd, String label,
String[] args) {
if (!(sender instanceof Player)) {
return true;
}
if (!plugin.authmePermissible(sender, "authme." + label.toLowerCase())) {
m._(sender, "no_perm");
m._(sender, "no_perm");
return true;
}
@@ -57,80 +57,109 @@ public class UnregisterCommand implements CommandExecutor {
String name = player.getName().toLowerCase();
if (!PlayerCache.getInstance().isAuthenticated(name)) {
m._(player, "not_logged_in");
m._(player, "not_logged_in");
return true;
}
if (args.length != 1) {
m._(player, "usage_unreg");
m._(player, "usage_unreg");
return true;
}
try {
if (PasswordSecurity.comparePasswordWithHash(args[0], PlayerCache.getInstance().getAuth(name).getHash(), player.getName())) {
if (PasswordSecurity.comparePasswordWithHash(args[0], PlayerCache
.getInstance().getAuth(name).getHash(), player.getName())) {
if (!database.removeAuth(name)) {
player.sendMessage("error");
return true;
}
if(Settings.isForcedRegistrationEnabled) {
if (Settings.isTeleportToSpawnEnabled && !Settings.noTeleport) {
Location spawn = plugin.getSpawnLocation(player);
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawn, false);
plugin.getServer().getPluginManager().callEvent(tpEvent);
if(!tpEvent.isCancelled()) {
player.teleport(tpEvent.getTo());
if (Settings.isForcedRegistrationEnabled) {
if (Settings.isTeleportToSpawnEnabled
&& !Settings.noTeleport) {
Location spawn = plugin.getSpawnLocation(player);
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(
player, player.getLocation(), spawn, false);
plugin.getServer().getPluginManager()
.callEvent(tpEvent);
if (!tpEvent.isCancelled()) {
player.teleport(tpEvent.getTo());
}
}
player.getInventory().setContents(new ItemStack[36]);
player.getInventory().setArmorContents(new ItemStack[4]);
player.saveData();
PlayerCache.getInstance().removePlayer(player.getName().toLowerCase());
if (!Settings.getRegisteredGroup.isEmpty())
Utils.getInstance().setGroup(player, groupType.UNREGISTERED);
player.getInventory().setContents(new ItemStack[36]);
player.getInventory().setArmorContents(new ItemStack[4]);
player.saveData();
PlayerCache.getInstance().removePlayer(
player.getName().toLowerCase());
if (!Settings.getRegisteredGroup.isEmpty()) Utils
.getInstance().setGroup(player,
groupType.UNREGISTERED);
LimboCache.getInstance().addLimboPlayer(player);
int delay = Settings.getRegistrationTimeout * 20;
int interval = Settings.getWarnMessageInterval;
BukkitScheduler sched = sender.getServer().getScheduler();
if (delay != 0) {
int id = sched.scheduleSyncDelayedTask(plugin, new TimeoutTask(plugin, name), delay);
LimboCache.getInstance().getLimboPlayer(name).setTimeoutTaskId(id);
int id = sched.scheduleSyncDelayedTask(plugin,
new TimeoutTask(plugin, name), delay);
LimboCache.getInstance().getLimboPlayer(name)
.setTimeoutTaskId(id);
}
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(sched.scheduleSyncDelayedTask(plugin, new MessageTask(plugin, name, m._("reg_msg"), interval)));
LimboCache
.getInstance()
.getLimboPlayer(name)
.setMessageTaskId(
sched.scheduleSyncDelayedTask(
plugin,
new MessageTask(plugin, name, m
._("reg_msg"), interval)));
m._(player, "unregistered");
ConsoleLogger.info(player.getDisplayName() + " unregistered himself");
if(plugin.notifications != null) {
plugin.notifications.showNotification(new Notification("[AuthMe] " + player.getName() + " unregistered himself!"));
ConsoleLogger.info(player.getDisplayName()
+ " unregistered himself");
if (plugin.notifications != null) {
plugin.notifications.showNotification(new Notification(
"[AuthMe] " + player.getName()
+ " unregistered himself!"));
}
return true;
}
if(!Settings.unRegisteredGroup.isEmpty()){
Utils.getInstance().setGroup(player, Utils.groupType.UNREGISTERED);
}
PlayerCache.getInstance().removePlayer(player.getName().toLowerCase());
// check if Player cache File Exist and delete it, preventing duplication of items
if(playerCache.doesCacheExist(name)) {
playerCache.removeCache(name);
}
if (Settings.applyBlindEffect)
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, Settings.getRegistrationTimeout * 20, 2));
m._(player, "unregistered");
ConsoleLogger.info(player.getDisplayName() + " unregistered himself");
if(plugin.notifications != null) {
plugin.notifications.showNotification(new Notification("[AuthMe] " + player.getName() + " unregistered himself!"));
}
if (Settings.isTeleportToSpawnEnabled && !Settings.noTeleport) {
Location spawn = plugin.getSpawnLocation(player);
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawn, false);
plugin.getServer().getPluginManager().callEvent(tpEvent);
if(!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).isLoaded()) {
tpEvent.getTo().getWorld().getChunkAt(tpEvent.getTo()).load();
}
player.teleport(tpEvent.getTo());
}
}
if (!Settings.unRegisteredGroup.isEmpty()) {
Utils.getInstance().setGroup(player,
Utils.groupType.UNREGISTERED);
}
PlayerCache.getInstance().removePlayer(
player.getName().toLowerCase());
// check if Player cache File Exist and delete it, preventing
// duplication of items
if (playerCache.doesCacheExist(name)) {
playerCache.removeCache(name);
}
if (Settings.applyBlindEffect) player
.addPotionEffect(new PotionEffect(
PotionEffectType.BLINDNESS,
Settings.getRegistrationTimeout * 20, 2));
m._(player, "unregistered");
ConsoleLogger.info(player.getDisplayName()
+ " unregistered himself");
if (plugin.notifications != null) {
plugin.notifications.showNotification(new Notification(
"[AuthMe] " + player.getName()
+ " unregistered himself!"));
}
if (Settings.isTeleportToSpawnEnabled && !Settings.noTeleport) {
Location spawn = plugin.getSpawnLocation(player);
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player,
player.getLocation(), spawn, false);
plugin.getServer().getPluginManager().callEvent(tpEvent);
if (!tpEvent.isCancelled()) {
if (!tpEvent.getTo().getWorld()
.getChunkAt(tpEvent.getTo()).isLoaded()) {
tpEvent.getTo().getWorld()
.getChunkAt(tpEvent.getTo()).load();
}
player.teleport(tpEvent.getTo());
}
}
return true;
} else {
m._(player, "wrong_pwd");
m._(player, "wrong_pwd");
}
} catch (NoSuchAlgorithmException ex) {
ConsoleLogger.showError(ex.getMessage());