McgodCommand.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.gmail.nossr50.commands;
  2. import org.bukkit.command.Command;
  3. import org.bukkit.command.CommandExecutor;
  4. import org.bukkit.command.CommandSender;
  5. import org.bukkit.entity.Player;
  6. import com.gmail.nossr50.datatypes.player.McMMOPlayer;
  7. import com.gmail.nossr50.datatypes.player.PlayerProfile;
  8. import com.gmail.nossr50.locale.LocaleLoader;
  9. import com.gmail.nossr50.util.Permissions;
  10. import com.gmail.nossr50.util.player.UserManager;
  11. public class McgodCommand implements CommandExecutor {
  12. @Override
  13. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  14. PlayerProfile profile;
  15. switch (args.length) {
  16. case 0:
  17. if (!Permissions.mcgod(sender)) {
  18. sender.sendMessage(command.getPermissionMessage());
  19. return true;
  20. }
  21. if (!(sender instanceof Player)) {
  22. return false;
  23. }
  24. profile = UserManager.getPlayer((Player) sender).getProfile();
  25. if (profile == null) {
  26. sender.sendMessage(LocaleLoader.getString("Commands.DoesNotExist"));
  27. return true;
  28. }
  29. if (profile.getGodMode()) {
  30. sender.sendMessage(LocaleLoader.getString("Commands.GodMode.Disabled"));
  31. }
  32. else {
  33. sender.sendMessage(LocaleLoader.getString("Commands.GodMode.Enabled"));
  34. }
  35. profile.toggleGodMode();
  36. return true;
  37. case 1:
  38. if (!Permissions.mcgodOthers(sender)) {
  39. sender.sendMessage(command.getPermissionMessage());
  40. return true;
  41. }
  42. McMMOPlayer mcMMOPlayer = UserManager.getPlayer(args[0]);
  43. if (mcMMOPlayer == null) {
  44. profile = new PlayerProfile(args[0], false);
  45. if (!profile.isLoaded()) {
  46. sender.sendMessage(LocaleLoader.getString("Commands.DoesNotExist"));
  47. return true;
  48. }
  49. sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
  50. return true;
  51. }
  52. profile = mcMMOPlayer.getProfile();
  53. Player player = mcMMOPlayer.getPlayer();
  54. if (!player.isOnline()) {
  55. sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
  56. return true;
  57. }
  58. if (profile.getGodMode()) {
  59. player.sendMessage(LocaleLoader.getString("Commands.GodMode.Disabled"));
  60. }
  61. else {
  62. player.sendMessage(LocaleLoader.getString("Commands.GodMode.Enabled"));
  63. }
  64. profile.toggleGodMode();
  65. return true;
  66. default:
  67. return false;
  68. }
  69. }
  70. }