CommandHelper.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.gmail.nossr50.commands;
  2. import org.bukkit.command.CommandSender;
  3. import org.bukkit.entity.Player;
  4. import com.gmail.nossr50.datatypes.PlayerProfile;
  5. import com.gmail.nossr50.datatypes.SkillType;
  6. import com.gmail.nossr50.locale.LocaleLoader;
  7. import com.gmail.nossr50.util.Permissions;
  8. import com.gmail.nossr50.util.Skills;
  9. import com.gmail.nossr50.util.Users;
  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 (!Permissions.getInstance().permission(player, permission)) {
  22. player.sendMessage(LocaleLoader.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(LocaleLoader.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. */
  41. public static void printGatheringSkills(Player inspect, CommandSender display) {
  42. if (Skills.hasGatheringSkills(inspect)) {
  43. PlayerProfile profile = Users.getProfile(inspect);
  44. display.sendMessage(LocaleLoader.getString("Stats.Header.Gathering"));
  45. if (Permissions.getInstance().excavation(inspect)) {
  46. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Excavation.Listener"), profile.getSkillLevel(SkillType.EXCAVATION), profile.getSkillXpLevel(SkillType.EXCAVATION), profile.getXpToLevel(SkillType.EXCAVATION) }));
  47. }
  48. if (Permissions.getInstance().fishing(inspect)) {
  49. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Fishing.Listener"), profile.getSkillLevel(SkillType.FISHING), profile.getSkillXpLevel(SkillType.FISHING), profile.getXpToLevel(SkillType.FISHING) }));
  50. }
  51. if (Permissions.getInstance().herbalism(inspect)) {
  52. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Herbalism.Listener"), profile.getSkillLevel(SkillType.HERBALISM), profile.getSkillXpLevel(SkillType.HERBALISM), profile.getXpToLevel(SkillType.HERBALISM) }));
  53. }
  54. if (Permissions.getInstance().mining(inspect)) {
  55. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Mining.Listener"), profile.getSkillLevel(SkillType.MINING), profile.getSkillXpLevel(SkillType.MINING), profile.getXpToLevel(SkillType.MINING) }));
  56. }
  57. if (Permissions.getInstance().woodcutting(inspect)) {
  58. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Woodcutting.Listener"), profile.getSkillLevel(SkillType.WOODCUTTING), profile.getSkillXpLevel(SkillType.WOODCUTTING), profile.getXpToLevel(SkillType.WOODCUTTING) }));
  59. }
  60. }
  61. }
  62. public static void printGatheringSkills(Player player) {
  63. printGatheringSkills(player, player);
  64. }
  65. /**
  66. * Print out details on Combat skills. Only for online players.
  67. *
  68. * @param inspect The player to retrieve stats for
  69. * @param display The sender to display stats to
  70. */
  71. public static void printCombatSkills(Player inspect, CommandSender display) {
  72. if (Skills.hasCombatSkills(inspect)) {
  73. PlayerProfile profile = Users.getProfile(inspect);
  74. display.sendMessage(LocaleLoader.getString("Stats.Header.Combat"));
  75. if (Permissions.getInstance().axes(inspect)) {
  76. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Axes.Listener"), profile.getSkillLevel(SkillType.AXES), profile.getSkillXpLevel(SkillType.AXES), profile.getXpToLevel(SkillType.AXES) }));
  77. }
  78. if (Permissions.getInstance().archery(inspect)) {
  79. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Archery.Listener"), profile.getSkillLevel(SkillType.ARCHERY), profile.getSkillXpLevel(SkillType.ARCHERY), profile.getXpToLevel(SkillType.ARCHERY) }));
  80. }
  81. if (Permissions.getInstance().swords(inspect)) {
  82. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Swords.Listener"), profile.getSkillLevel(SkillType.SWORDS), profile.getSkillXpLevel(SkillType.SWORDS), profile.getXpToLevel(SkillType.SWORDS) }));
  83. }
  84. if (Permissions.getInstance().taming(inspect)) {
  85. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Taming.Listener"), profile.getSkillLevel(SkillType.TAMING), profile.getSkillXpLevel(SkillType.TAMING), profile.getXpToLevel(SkillType.TAMING) }));
  86. }
  87. if (Permissions.getInstance().unarmed(inspect)) {
  88. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Unarmed.Listener"), profile.getSkillLevel(SkillType.UNARMED), profile.getSkillXpLevel(SkillType.UNARMED), profile.getXpToLevel(SkillType.UNARMED) }));
  89. }
  90. }
  91. }
  92. public static void printCombatSkills(Player player) {
  93. printCombatSkills(player, player);
  94. }
  95. /**
  96. * Print out details on Misc skills. Only for online players.
  97. *
  98. * @param inspect The player to retrieve stats for
  99. * @param display The sender to display stats to
  100. */
  101. public static void printMiscSkills(Player inspect, CommandSender display) {
  102. if (Skills.hasMiscSkills(inspect)) {
  103. PlayerProfile profile = Users.getProfile(inspect);
  104. display.sendMessage(LocaleLoader.getString("Stats.Header.Misc"));
  105. if (Permissions.getInstance().acrobatics(inspect)) {
  106. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Acrobatics.Listener"), profile.getSkillLevel(SkillType.ACROBATICS), profile.getSkillXpLevel(SkillType.ACROBATICS), profile.getXpToLevel(SkillType.ACROBATICS) }));
  107. }
  108. if (Permissions.getInstance().repair(inspect)) {
  109. display.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Repair.Listener"), profile.getSkillLevel(SkillType.REPAIR), profile.getSkillXpLevel(SkillType.REPAIR), profile.getXpToLevel(SkillType.REPAIR) }));
  110. }
  111. }
  112. }
  113. public static void printMiscSkills(Player player) {
  114. printMiscSkills(player, player);
  115. }
  116. }