CooldownCommand.java 2.9 KB

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