CommandRegistrationHelper.java 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. package com.gmail.nossr50.commands;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.bukkit.command.PluginCommand;
  5. import com.gmail.nossr50.mcMMO;
  6. import com.gmail.nossr50.chat.commands.AdminChatCommand;
  7. import com.gmail.nossr50.chat.commands.PartyChatCommand;
  8. import com.gmail.nossr50.commands.admin.AddlevelsCommand;
  9. import com.gmail.nossr50.commands.admin.AddxpCommand;
  10. import com.gmail.nossr50.commands.admin.McgodCommand;
  11. import com.gmail.nossr50.commands.admin.McrefreshCommand;
  12. import com.gmail.nossr50.commands.admin.MmoeditCommand;
  13. import com.gmail.nossr50.commands.admin.SkillresetCommand;
  14. import com.gmail.nossr50.commands.admin.XprateCommand;
  15. import com.gmail.nossr50.commands.player.InspectCommand;
  16. import com.gmail.nossr50.commands.player.McabilityCommand;
  17. import com.gmail.nossr50.commands.player.McmmoCommand;
  18. import com.gmail.nossr50.commands.player.McrankCommand;
  19. import com.gmail.nossr50.commands.player.McstatsCommand;
  20. import com.gmail.nossr50.commands.player.MctopCommand;
  21. import com.gmail.nossr50.config.Config;
  22. import com.gmail.nossr50.database.commands.McpurgeCommand;
  23. import com.gmail.nossr50.database.commands.McremoveCommand;
  24. import com.gmail.nossr50.database.commands.MmoupdateCommand;
  25. import com.gmail.nossr50.locale.LocaleLoader;
  26. import com.gmail.nossr50.party.commands.PartyCommand;
  27. import com.gmail.nossr50.party.commands.PtpCommand;
  28. import com.gmail.nossr50.skills.acrobatics.AcrobaticsCommand;
  29. import com.gmail.nossr50.skills.archery.ArcheryCommand;
  30. import com.gmail.nossr50.skills.axes.AxesCommand;
  31. import com.gmail.nossr50.skills.excavation.ExcavationCommand;
  32. import com.gmail.nossr50.skills.fishing.FishingCommand;
  33. import com.gmail.nossr50.skills.herbalism.HerbalismCommand;
  34. import com.gmail.nossr50.skills.mining.MiningCommand;
  35. import com.gmail.nossr50.skills.repair.RepairCommand;
  36. import com.gmail.nossr50.skills.smelting.SmeltingCommand;
  37. import com.gmail.nossr50.skills.swords.SwordsCommand;
  38. import com.gmail.nossr50.skills.taming.TamingCommand;
  39. import com.gmail.nossr50.skills.unarmed.UnarmedCommand;
  40. import com.gmail.nossr50.skills.utilities.SkillType;
  41. import com.gmail.nossr50.skills.woodcutting.WoodcuttingCommand;
  42. import com.gmail.nossr50.spout.commands.MchudCommand;
  43. import com.gmail.nossr50.spout.commands.XplockCommand;
  44. import com.gmail.nossr50.util.Misc;
  45. public final class CommandRegistrationHelper {
  46. private CommandRegistrationHelper() {};
  47. private static String permissionsMessage = LocaleLoader.getString("mcMMO.NoPermission");
  48. public static void registerSkillCommands() {
  49. for (SkillType skill : SkillType.values()) {
  50. String commandName = skill.toString().toLowerCase();
  51. String localizedName = LocaleLoader.getString(Misc.getCapitalized(commandName) + ".SkillName").toLowerCase();
  52. PluginCommand command;
  53. command = mcMMO.p.getCommand(commandName);
  54. command.setDescription(LocaleLoader.getString("Commands.Description.Skill", Misc.getCapitalized(localizedName)));
  55. command.setPermission("mcmmo.commands." + commandName);
  56. command.setPermissionMessage(permissionsMessage);
  57. command.setUsage(LocaleLoader.getString("Commands.Usage.0", localizedName));
  58. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.2", localizedName, "?", "[" + LocaleLoader.getString("Commands.Usage.Page") + "]"));
  59. switch (skill) {
  60. case ACROBATICS:
  61. command.setExecutor(new AcrobaticsCommand());
  62. break;
  63. case ARCHERY:
  64. command.setExecutor(new ArcheryCommand());
  65. break;
  66. case AXES:
  67. command.setExecutor(new AxesCommand());
  68. break;
  69. case EXCAVATION:
  70. command.setExecutor(new ExcavationCommand());
  71. break;
  72. case FISHING:
  73. command.setExecutor(new FishingCommand());
  74. break;
  75. case HERBALISM:
  76. command.setExecutor(new HerbalismCommand());
  77. break;
  78. case MINING:
  79. command.setExecutor(new MiningCommand());
  80. break;
  81. case REPAIR:
  82. command.setExecutor(new RepairCommand());
  83. break;
  84. case SMELTING:
  85. command.setExecutor(new SmeltingCommand());
  86. break;
  87. case SWORDS:
  88. command.setExecutor(new SwordsCommand());
  89. break;
  90. case TAMING:
  91. command.setExecutor(new TamingCommand());
  92. break;
  93. case UNARMED:
  94. command.setExecutor(new UnarmedCommand());
  95. break;
  96. case WOODCUTTING:
  97. command.setExecutor(new WoodcuttingCommand());
  98. break;
  99. default:
  100. break;
  101. }
  102. }
  103. }
  104. public static void registerAddlevelsCommand() {
  105. PluginCommand command = mcMMO.p.getCommand("addlevels");
  106. command.setDescription(LocaleLoader.getString("Commands.Description.addlevels"));
  107. command.setPermission("mcmmo.commands.addlevels;mcmmo.commands.addlevels.others");
  108. command.setPermissionMessage(permissionsMessage);
  109. command.setUsage(LocaleLoader.getString("Commands.Usage.3", "addlevels", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]", "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">", "<" + LocaleLoader.getString("Commands.Usage.Level") + ">"));
  110. command.setExecutor(new AddlevelsCommand());
  111. }
  112. public static void registerAddxpCommand() {
  113. PluginCommand command = mcMMO.p.getCommand("addxp");
  114. command.setDescription(LocaleLoader.getString("Commands.Description.addxp"));
  115. command.setPermission("mcmmo.commands.addxp;mcmmo.commands.addxp.others");
  116. command.setPermissionMessage(permissionsMessage);
  117. command.setUsage(LocaleLoader.getString("Commands.Usage.3", "addxp", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]", "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">", "<" + LocaleLoader.getString("Commands.Usage.XP") + ">"));
  118. command.setExecutor(new AddxpCommand());
  119. }
  120. public static void registerMcgodCommand() {
  121. PluginCommand command = mcMMO.p.getCommand("mcgod");
  122. command.setDescription(LocaleLoader.getString("Commands.Description.mcgod"));
  123. command.setPermission("mcmmo.commands.mcgod;mcmmo.commands.mcgod.others");
  124. command.setPermissionMessage(permissionsMessage);
  125. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcgod", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  126. command.setExecutor(new McgodCommand());
  127. }
  128. public static void registerMcrefreshCommand() {
  129. PluginCommand command = mcMMO.p.getCommand("mcrefresh");
  130. command.setDescription(LocaleLoader.getString("Commands.Description.mcrefresh"));
  131. command.setPermission("mcmmo.commands.mcrefresh;mcmmo.commands.mcrefresh.others");
  132. command.setPermissionMessage(permissionsMessage);
  133. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcrefresh", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  134. command.setExecutor(new McrefreshCommand());
  135. }
  136. public static void registerMmoeditCommand() {
  137. PluginCommand command = mcMMO.p.getCommand("mmoedit");
  138. command.setDescription(LocaleLoader.getString("Commands.Description.mmoedit"));
  139. command.setPermission("mcmmo.commands.mmoedit;mcmmo.commands.mmoedit.others");
  140. command.setPermissionMessage(permissionsMessage);
  141. command.setUsage(LocaleLoader.getString("Commands.Usage.3", "mmoedit", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]", "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">", "<" + LocaleLoader.getString("Commands.Usage.Level") + ">"));
  142. command.setExecutor(new MmoeditCommand());
  143. }
  144. public static void registerSkillresetCommand() {
  145. PluginCommand command = mcMMO.p.getCommand("skillreset");
  146. command.setDescription(LocaleLoader.getString("Commands.Description.skillreset"));
  147. command.setPermission("mcmmo.commands.skillreset;mcmmo.commands.skillreset.others"); // Only need the main ones, not the individual skill ones
  148. command.setPermissionMessage(permissionsMessage);
  149. command.setUsage(LocaleLoader.getString("Commands.Usage.2", "skillreset", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]", "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">"));
  150. command.setExecutor(new SkillresetCommand());
  151. }
  152. public static void registerXprateCommand() {
  153. List<String> aliasList = new ArrayList<String>();
  154. aliasList.add("mcxprate");
  155. PluginCommand command = mcMMO.p.getCommand("xprate");
  156. command.setDescription(LocaleLoader.getString("Commands.Description.xprate"));
  157. command.setPermission("mcmmo.commands.xprate;mcmmo.commands.xprate.reset;mcmmo.commands.xprate.set");
  158. command.setPermissionMessage(permissionsMessage);
  159. command.setUsage(LocaleLoader.getString("Commands.Usage.2", "xprate", "<" + LocaleLoader.getString("Commands.Usage.Rate") + ">", "<true|false>"));
  160. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "xprate", "reset"));
  161. command.setAliases(aliasList);
  162. command.setExecutor(new XprateCommand());
  163. }
  164. public static void registerInspectCommand() {
  165. PluginCommand command = mcMMO.p.getCommand("inspect");
  166. command.setDescription(LocaleLoader.getString("Commands.Description.inspect"));
  167. command.setPermission("mcmmo.commands.inspect;mcmmo.commands.inspect.far;mcmmo.commands.inspect.offline");
  168. command.setPermissionMessage(permissionsMessage);
  169. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "inspect", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
  170. command.setExecutor(new InspectCommand());
  171. }
  172. public static void registerMcabilityCommand() {
  173. PluginCommand command = mcMMO.p.getCommand("mcability");
  174. command.setDescription(LocaleLoader.getString("Commands.Description.mcability"));
  175. command.setPermission("mcmmo.commands.mcability;mcmmo.commands.mcability.others");
  176. command.setPermissionMessage(permissionsMessage);
  177. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcability", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  178. command.setExecutor(new McabilityCommand());
  179. }
  180. public static void registerMcmmoCommand() {
  181. PluginCommand command = mcMMO.p.getCommand("mcmmo");
  182. command.setDescription(LocaleLoader.getString("Commands.Description.mcmmo"));
  183. command.setPermission("mcmmo.commands.mcmmo;mcmmo.commands.mcmmo.help");
  184. command.setPermissionMessage(permissionsMessage);
  185. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcmmo"));
  186. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "mcmmo", "help"));
  187. command.setExecutor(new McmmoCommand());
  188. }
  189. public static void registerMcrankCommand() {
  190. PluginCommand command = mcMMO.p.getCommand("mcrank");
  191. command.setDescription(LocaleLoader.getString("Commands.Description.mcrank"));
  192. command.setPermission("mcmmo.commands.mcrank;mcmmo.commands.mcrank.others;mcmmo.commands.mcrank.others.far;mcmmo.commands.mcrank.others.offline");
  193. command.setPermissionMessage(permissionsMessage);
  194. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcrank", "[" + LocaleLoader.getString("Commands.Usage.Player") + "]"));
  195. command.setExecutor(new McrankCommand());
  196. }
  197. public static void registerMcstatsCommand() {
  198. PluginCommand command = mcMMO.p.getCommand("mcstats");
  199. command.setDescription(LocaleLoader.getString("Commands.Description.mcstats"));
  200. command.setPermission("mcmmo.commands.mcstats");
  201. command.setPermissionMessage(permissionsMessage);
  202. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcstats"));
  203. command.setExecutor(new McstatsCommand());
  204. }
  205. public static void registerMctopCommand() {
  206. PluginCommand command = mcMMO.p.getCommand("mctop");
  207. command.setDescription(LocaleLoader.getString("Commands.Description.mctop"));
  208. command.setPermission("mcmmo.commands.mctop"); // Only need the main one, not the individual skill ones
  209. command.setPermissionMessage(permissionsMessage);
  210. command.setUsage(LocaleLoader.getString("Commands.Usage.2", "mctop", "[" + LocaleLoader.getString("Commands.Usage.Skill") + "]", "[" + LocaleLoader.getString("Commands.Usage.Page") + "]"));
  211. command.setExecutor(new MctopCommand());
  212. }
  213. public static void registerMcpurgeCommand() {
  214. PluginCommand command = mcMMO.p.getCommand("mcpurge");
  215. command.setDescription(LocaleLoader.getString("Commands.Description.mcpurge", Config.getInstance().getOldUsersCutoff()));
  216. command.setPermission("mcmmo.commands.mcpurge");
  217. command.setPermissionMessage(permissionsMessage);
  218. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mcpurge"));
  219. command.setExecutor(new McpurgeCommand());
  220. }
  221. public static void registerMcremoveCommand() {
  222. PluginCommand command = mcMMO.p.getCommand("mcremove");
  223. command.setDescription(LocaleLoader.getString("Commands.Description.mcremove"));
  224. command.setPermission("mcmmo.commands.mcremove");
  225. command.setPermissionMessage(permissionsMessage);
  226. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcremove", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
  227. command.setExecutor(new McremoveCommand());
  228. }
  229. public static void registerMmoupdateCommand() {
  230. PluginCommand command = mcMMO.p.getCommand("mmoupdate");
  231. command.setDescription(LocaleLoader.getString("Commands.Description.mmoupdate"));
  232. command.setPermission("mcmmo.commands.mmoupdate");
  233. command.setPermissionMessage(permissionsMessage);
  234. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "mmoupdate"));
  235. command.setExecutor(new MmoupdateCommand());
  236. }
  237. public static void registerAdminChatCommand() {
  238. PluginCommand command = mcMMO.p.getCommand("adminchat");
  239. command.setDescription(LocaleLoader.getString("Commands.Description.adminchat"));
  240. command.setPermission("mcmmo.chat.adminchat");
  241. command.setPermissionMessage(permissionsMessage);
  242. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "adminchat"));
  243. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "adminchat", "<on|off>"));
  244. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "adminchat", "<" + LocaleLoader.getString("Commands.Usage.Message") + ">"));
  245. command.setExecutor(new AdminChatCommand());
  246. }
  247. public static void registerPartyChatCommand() {
  248. PluginCommand command = mcMMO.p.getCommand("partychat");
  249. command.setDescription(LocaleLoader.getString("Commands.Description.partychat"));
  250. command.setPermission("mcmmo.chat.partychat;mcmmo.commands.party");
  251. command.setPermissionMessage(permissionsMessage);
  252. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "partychat"));
  253. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "partychat", "<on|off>"));
  254. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "partychat", "<" + LocaleLoader.getString("Commands.Usage.Message") + ">"));
  255. command.setExecutor(new PartyChatCommand());
  256. }
  257. public static void registerMchudCommand() {
  258. PluginCommand command = mcMMO.p.getCommand("mchud");
  259. command.setDescription(LocaleLoader.getString("Commands.Description.mchud"));
  260. command.setPermission("mcmmo.commands.mchud");
  261. command.setPermissionMessage(permissionsMessage);
  262. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mchud", "<DISABLED | STANDARD | SMALL | RETRO>"));
  263. command.setExecutor(new MchudCommand());
  264. }
  265. public static void registerXplockCommand() {
  266. PluginCommand command = mcMMO.p.getCommand("xplock");
  267. command.setDescription(LocaleLoader.getString("Commands.Description.xplock"));
  268. command.setPermission("mcmmo.commands.xplock");
  269. command.setPermissionMessage(permissionsMessage);
  270. command.setUsage(LocaleLoader.getString("Commands.Usage.0", "xplock"));
  271. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "xplock", "<on|off>"));
  272. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "xplock", "<" + LocaleLoader.getString("Commands.Usage.Skill") + ">"));
  273. command.setExecutor(new XplockCommand());
  274. }
  275. public static void registerPartyCommand() {
  276. PluginCommand command = mcMMO.p.getCommand("party");
  277. command.setDescription(LocaleLoader.getString("Commands.Description.party"));
  278. command.setPermission("mcmmo.commands.party;mcmmo.commands.party.accept;mcmmo.commands.party.create;mcmmo.commands.party.disband;" +
  279. "mcmmo.commands.party.expshare;mcmmo.commands.party.invite;mcmmo.commands.party.itemshare;mcmmo.commands.party.join;" +
  280. "mcmmo.commands.party.kick;mcmmo.commands.party.lock;mcmmo.commands.party.owner;mcmmo.commands.party.password;" +
  281. "mcmmo.commands.party.quit;mcmmo.commands.party.rename;mcmmo.commands.party.unlock");
  282. command.setPermissionMessage(permissionsMessage);
  283. command.setExecutor(new PartyCommand());
  284. }
  285. public static void registerPtpCommand() {
  286. PluginCommand command = mcMMO.p.getCommand("ptp");
  287. command.setDescription(LocaleLoader.getString("Commands.Description.ptp"));
  288. command.setPermission("mcmmo.commands.ptp;mcmmo.commands.ptp.accept;mcmmo.commands.ptp.acceptall;mcmmo.commands.ptp.toggle");
  289. command.setPermissionMessage(permissionsMessage);
  290. command.setUsage(LocaleLoader.getString("Commands.Usage.1", "ptp", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
  291. command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.1", "ptp", "<toggle|accept|acceptall>"));
  292. command.setExecutor(new PtpCommand());
  293. }
  294. }