MccooldownCommand.java 2.6 KB

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