Add wildcard to perform reset position for each players

This commit is contained in:
Xephi 2015-12-28 11:50:16 +01:00
parent 0103c5e2e5
commit c94b6223a1
3 changed files with 34 additions and 18 deletions

View File

@ -222,8 +222,8 @@ public final class CommandInitializer {
.labels("resetpos", "purgelastposition", "purgelastpos", "resetposition",
"resetlastposition", "resetlastpos")
.description("Purge player's last position")
.detailedDescription("Purge the last know position of the specified player.")
.withArgument("player", "Player name", false)
.detailedDescription("Purge the last know position of the specified player or all of them.")
.withArgument("player/*", "Player name or * for all players", false)
.permissions(OP_ONLY, AdminPermission.PURGE_LAST_POSITION)
.executableCommand(new PurgeLastPositionCommand())
.build();

View File

@ -15,21 +15,38 @@ public class PurgeLastPositionCommand implements ExecutableCommand {
String playerName = arguments.isEmpty() ? sender.getName() : arguments.get(0);
String playerNameLowerCase = playerName.toLowerCase();
// Get the user auth and make sure the user exists
PlayerAuth auth = commandService.getDataSource().getAuth(playerNameLowerCase);
if (auth == null) {
commandService.send(sender, MessageKey.UNKNOWN_USER);
return;
if (playerNameLowerCase.equalsIgnoreCase("*"))
{
for (PlayerAuth auth : commandService.getDataSource().getAllAuths())
{
// Set the last position
auth.setQuitLocX(0D);
auth.setQuitLocY(0D);
auth.setQuitLocZ(0D);
auth.setWorld("world");
commandService.getDataSource().updateQuitLoc(auth);
}
sender.sendMessage("All players last position locations are now reset");
}
else
{
// Get the user auth and make sure the user exists
PlayerAuth auth = commandService.getDataSource().getAuth(playerNameLowerCase);
if (auth == null) {
commandService.send(sender, MessageKey.UNKNOWN_USER);
return;
}
// Set the last position
auth.setQuitLocX(0D);
auth.setQuitLocY(0D);
auth.setQuitLocZ(0D);
auth.setWorld("world");
commandService.getDataSource().updateQuitLoc(auth);
// Show a status message
sender.sendMessage(playerNameLowerCase + "'s last position location is now reset");
}
// Set the last position
auth.setQuitLocX(0D);
auth.setQuitLocY(0D);
auth.setQuitLocZ(0D);
auth.setWorld("world");
commandService.getDataSource().updateQuitLoc(auth);
// Show a status message
sender.sendMessage(playerNameLowerCase + "'s last position location is now reset");
}
}

View File

@ -70,8 +70,7 @@ public class BungeeCordMessage implements PluginMessageListener {
} else if ("register".equals(act)) {
ConsoleLogger.info("Player " + auth.getNickname()
+ " has registered out from one of your server!");
}
else if ("changepassword".equals(act)) {
} else if ("changepassword".equals(act)) {
final String password = args[2];
auth.setHash(password);
if (args.length == 4)