MccooldownCommand.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.gmail.nossr50.commands.player;
  2. import com.gmail.nossr50.datatypes.player.McMMOPlayer;
  3. import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
  4. import com.gmail.nossr50.locale.LocaleLoader;
  5. import com.gmail.nossr50.mcMMO;
  6. import com.gmail.nossr50.util.commands.CommandUtils;
  7. import com.gmail.nossr50.util.player.UserManager;
  8. import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
  9. import com.google.common.collect.ImmutableList;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.command.TabExecutor;
  13. import org.bukkit.entity.Player;
  14. import java.util.List;
  15. public class MccooldownCommand implements TabExecutor {
  16. @Override
  17. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  18. if (CommandUtils.noConsoleUsage(sender)) {
  19. return true;
  20. }
  21. if (!CommandUtils.hasPlayerDataKey(sender)) {
  22. return true;
  23. }
  24. switch (args.length) {
  25. case 0:
  26. Player player = (Player) sender;
  27. if (mcMMO.getScoreboardSettings().getScoreboardsEnabled() && mcMMO.getScoreboardSettings().isScoreboardEnabled(ScoreboardManager.SidebarType.COOLDOWNS_BOARD)) {
  28. ScoreboardManager.enablePlayerCooldownScoreboard(player);
  29. if (!mcMMO.getScoreboardSettings().isScoreboardPrinting(ScoreboardManager.SidebarType.COOLDOWNS_BOARD)) {
  30. return true;
  31. }
  32. }
  33. if(UserManager.getPlayer(player) == null)
  34. {
  35. player.sendMessage(LocaleLoader.getString("Profile.PendingLoad"));
  36. return true;
  37. }
  38. McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
  39. player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Header"));
  40. player.sendMessage(LocaleLoader.getString("mcMMO.NoSkillNote"));
  41. for (SuperAbilityType ability : SuperAbilityType.values()) {
  42. if (!ability.getPermissions(player)) {
  43. continue;
  44. }
  45. int seconds = mcMMOPlayer.calculateTimeRemaining(ability);
  46. if (seconds <= 0) {
  47. player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.Y", ability.getName()));
  48. }
  49. else {
  50. player.sendMessage(LocaleLoader.getString("Commands.Cooldowns.Row.N", ability.getName(), seconds));
  51. }
  52. }
  53. return true;
  54. default:
  55. return false;
  56. }
  57. }
  58. @Override
  59. public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
  60. return ImmutableList.of();
  61. }
  62. }