CommandRegistrationManager.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. package com.gmail.nossr50.util.commands;
  2. import com.gmail.nossr50.commands.McabilityCommand;
  3. import com.gmail.nossr50.commands.McconvertCommand;
  4. import com.gmail.nossr50.commands.McgodCommand;
  5. import com.gmail.nossr50.commands.McmmoCommand;
  6. import com.gmail.nossr50.commands.McnotifyCommand;
  7. import com.gmail.nossr50.commands.McrefreshCommand;
  8. import com.gmail.nossr50.commands.McscoreboardCommand;
  9. import com.gmail.nossr50.commands.XprateCommand;
  10. import com.gmail.nossr50.commands.admin.CompatibilityCommand;
  11. import com.gmail.nossr50.commands.admin.McmmoReloadLocaleCommand;
  12. import com.gmail.nossr50.commands.admin.PlayerDebugCommand;
  13. import com.gmail.nossr50.commands.chat.McChatSpy;
  14. import com.gmail.nossr50.commands.database.McpurgeCommand;
  15. import com.gmail.nossr50.commands.database.McremoveCommand;
  16. import com.gmail.nossr50.commands.database.MmoshowdbCommand;
  17. import com.gmail.nossr50.commands.experience.AddlevelsCommand;
  18. import com.gmail.nossr50.commands.experience.AddxpCommand;
  19. import com.gmail.nossr50.commands.experience.MmoeditCommand;
  20. import com.gmail.nossr50.commands.experience.SkillresetCommand;
  21. import com.gmail.nossr50.commands.party.PartyCommand;
  22. import com.gmail.nossr50.commands.party.teleport.PtpCommand;
  23. import com.gmail.nossr50.commands.player.InspectCommand;
  24. import com.gmail.nossr50.commands.player.McRankCommand;
  25. import com.gmail.nossr50.commands.player.McTopCommand;
  26. import com.gmail.nossr50.commands.player.MccooldownCommand;
  27. import com.gmail.nossr50.commands.player.McstatsCommand;
  28. import com.gmail.nossr50.commands.player.XPBarCommand;
  29. import com.gmail.nossr50.commands.skills.AcrobaticsCommand;
  30. import com.gmail.nossr50.commands.skills.AlchemyCommand;
  31. import com.gmail.nossr50.commands.skills.ArcheryCommand;
  32. import com.gmail.nossr50.commands.skills.AxesCommand;
  33. import com.gmail.nossr50.commands.skills.CrossbowsCommand;
  34. import com.gmail.nossr50.commands.skills.ExcavationCommand;
  35. import com.gmail.nossr50.commands.skills.FishingCommand;
  36. import com.gmail.nossr50.commands.skills.HerbalismCommand;
  37. import com.gmail.nossr50.commands.skills.MacesCommand;
  38. import com.gmail.nossr50.commands.skills.MiningCommand;
  39. import com.gmail.nossr50.commands.skills.MmoInfoCommand;
  40. import com.gmail.nossr50.commands.skills.RepairCommand;
  41. import com.gmail.nossr50.commands.skills.SalvageCommand;
  42. import com.gmail.nossr50.commands.skills.SmeltingCommand;
  43. import com.gmail.nossr50.commands.skills.SpearsCommand;
  44. import com.gmail.nossr50.commands.skills.SwordsCommand;
  45. import com.gmail.nossr50.commands.skills.TamingCommand;
  46. import com.gmail.nossr50.commands.skills.TridentsCommand;
  47. import com.gmail.nossr50.commands.skills.UnarmedCommand;
  48. import com.gmail.nossr50.commands.skills.WoodcuttingCommand;
  49. import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
  50. import com.gmail.nossr50.locale.LocaleLoader;
  51. import com.gmail.nossr50.mcMMO;
  52. import com.gmail.nossr50.util.text.StringUtils;
  53. import java.util.ArrayList;
  54. import java.util.List;
  55. import java.util.Locale;
  56. import org.bukkit.command.PluginCommand;
  57. public final class CommandRegistrationManager {
  58. private CommandRegistrationManager() {
  59. }
  60. private static final String permissionsMessage = LocaleLoader.getString("mcMMO.NoPermission");
  61. private static void registerSkillCommands() {
  62. for (PrimarySkillType primarySkillType : PrimarySkillType.values()) {
  63. if (primarySkillType == PrimarySkillType.MACES
  64. && !mcMMO.getCompatibilityManager().getMinecraftGameVersion()
  65. .isAtLeast(1, 21, 0)) {
  66. continue;
  67. }
  68. final String commandName = primarySkillType.toString().toLowerCase(Locale.ENGLISH);
  69. final String localizedName = mcMMO.p.getSkillTools()
  70. .getLocalizedSkillName(primarySkillType).toLowerCase(Locale.ENGLISH);
  71. final PluginCommand command = mcMMO.p.getCommand(commandName);
  72. if (command == null) {
  73. mcMMO.p.getLogger().severe("Command not found: " + commandName);
  74. continue;
  75. }
  76. command.setDescription(LocaleLoader.getString("Commands.Description.Skill",
  77. StringUtils.getCapitalized(localizedName)));
  78. command.setPermission("mcmmo.commands." + commandName);
  79. command.setPermissionMessage(permissionsMessage);
  80. command.setUsage(LocaleLoader.getString("Commands.Usage.0", commandName));
  81. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.2",
  82. commandName, "?", "[" + LocaleLoader.getString("Commands.Usage.Page") + "]"));
  83. switch (primarySkillType) {
  84. case ACROBATICS -> command.setExecutor(new AcrobaticsCommand());
  85. case ALCHEMY -> command.setExecutor(new AlchemyCommand());
  86. case ARCHERY -> command.setExecutor(new ArcheryCommand());
  87. case AXES -> command.setExecutor(new AxesCommand());
  88. case CROSSBOWS -> command.setExecutor(new CrossbowsCommand());
  89. case EXCAVATION -> command.setExecutor(new ExcavationCommand());
  90. case FISHING -> command.setExecutor(new FishingCommand());
  91. case HERBALISM -> command.setExecutor(new HerbalismCommand());
  92. case MACES -> command.setExecutor(new MacesCommand());
  93. case MINING -> command.setExecutor(new MiningCommand());
  94. case REPAIR -> command.setExecutor(new RepairCommand());
  95. case SALVAGE -> command.setExecutor(new SalvageCommand());
  96. case SMELTING -> command.setExecutor(new SmeltingCommand());
  97. case SPEARS -> command.setExecutor(new SpearsCommand());
  98. case SWORDS -> command.setExecutor(new SwordsCommand());
  99. case TAMING -> command.setExecutor(new TamingCommand());
  100. case TRIDENTS -> command.setExecutor(new TridentsCommand());
  101. case UNARMED -> command.setExecutor(new UnarmedCommand());
  102. case WOODCUTTING -> command.setExecutor(new WoodcuttingCommand());
  103. default -> throw new IllegalStateException("Unexpected value: " + primarySkillType);
  104. }
  105. }
  106. }
  107. private static void registerAddlevelsCommand() {
  108. PluginCommand command = mcMMO.p.getCommand("addlevels");
  109. command.setDescription(LocaleLoader.getString("Commands.Description.addlevels"));
  110. command.setPermission("mcmmo.commands.addlevels;mcmmo.commands.addlevels.others");
  111. command.setPermissionMessage(permissionsMessage);
  112. command.setUsage(LocaleLoader.getString("Commands.Usage.3.XP", "addlevels",
  113. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]",
  114. "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">",
  115. "<" + LocaleLoader.getString("Commands.Usage.Level") + ">"));
  116. command.setExecutor(new AddlevelsCommand());
  117. }
  118. private static void registerAddxpCommand() {
  119. PluginCommand command = mcMMO.p.getCommand("addxp");
  120. command.setDescription(LocaleLoader.getString("Commands.Description.addxp"));
  121. command.setPermission("mcmmo.commands.addxp;mcmmo.commands.addxp.others");
  122. command.setPermissionMessage(permissionsMessage);
  123. command.setUsage(LocaleLoader.getString("Commands.Usage.3.XP", "addxp",
  124. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]",
  125. "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">",
  126. "<" + LocaleLoader.getString("Commands.Usage.XP") + ">"));
  127. command.setExecutor(new AddxpCommand());
  128. }
  129. private static void registerMcgodCommand() {
  130. PluginCommand command = mcMMO.p.getCommand("mcgod");
  131. command.setDescription(LocaleLoader.getString("Commands.Description.mcgod"));
  132. command.setPermission("mcmmo.commands.mcgod;mcmmo.commands.mcgod.others");
  133. command.setPermissionMessage(permissionsMessage);
  134. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcgod",
  135. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  136. command.setExecutor(new McgodCommand());
  137. }
  138. private static void registerMmoInfoCommand() {
  139. PluginCommand command = mcMMO.p.getCommand("mmoinfo");
  140. command.setDescription(LocaleLoader.getString("Commands.Description.mmoinfo"));
  141. command.setPermission("mcmmo.commands.mmoinfo");
  142. command.setPermissionMessage(permissionsMessage);
  143. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mmoinfo",
  144. "[" + LocaleLoader.getString("Commands.Usage.SubSkill") + "]"));
  145. command.setExecutor(new MmoInfoCommand());
  146. }
  147. private static void registerMmoDebugCommand() {
  148. PluginCommand command = mcMMO.p.getCommand("mmodebug");
  149. command.setDescription(LocaleLoader.getString("Commands.Description.mmodebug"));
  150. command.setPermission(null); //No perm required to save support headaches
  151. command.setPermissionMessage(permissionsMessage);
  152. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mmodebug"));
  153. command.setExecutor(new PlayerDebugCommand());
  154. }
  155. private static void registerMcChatSpyCommand() {
  156. PluginCommand command = mcMMO.p.getCommand("mcchatspy");
  157. command.setDescription(LocaleLoader.getString("Commands.Description.mcchatspy"));
  158. command.setPermission("mcmmo.commands.mcchatspy;mcmmo.commands.mcchatspy.others");
  159. command.setPermissionMessage(permissionsMessage);
  160. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcchatspy",
  161. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  162. command.setExecutor(new McChatSpy());
  163. }
  164. private static void registerMcrefreshCommand() {
  165. PluginCommand command = mcMMO.p.getCommand("mcrefresh");
  166. command.setDescription(LocaleLoader.getString("Commands.Description.mcrefresh"));
  167. command.setPermission("mcmmo.commands.mcrefresh;mcmmo.commands.mcrefresh.others");
  168. command.setPermissionMessage(permissionsMessage);
  169. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcrefresh",
  170. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  171. command.setExecutor(new McrefreshCommand());
  172. }
  173. private static void registerMmoeditCommand() {
  174. PluginCommand command = mcMMO.p.getCommand("mmoedit");
  175. command.setDescription(LocaleLoader.getString("Commands.Description.mmoedit"));
  176. command.setPermission("mcmmo.commands.mmoedit;mcmmo.commands.mmoedit.others");
  177. command.setPermissionMessage(permissionsMessage);
  178. command.setUsage(LocaleLoader.getString("Commands.Usage.3.XP", "mmoedit",
  179. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]",
  180. "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">",
  181. "<" + LocaleLoader.getString("Commands.Usage.Level") + ">"));
  182. command.setExecutor(new MmoeditCommand());
  183. }
  184. private static void registerSkillresetCommand() {
  185. PluginCommand command = mcMMO.p.getCommand("skillreset");
  186. command.setDescription(LocaleLoader.getString("Commands.Description.skillreset"));
  187. command.setPermission(
  188. "mcmmo.commands.skillreset;mcmmo.commands.skillreset.others"); // Only need the main ones, not the individual skill ones
  189. command.setPermissionMessage(permissionsMessage);
  190. command.setUsage(LocaleLoader.getString("Commands.Usage.2", "skillreset",
  191. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]",
  192. "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">"));
  193. command.setExecutor(new SkillresetCommand());
  194. }
  195. private static void registerXprateCommand() {
  196. List<String> aliasList = new ArrayList<>();
  197. aliasList.add("mcxprate");
  198. PluginCommand command = mcMMO.p.getCommand("xprate");
  199. command.setDescription(LocaleLoader.getString("Commands.Description.xprate"));
  200. command.setPermission(
  201. "mcmmo.commands.xprate;mcmmo.commands.xprate.reset;mcmmo.commands.xprate.set");
  202. command.setPermissionMessage(permissionsMessage);
  203. command.setUsage(LocaleLoader.getString("Commands.Usage.2", "xprate",
  204. "<" + LocaleLoader.getString("Commands.Usage.Rate") + ">", "<true|false>"));
  205. command.setUsage(
  206. command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "xprate",
  207. "reset"));
  208. command.setAliases(aliasList);
  209. command.setExecutor(new XprateCommand());
  210. }
  211. private static void registerInspectCommand() {
  212. PluginCommand command = mcMMO.p.getCommand("inspect");
  213. command.setDescription(LocaleLoader.getString("Commands.Description.inspect"));
  214. command.setPermission(
  215. "mcmmo.commands.inspect;mcmmo.commands.inspect.far;mcmmo.commands.inspect.offline");
  216. command.setPermissionMessage(permissionsMessage);
  217. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "inspect",
  218. "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
  219. command.setExecutor(new InspectCommand());
  220. }
  221. private static void registerMccooldownCommand() {
  222. PluginCommand command = mcMMO.p.getCommand("mccooldown");
  223. command.setDescription(LocaleLoader.getString("Commands.Description.mccooldown"));
  224. command.setPermission("mcmmo.commands.mccooldown");
  225. command.setPermissionMessage(permissionsMessage);
  226. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mccooldowns"));
  227. command.setExecutor(new MccooldownCommand());
  228. }
  229. private static void registerMcabilityCommand() {
  230. PluginCommand command = mcMMO.p.getCommand("mcability");
  231. command.setDescription(LocaleLoader.getString("Commands.Description.mcability"));
  232. command.setPermission("mcmmo.commands.mcability;mcmmo.commands.mcability.others");
  233. command.setPermissionMessage(permissionsMessage);
  234. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcability",
  235. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  236. command.setExecutor(new McabilityCommand());
  237. }
  238. private static void registerMcmmoCommand() {
  239. PluginCommand command = mcMMO.p.getCommand("mcmmo");
  240. command.setDescription(LocaleLoader.getString("Commands.Description.mcmmo"));
  241. command.setPermission("mcmmo.commands.mcmmo.description;mcmmo.commands.mcmmo.help");
  242. command.setPermissionMessage(permissionsMessage);
  243. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcmmo"));
  244. command.setUsage(
  245. command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "mcmmo",
  246. "help"));
  247. command.setExecutor(new McmmoCommand());
  248. }
  249. private static void registerMcrankCommand() {
  250. PluginCommand command = mcMMO.p.getCommand("mcrank");
  251. command.setDescription(LocaleLoader.getString("Commands.Description.mcrank"));
  252. command.setPermission(
  253. "mcmmo.commands.mcrank;mcmmo.commands.mcrank.others;mcmmo.commands.mcrank.others.far;mcmmo.commands.mcrank.others.offline");
  254. command.setPermissionMessage(permissionsMessage);
  255. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcrank",
  256. "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  257. command.setExecutor(new McRankCommand());
  258. }
  259. private static void registerMcstatsCommand() {
  260. PluginCommand command = mcMMO.p.getCommand("mcstats");
  261. command.setDescription(LocaleLoader.getString("Commands.Description.mcstats"));
  262. command.setPermission("mcmmo.commands.mcstats");
  263. command.setPermissionMessage(permissionsMessage);
  264. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcstats"));
  265. command.setExecutor(new McstatsCommand());
  266. }
  267. private static void registerMctopCommand() {
  268. PluginCommand command = mcMMO.p.getCommand("mctop");
  269. command.setDescription(LocaleLoader.getString("Commands.Description.mctop"));
  270. command.setPermission(
  271. "mcmmo.commands.mctop"); // Only need the main one, not the individual skill ones
  272. command.setPermissionMessage(permissionsMessage);
  273. command.setUsage(LocaleLoader.getString("Commands.Usage.2", "mctop",
  274. "[" + LocaleLoader.getString("Commands.Usage.Skill") + "]",
  275. "[" + LocaleLoader.getString("Commands.Usage.Page") + "]"));
  276. command.setExecutor(new McTopCommand());
  277. }
  278. private static void registerMcpurgeCommand() {
  279. PluginCommand command = mcMMO.p.getCommand("mcpurge");
  280. command.setDescription(LocaleLoader.getString("Commands.Description.mcpurge",
  281. mcMMO.p.getGeneralConfig().getOldUsersCutoff()));
  282. command.setPermission("mcmmo.commands.mcpurge");
  283. command.setPermissionMessage(permissionsMessage);
  284. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcpurge"));
  285. command.setExecutor(new McpurgeCommand());
  286. }
  287. private static void registerMcremoveCommand() {
  288. PluginCommand command = mcMMO.p.getCommand("mcremove");
  289. command.setDescription(LocaleLoader.getString("Commands.Description.mcremove"));
  290. command.setPermission("mcmmo.commands.mcremove");
  291. command.setPermissionMessage(permissionsMessage);
  292. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcremove",
  293. "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
  294. command.setExecutor(new McremoveCommand());
  295. }
  296. private static void registerMmoshowdbCommand() {
  297. PluginCommand command = mcMMO.p.getCommand("mmoshowdb");
  298. command.setDescription(LocaleLoader.getString("Commands.Description.mmoshowdb"));
  299. command.setPermission("mcmmo.commands.mmoshowdb");
  300. command.setPermissionMessage(permissionsMessage);
  301. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mmoshowdb"));
  302. command.setExecutor(new MmoshowdbCommand());
  303. }
  304. private static void registerMcconvertCommand() {
  305. PluginCommand command = mcMMO.p.getCommand("mcconvert");
  306. command.setDescription(LocaleLoader.getString("Commands.Description.mcconvert"));
  307. command.setPermission(
  308. "mcmmo.commands.mcconvert;mcmmo.commands.mcconvert.experience;mcmmo.commands.mcconvert.database");
  309. command.setPermissionMessage(permissionsMessage);
  310. command.setUsage(LocaleLoader.getString("Commands.Usage.2", "mcconvert", "database",
  311. "<flatfile|sql>"));
  312. command.setUsage(
  313. command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.2", "mcconvert",
  314. "experience", "<linear|exponential>"));
  315. command.setExecutor(new McconvertCommand());
  316. }
  317. private static void registerPartyCommand() {
  318. PluginCommand command = mcMMO.p.getCommand("party");
  319. command.setDescription(LocaleLoader.getString("Commands.Description.party"));
  320. command.setPermission(
  321. "mcmmo.commands.party;mcmmo.commands.party.accept;mcmmo.commands.party.create;mcmmo.commands.party.disband;"
  322. +
  323. "mcmmo.commands.party.xpshare;mcmmo.commands.party.invite;mcmmo.commands.party.itemshare;mcmmo.commands.party.join;"
  324. +
  325. "mcmmo.commands.party.kick;mcmmo.commands.party.lock;mcmmo.commands.party.owner;mcmmo.commands.party.password;"
  326. +
  327. "mcmmo.commands.party.quit;mcmmo.commands.party.rename;mcmmo.commands.party.unlock");
  328. command.setPermissionMessage(permissionsMessage);
  329. command.setExecutor(new PartyCommand());
  330. }
  331. private static void registerPtpCommand() {
  332. PluginCommand command = mcMMO.p.getCommand("ptp");
  333. command.setDescription(LocaleLoader.getString("Commands.Description.ptp"));
  334. command.setPermission(
  335. "mcmmo.commands.ptp"); // Only need the main one, not the individual ones for toggle/accept/acceptall
  336. command.setPermissionMessage(permissionsMessage);
  337. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "ptp",
  338. "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
  339. command.setUsage(
  340. command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "ptp",
  341. "<toggle|accept|acceptall>"));
  342. command.setExecutor(new PtpCommand());
  343. }
  344. private static void registerMcnotifyCommand() {
  345. PluginCommand command = mcMMO.p.getCommand("mcnotify");
  346. command.setDescription(LocaleLoader.getString("Commands.Description.mcnotify"));
  347. command.setPermission("mcmmo.commands.mcnotify");
  348. command.setPermissionMessage(permissionsMessage);
  349. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcnotify"));
  350. command.setExecutor(new McnotifyCommand());
  351. }
  352. private static void registerMcscoreboardCommand() {
  353. PluginCommand command = mcMMO.p.getCommand("mcscoreboard");
  354. command.setDescription(
  355. "Change the current mcMMO scoreboard being displayed"); //TODO: Localize
  356. command.setPermission("mcmmo.commands.mcscoreboard");
  357. command.setPermissionMessage(permissionsMessage);
  358. command.setUsage(
  359. LocaleLoader.getString("Commands.Usage.1", "mcscoreboard", "<CLEAR | KEEP>"));
  360. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.2",
  361. "mcscoreboard", "time", "<seconds>"));
  362. command.setExecutor(new McscoreboardCommand());
  363. }
  364. private static void registerReloadLocaleCommand() {
  365. PluginCommand command = mcMMO.p.getCommand("mcmmoreloadlocale");
  366. command.setDescription("Reloads locale"); // TODO: Localize
  367. command.setPermission("mcmmo.commands.reloadlocale");
  368. command.setPermissionMessage(permissionsMessage);
  369. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcmmoreloadlocale"));
  370. command.setExecutor(new McmmoReloadLocaleCommand());
  371. }
  372. private static void registerCompatibilityCommand() {
  373. PluginCommand command = mcMMO.p.getCommand("mmocompat"); //TODO: Localize
  374. command.setDescription(LocaleLoader.getString("Commands.Description.mmocompat"));
  375. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mmocompat"));
  376. command.setExecutor(new CompatibilityCommand());
  377. }
  378. private static void registerXPBarCommand() {
  379. PluginCommand command = mcMMO.p.getCommand("mmoxpbar"); //TODO: Localize
  380. command.setDescription(LocaleLoader.getString("Commands.Description.mmoxpbar"));
  381. command.setUsage(
  382. LocaleLoader.getString("Commands.Usage.1", "mmoxpbar", "<reset | disable>"));
  383. command.setUsage(
  384. command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.2", "mmoxpbar",
  385. "<show | hide | disable>", "<skillname>"));
  386. command.setExecutor(new XPBarCommand());
  387. }
  388. public static void registerCommands() {
  389. // Generic Commands
  390. registerXPBarCommand();
  391. registerMmoInfoCommand();
  392. registerMmoDebugCommand();
  393. registerMcabilityCommand();
  394. registerMcgodCommand();
  395. registerMcChatSpyCommand();
  396. registerMcmmoCommand();
  397. registerMcnotifyCommand();
  398. registerMcrefreshCommand();
  399. registerMcscoreboardCommand();
  400. registerXprateCommand();
  401. // Database Commands
  402. registerMcpurgeCommand();
  403. registerMcremoveCommand();
  404. registerMmoshowdbCommand();
  405. registerMcconvertCommand();
  406. // Experience Commands
  407. registerAddlevelsCommand();
  408. registerAddxpCommand();
  409. registerMmoeditCommand();
  410. registerSkillresetCommand();
  411. // Party Commands
  412. if (mcMMO.p.getPartyConfig().isPartyEnabled()) {
  413. registerPartyCommand();
  414. registerPtpCommand();
  415. }
  416. // Player Commands
  417. registerInspectCommand();
  418. registerMccooldownCommand();
  419. registerMcrankCommand();
  420. registerMcstatsCommand();
  421. registerMctopCommand();
  422. // Skill Commands
  423. registerSkillCommands();
  424. // Admin commands
  425. registerReloadLocaleCommand();
  426. // Misc
  427. registerCompatibilityCommand();
  428. }
  429. }