XplockCommand.java 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.gmail.nossr50.commands.spout;
  2. import org.bukkit.ChatColor;
  3. import org.bukkit.command.Command;
  4. import org.bukkit.command.CommandExecutor;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Player;
  7. import com.gmail.nossr50.Users;
  8. import com.gmail.nossr50.m;
  9. import com.gmail.nossr50.mcPermissions;
  10. import com.gmail.nossr50.commands.CommandHelper;
  11. import com.gmail.nossr50.config.LoadProperties;
  12. import com.gmail.nossr50.datatypes.PlayerProfile;
  13. import com.gmail.nossr50.datatypes.SkillType;
  14. import com.gmail.nossr50.locale.mcLocale;
  15. import com.gmail.nossr50.skills.Skills;
  16. import com.gmail.nossr50.spout.SpoutStuff;
  17. public class XplockCommand implements CommandExecutor {
  18. @Override
  19. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  20. String usage = ChatColor.RED + "Proper usage is /xplock [skill]";
  21. if (CommandHelper.noConsoleUsage(sender)) {
  22. return true;
  23. }
  24. if (!LoadProperties.spoutEnabled || !LoadProperties.xpbar || !LoadProperties.xplockEnable) {
  25. sender.sendMessage(mcLocale.getString("Commands.Disabled"));
  26. return true;
  27. }
  28. Player player = (Player) sender;
  29. PlayerProfile PP = Users.getProfile(player);
  30. switch (args.length) {
  31. case 0:
  32. if (PP.getXpBarLocked()) {
  33. PP.toggleXpBarLocked();
  34. player.sendMessage(mcLocale.getString("Commands.xplock.unlocked"));
  35. return true;
  36. }
  37. SkillType lastGained = PP.getLastGained();
  38. if (lastGained != null) {
  39. PP.toggleXpBarLocked();
  40. PP.setSkillLock(lastGained);
  41. player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] { m.getCapitalized(lastGained.toString()) }));
  42. return true;
  43. }
  44. case 1:
  45. if (Skills.isSkill(args[0])) {
  46. if (mcPermissions.getInstance().permission(player, "mcmmo.skills." + args[0].toLowerCase())) {
  47. PP.setXpBarLocked(true);
  48. PP.setSkillLock(Skills.getSkillType(args[0]));
  49. SpoutStuff.updateXpBar(player);
  50. player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] { m.getCapitalized(args[0]) }));
  51. return true;
  52. }
  53. else {
  54. player.sendMessage(mcLocale.getString("mcMMO.NoPermission"));
  55. return true;
  56. }
  57. }
  58. else {
  59. player.sendMessage(mcLocale.getString("Commands.Skill.Invalid"));
  60. return true;
  61. }
  62. default:
  63. player.sendMessage(usage);
  64. return true;
  65. }
  66. }
  67. }