CommandHelper.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.gmail.nossr50.commands;
  2. import org.bukkit.command.CommandSender;
  3. import org.bukkit.entity.Player;
  4. import com.gmail.nossr50.Users;
  5. import com.gmail.nossr50.mcPermissions;
  6. import com.gmail.nossr50.datatypes.PlayerProfile;
  7. import com.gmail.nossr50.datatypes.SkillType;
  8. import com.gmail.nossr50.locale.mcLocale;
  9. import com.gmail.nossr50.skills.Skills;
  10. public class CommandHelper {
  11. /**
  12. * Checks for command permissions.
  13. *
  14. * @param sender The command sender
  15. * @param permission The permission to check
  16. * @return true if the sender is a player without permissions, false otherwise
  17. */
  18. public static boolean noCommandPermissions(CommandSender sender, String permission) {
  19. if (sender instanceof Player) {
  20. Player player = (Player) sender;
  21. if (player != null && !mcPermissions.getInstance().permission(player, permission)) {
  22. player.sendMessage(mcLocale.getString("mcMMO.NoPermission"));
  23. return true;
  24. }
  25. }
  26. return false;
  27. }
  28. public static boolean noConsoleUsage(CommandSender sender) {
  29. if (!(sender instanceof Player)) {
  30. sender.sendMessage(mcLocale.getString("Commands.NoConsole"));
  31. return true;
  32. }
  33. return false;
  34. }
  35. /**
  36. * Print out details on Gathering skills. Only for online players.
  37. *
  38. * @param inspect The player to retrieve stats for
  39. * @param display The sender to display stats to
  40. * @param online true if the player to retrieve stats for is online, false otherwise
  41. */
  42. public static void printGatheringSkills(Player inspect, CommandSender display) {
  43. if (Skills.hasGatheringSkills(inspect)) {
  44. PlayerProfile PP = Users.getProfile(inspect);
  45. display.sendMessage(mcLocale.getString("Stats.Header.Gathering"));
  46. if (mcPermissions.getInstance().excavation(inspect)) {
  47. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Excavation.Listener"), PP.getSkillLevel(SkillType.EXCAVATION), PP.getSkillXpLevel(SkillType.EXCAVATION), PP.getXpToLevel(SkillType.EXCAVATION) }));
  48. }
  49. if (mcPermissions.getInstance().fishing(inspect)) {
  50. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Fishing.Listener"), PP.getSkillLevel(SkillType.FISHING), PP.getSkillXpLevel(SkillType.FISHING), PP.getXpToLevel(SkillType.FISHING) }));
  51. }
  52. if (mcPermissions.getInstance().herbalism(inspect)) {
  53. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Herbalism.Listener"), PP.getSkillLevel(SkillType.HERBALISM), PP.getSkillXpLevel(SkillType.HERBALISM), PP.getXpToLevel(SkillType.HERBALISM) }));
  54. }
  55. if (mcPermissions.getInstance().mining(inspect)) {
  56. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Mining.Listener"), PP.getSkillLevel(SkillType.MINING), PP.getSkillXpLevel(SkillType.MINING), PP.getXpToLevel(SkillType.MINING) }));
  57. }
  58. if (mcPermissions.getInstance().woodcutting(inspect)) {
  59. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Woodcutting.Listener"), PP.getSkillLevel(SkillType.WOODCUTTING), PP.getSkillXpLevel(SkillType.WOODCUTTING), PP.getXpToLevel(SkillType.WOODCUTTING) }));
  60. }
  61. }
  62. }
  63. public static void printGatheringSkills(Player player) {
  64. printGatheringSkills(player, player);
  65. }
  66. /**
  67. * Print out details on Combat skills. Only for online players.
  68. *
  69. * @param inspect The player to retrieve stats for
  70. * @param display The sender to display stats to
  71. * @param online true if the player to retrieve stats for is online, false otherwise
  72. */
  73. public static void printCombatSkills(Player inspect, CommandSender display) {
  74. if (Skills.hasCombatSkills(inspect)) {
  75. PlayerProfile PP = Users.getProfile(inspect);
  76. display.sendMessage(mcLocale.getString("Stats.Header.Combat"));
  77. if (mcPermissions.getInstance().axes(inspect)) {
  78. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Axes.Listener"), PP.getSkillLevel(SkillType.AXES), PP.getSkillXpLevel(SkillType.AXES), PP.getXpToLevel(SkillType.AXES) }));
  79. }
  80. if (mcPermissions.getInstance().archery(inspect)) {
  81. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Archery.Listener"), PP.getSkillLevel(SkillType.ARCHERY), PP.getSkillXpLevel(SkillType.ARCHERY), PP.getXpToLevel(SkillType.ARCHERY) }));
  82. }
  83. if (mcPermissions.getInstance().swords(inspect)) {
  84. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Swords.Listener"), PP.getSkillLevel(SkillType.SWORDS), PP.getSkillXpLevel(SkillType.SWORDS), PP.getXpToLevel(SkillType.SWORDS) }));
  85. }
  86. if (mcPermissions.getInstance().taming(inspect)) {
  87. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Taming.Listener"), PP.getSkillLevel(SkillType.TAMING), PP.getSkillXpLevel(SkillType.TAMING), PP.getXpToLevel(SkillType.TAMING) }));
  88. }
  89. if (mcPermissions.getInstance().unarmed(inspect)) {
  90. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Unarmed.Listener"), PP.getSkillLevel(SkillType.UNARMED), PP.getSkillXpLevel(SkillType.UNARMED), PP.getXpToLevel(SkillType.UNARMED) }));
  91. }
  92. }
  93. }
  94. public static void printCombatSkills(Player player) {
  95. printCombatSkills(player, player);
  96. }
  97. /**
  98. * Print out details on Misc skills. Only for online players.
  99. *
  100. * @param inspect The player to retrieve stats for
  101. * @param display The sender to display stats to
  102. * @param online true if the player to retrieve stats for is online, false otherwise
  103. */
  104. public static void printMiscSkills(Player inspect, CommandSender display) {
  105. if (Skills.hasMiscSkills(inspect)) {
  106. PlayerProfile PP = Users.getProfile(inspect);
  107. display.sendMessage(mcLocale.getString("Stats.Header.Misc"));
  108. if (mcPermissions.getInstance().acrobatics(inspect)) {
  109. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Acrobatics.Listener"), PP.getSkillLevel(SkillType.ACROBATICS), PP.getSkillXpLevel(SkillType.ACROBATICS), PP.getXpToLevel(SkillType.ACROBATICS) }));
  110. }
  111. if (mcPermissions.getInstance().repair(inspect)) {
  112. display.sendMessage(mcLocale.getString("Skills.Stats", new Object[] { mcLocale.getString("Repair.Listener"), PP.getSkillLevel(SkillType.REPAIR), PP.getSkillXpLevel(SkillType.REPAIR), PP.getXpToLevel(SkillType.REPAIR) }));
  113. }
  114. }
  115. }
  116. public static void printMiscSkills(Player player) {
  117. printMiscSkills(player, player);
  118. }
  119. }