AddlevelsCommand.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.gmail.nossr50.commands.general;
  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.mcMMO;
  10. import com.gmail.nossr50.mcPermissions;
  11. import com.gmail.nossr50.datatypes.PlayerProfile;
  12. import com.gmail.nossr50.locale.mcLocale;
  13. import com.gmail.nossr50.skills.Skills;
  14. public class AddlevelsCommand implements CommandExecutor{
  15. private final mcMMO plugin;
  16. public AddlevelsCommand(mcMMO instance) {
  17. this.plugin = instance;
  18. }
  19. @Override
  20. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  21. Player player = null;
  22. if (sender instanceof Player) {
  23. player = (Player) sender;
  24. }
  25. if (player != null && !mcPermissions.getInstance().mmoedit(player)) {
  26. sender.sendMessage("This command requires permissions."); //TODO: Needs more locale.
  27. return true;
  28. }
  29. if (!(sender instanceof Player)) {
  30. if (args.length < 2) {
  31. System.out.println("Usage is /addlevels playername skillname levels"); //TODO: Needs more locale.
  32. return true;
  33. } else if (args.length == 3) {
  34. if ((plugin.getServer().getPlayer(args[0]) != null) && m.isInt(args[2]) && Skills.isSkill(args[1])) {
  35. int levels = Integer.valueOf(args[2]);
  36. Users.getProfile(plugin.getServer().getPlayer(args[0])).addLevels(Skills.getSkillType(args[1]), levels);
  37. System.out.println(args[1] + " has been modified for " + plugin.getServer().getPlayer(args[0]).getName() + ".");
  38. }
  39. } else {
  40. System.out.println("Usage is /addlevels playername skillname levels"); //TODO: Needs more locale.
  41. }
  42. return true;
  43. }
  44. PlayerProfile PP = Users.getProfile(player);
  45. if (!mcPermissions.getInstance().mmoedit(player)) {
  46. player.sendMessage(ChatColor.YELLOW + "[mcMMO] " + ChatColor.DARK_RED + mcLocale.getString("mcPlayerListener.NoPermission"));
  47. return true;
  48. }
  49. if (args.length < 2) {
  50. player.sendMessage(ChatColor.RED + "Usage is /addlevels playername skillname levels"); //TODO: Needs more locale.
  51. return true;
  52. }
  53. if (args.length == 3) {
  54. if ((plugin.getServer().getPlayer(args[0]) != null) && m.isInt(args[2]) && Skills.isSkill(args[1])) {
  55. int levels = Integer.valueOf(args[2]);
  56. Users.getProfile(plugin.getServer().getPlayer(args[0])).addLevels(Skills.getSkillType(args[1]), levels);
  57. player.sendMessage(ChatColor.RED + args[1] + " has been modified."); //TODO: Needs more locale.
  58. }
  59. } else if (args.length == 2) {
  60. if (m.isInt(args[1]) && Skills.isSkill(args[0])) {
  61. int levels = Integer.valueOf(args[1]);
  62. PP.addLevels(Skills.getSkillType(args[0]), levels);
  63. player.sendMessage(ChatColor.RED + args[0] + " has been modified."); //TODO: Needs more locale.
  64. }
  65. } else {
  66. player.sendMessage(ChatColor.RED + "Usage is /addlevels playername skillname newvalue"); //TODO: Needs more locale.
  67. }
  68. return true;
  69. }
  70. }