|
@@ -33,9 +33,9 @@ import java.util.List;
|
|
|
public class PtpCommand implements TabExecutor {
|
|
|
public static final List<String> TELEPORT_SUBCOMMANDS = ImmutableList.of("toggle", "accept", "acceptany", "acceptall");
|
|
|
|
|
|
- private CommandExecutor ptpToggleCommand = new PtpToggleCommand();
|
|
|
- private CommandExecutor ptpAcceptAnyCommand = new PtpAcceptAnyCommand();
|
|
|
- private CommandExecutor ptpAcceptCommand = new PtpAcceptCommand();
|
|
|
+ private final CommandExecutor ptpToggleCommand = new PtpToggleCommand();
|
|
|
+ private final CommandExecutor ptpAcceptAnyCommand = new PtpAcceptAnyCommand();
|
|
|
+ private final CommandExecutor ptpAcceptCommand = new PtpAcceptCommand();
|
|
|
|
|
|
@Override
|
|
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
@@ -80,85 +80,79 @@ public class PtpCommand implements TabExecutor {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- switch (args.length) {
|
|
|
- case 1:
|
|
|
- if (args[0].equalsIgnoreCase("toggle")) {
|
|
|
- return ptpToggleCommand.onCommand(sender, command, label, args);
|
|
|
- }
|
|
|
+ if (args.length == 1) {
|
|
|
+ if (args[0].equalsIgnoreCase("toggle")) {
|
|
|
+ return ptpToggleCommand.onCommand(sender, command, label, args);
|
|
|
+ }
|
|
|
|
|
|
- if (args[0].equalsIgnoreCase("acceptany") || args[0].equalsIgnoreCase("acceptall")) {
|
|
|
- return ptpAcceptAnyCommand.onCommand(sender, command, label, args);
|
|
|
- }
|
|
|
+ if (args[0].equalsIgnoreCase("acceptany") || args[0].equalsIgnoreCase("acceptall")) {
|
|
|
+ return ptpAcceptAnyCommand.onCommand(sender, command, label, args);
|
|
|
+ }
|
|
|
|
|
|
- long recentlyHurt = mcMMOPlayer.getRecentlyHurt();
|
|
|
- int hurtCooldown = Config.getInstance().getPTPCommandRecentlyHurtCooldown();
|
|
|
+ long recentlyHurt = mcMMOPlayer.getRecentlyHurt();
|
|
|
+ int hurtCooldown = Config.getInstance().getPTPCommandRecentlyHurtCooldown();
|
|
|
|
|
|
- if (hurtCooldown > 0) {
|
|
|
- int timeRemaining = SkillUtils.calculateTimeLeft(recentlyHurt * Misc.TIME_CONVERSION_FACTOR, hurtCooldown, player);
|
|
|
+ if (hurtCooldown > 0) {
|
|
|
+ int timeRemaining = SkillUtils.calculateTimeLeft(recentlyHurt * Misc.TIME_CONVERSION_FACTOR, hurtCooldown, player);
|
|
|
|
|
|
- if (timeRemaining > 0) {
|
|
|
- player.sendMessage(LocaleLoader.getString("Item.Injured.Wait", timeRemaining));
|
|
|
- return true;
|
|
|
- }
|
|
|
+ if (timeRemaining > 0) {
|
|
|
+ player.sendMessage(LocaleLoader.getString("Item.Injured.Wait", timeRemaining));
|
|
|
+ return true;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- if (args[0].equalsIgnoreCase("accept")) {
|
|
|
- return ptpAcceptCommand.onCommand(sender, command, label, args);
|
|
|
- }
|
|
|
+ if (args[0].equalsIgnoreCase("accept")) {
|
|
|
+ return ptpAcceptCommand.onCommand(sender, command, label, args);
|
|
|
+ }
|
|
|
|
|
|
- if (!Permissions.partyTeleportSend(sender)) {
|
|
|
- sender.sendMessage(command.getPermissionMessage());
|
|
|
- return true;
|
|
|
- }
|
|
|
+ if (!Permissions.partyTeleportSend(sender)) {
|
|
|
+ sender.sendMessage(command.getPermissionMessage());
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
- int ptpCooldown = Config.getInstance().getPTPCommandCooldown();
|
|
|
- long ptpLastUse = mcMMOPlayer.getPartyTeleportRecord().getLastUse();
|
|
|
+ int ptpCooldown = Config.getInstance().getPTPCommandCooldown();
|
|
|
+ long ptpLastUse = mcMMOPlayer.getPartyTeleportRecord().getLastUse();
|
|
|
|
|
|
- if (ptpCooldown > 0) {
|
|
|
- int timeRemaining = SkillUtils.calculateTimeLeft(ptpLastUse * Misc.TIME_CONVERSION_FACTOR, ptpCooldown, player);
|
|
|
+ if (ptpCooldown > 0) {
|
|
|
+ int timeRemaining = SkillUtils.calculateTimeLeft(ptpLastUse * Misc.TIME_CONVERSION_FACTOR, ptpCooldown, player);
|
|
|
|
|
|
- if (timeRemaining > 0) {
|
|
|
- player.sendMessage(LocaleLoader.getString("Item.Generic.Wait", timeRemaining));
|
|
|
- return true;
|
|
|
- }
|
|
|
+ if (timeRemaining > 0) {
|
|
|
+ player.sendMessage(LocaleLoader.getString("Item.Generic.Wait", timeRemaining));
|
|
|
+ return true;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- sendTeleportRequest(sender, player, CommandUtils.getMatchedPlayerName(args[0]));
|
|
|
- return true;
|
|
|
-
|
|
|
- default:
|
|
|
- return false;
|
|
|
+ sendTeleportRequest(sender, player, CommandUtils.getMatchedPlayerName(args[0]));
|
|
|
+ return true;
|
|
|
}
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
|
|
|
- switch (args.length) {
|
|
|
- case 1:
|
|
|
- List<String> matches = StringUtil.copyPartialMatches(args[0], TELEPORT_SUBCOMMANDS, new ArrayList<String>(TELEPORT_SUBCOMMANDS.size()));
|
|
|
-
|
|
|
- if (matches.size() == 0) {
|
|
|
- if(UserManager.getPlayer((Player) sender) == null)
|
|
|
- {
|
|
|
- sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
|
|
|
- return ImmutableList.of();
|
|
|
- }
|
|
|
-
|
|
|
- Player player = (Player) sender;
|
|
|
- McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
|
|
-
|
|
|
- if (!mcMMOPlayer.inParty()) {
|
|
|
- return ImmutableList.of();
|
|
|
- }
|
|
|
-
|
|
|
- List<String> playerNames = mcMMOPlayer.getParty().getOnlinePlayerNames(player);
|
|
|
- return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size()));
|
|
|
+ if (args.length == 1) {
|
|
|
+ List<String> matches = StringUtil.copyPartialMatches(args[0], TELEPORT_SUBCOMMANDS, new ArrayList<String>(TELEPORT_SUBCOMMANDS.size()));
|
|
|
+
|
|
|
+ if (matches.size() == 0) {
|
|
|
+ if (UserManager.getPlayer((Player) sender) == null) {
|
|
|
+ sender.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
|
|
|
+ return ImmutableList.of();
|
|
|
}
|
|
|
|
|
|
- return matches;
|
|
|
- default:
|
|
|
- return ImmutableList.of();
|
|
|
+ Player player = (Player) sender;
|
|
|
+ McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
|
|
+
|
|
|
+ if (!mcMMOPlayer.inParty()) {
|
|
|
+ return ImmutableList.of();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> playerNames = mcMMOPlayer.getParty().getOnlinePlayerNames(player);
|
|
|
+ return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size()));
|
|
|
+ }
|
|
|
+
|
|
|
+ return matches;
|
|
|
}
|
|
|
+ return ImmutableList.of();
|
|
|
}
|
|
|
|
|
|
private void sendTeleportRequest(CommandSender sender, Player player, String targetName) {
|