McmmoCommand.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.gmail.nossr50.commands;
  2. import com.gmail.nossr50.commands.party.PartySubCommandType;
  3. import com.gmail.nossr50.config.Config;
  4. import com.gmail.nossr50.locale.LocaleLoader;
  5. import com.gmail.nossr50.mcMMO;
  6. import com.gmail.nossr50.util.Permissions;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.command.CommandSender;
  11. import org.jetbrains.annotations.NotNull;
  12. public class McmmoCommand implements CommandExecutor {
  13. @Override
  14. public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
  15. switch (args.length) {
  16. case 0:
  17. if (!Permissions.mcmmoDescription(sender)) {
  18. sender.sendMessage(command.getPermissionMessage());
  19. return true;
  20. }
  21. String description = LocaleLoader.getString("mcMMO.Description");
  22. String[] mcSplit = description.split(",");
  23. sender.sendMessage(mcSplit);
  24. sender.sendMessage(LocaleLoader.getString("mcMMO.Description.FormerDevs"));
  25. if (Config.getInstance().getDonateMessageEnabled()) {
  26. sender.sendMessage(LocaleLoader.getString("MOTD.Donate"));
  27. sender.sendMessage(ChatColor.GOLD + " - " + ChatColor.GREEN + "nossr50@gmail.com" + ChatColor.GOLD + " Paypal");
  28. }
  29. if (Permissions.showversion(sender)) {
  30. sender.sendMessage(LocaleLoader.getString("MOTD.Version", mcMMO.p.getDescription().getVersion()));
  31. }
  32. mcMMO.getHolidayManager().anniversaryCheck(sender);
  33. return true;
  34. case 1:
  35. if (args[0].equalsIgnoreCase("?") || args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("commands")) {
  36. if (!Permissions.mcmmoHelp(sender)) {
  37. sender.sendMessage(command.getPermissionMessage());
  38. return true;
  39. }
  40. sender.sendMessage(LocaleLoader.getString("Commands.mcc.Header"));
  41. displayGeneralCommands(sender);
  42. displayOtherCommands(sender);
  43. displayPartyCommands(sender);
  44. }
  45. return true;
  46. default:
  47. return false;
  48. }
  49. }
  50. private void displayGeneralCommands(CommandSender sender) {
  51. sender.sendMessage(ChatColor.DARK_AQUA + " /mcstats " + LocaleLoader.getString("Commands.Stats"));
  52. sender.sendMessage(ChatColor.DARK_AQUA + " /<skill>" + LocaleLoader.getString("Commands.SkillInfo"));
  53. sender.sendMessage(ChatColor.DARK_AQUA + " /mctop " + LocaleLoader.getString("Commands.Leaderboards"));
  54. if (Permissions.inspect(sender)) {
  55. sender.sendMessage(ChatColor.DARK_AQUA + " /inspect " + LocaleLoader.getString("Commands.Inspect"));
  56. }
  57. if (Permissions.mcability(sender)) {
  58. sender.sendMessage(ChatColor.DARK_AQUA + " /mcability " + LocaleLoader.getString("Commands.ToggleAbility"));
  59. }
  60. }
  61. private void displayOtherCommands(CommandSender sender) {
  62. //Don't show them this category if they have none of the permissions
  63. if(!Permissions.skillreset(sender) && !Permissions.mmoedit(sender) && !Permissions.adminChat(sender) && !Permissions.mcgod(sender))
  64. return;
  65. sender.sendMessage(LocaleLoader.getString("Commands.Other"));
  66. if (Permissions.skillreset(sender)) {
  67. sender.sendMessage(ChatColor.DARK_AQUA + " /skillreset <skill|all> " + LocaleLoader.getString("Commands.Reset"));
  68. }
  69. if (Permissions.mmoedit(sender)) {
  70. sender.sendMessage(ChatColor.DARK_AQUA + " /mmoedit " + LocaleLoader.getString("Commands.mmoedit"));
  71. }
  72. if (Permissions.adminChat(sender)) {
  73. sender.sendMessage(ChatColor.DARK_AQUA + " /adminchat " + LocaleLoader.getString("Commands.AdminToggle"));
  74. }
  75. if (Permissions.mcgod(sender)) {
  76. sender.sendMessage(ChatColor.DARK_AQUA + " /mcgod " + LocaleLoader.getString("Commands.mcgod"));
  77. }
  78. }
  79. private void displayPartyCommands(CommandSender sender) {
  80. if (Permissions.party(sender)) {
  81. sender.sendMessage(LocaleLoader.getString("Commands.Party.Commands"));
  82. sender.sendMessage(ChatColor.DARK_AQUA + " /party create <" + LocaleLoader.getString("Commands.Usage.PartyName") + "> " + LocaleLoader.getString("Commands.Party1"));
  83. sender.sendMessage(ChatColor.DARK_AQUA + " /party join <" + LocaleLoader.getString("Commands.Usage.Player") + "> " + LocaleLoader.getString("Commands.Party2"));
  84. sender.sendMessage(ChatColor.DARK_AQUA + " /party quit " + LocaleLoader.getString("Commands.Party.Quit"));
  85. if (Permissions.partyChat(sender)) {
  86. sender.sendMessage(ChatColor.DARK_AQUA + " /party chat " + LocaleLoader.getString("Commands.Party.Toggle"));
  87. }
  88. sender.sendMessage(ChatColor.DARK_AQUA + " /party invite <" + LocaleLoader.getString("Commands.Usage.Player") + "> " + LocaleLoader.getString("Commands.Party.Invite"));
  89. sender.sendMessage(ChatColor.DARK_AQUA + " /party accept " + LocaleLoader.getString("Commands.Party.Accept"));
  90. if (Permissions.partySubcommand(sender, PartySubCommandType.TELEPORT)) {
  91. sender.sendMessage(ChatColor.DARK_AQUA + " /party teleport <" + LocaleLoader.getString("Commands.Usage.Player") + "> " + LocaleLoader.getString("Commands.Party.Teleport"));
  92. }
  93. }
  94. }
  95. }