Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.51 KB | None | 0 0
  1. package me.kowlintech.command.group;
  2.  
  3. import me.kowlintech.utils.CommandUtils;
  4. import me.kowlintech.utils.GroupManager;
  5. import me.kowlintech.utils.PrivateChatUtils;
  6. import me.kowlintech.utils.objects.Colour;
  7. import me.kowlintech.utils.objects.Error;
  8. import me.kowlintech.utils.objects.Group;
  9. import org.apache.commons.lang3.EnumUtils;
  10. import org.bukkit.Bukkit;
  11. import org.bukkit.ChatColor;
  12. import org.bukkit.OfflinePlayer;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandExecutor;
  15. import org.bukkit.command.CommandSender;
  16. import org.bukkit.entity.Player;
  17.  
  18. import java.sql.SQLException;
  19.  
  20. public class SetGroupCommand implements CommandExecutor {
  21.  
  22. private CommandUtils commandUtils = new CommandUtils();
  23. private GroupManager groupManager = new GroupManager();
  24. private PrivateChatUtils privateChatUtils = new PrivateChatUtils();
  25.  
  26. @Override
  27. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  28. try {
  29. if(commandUtils.hasRequiredGroup(sender, Group.ADMIN)) {
  30. if(args.length == 2) {
  31. String playerName = args[0];
  32. OfflinePlayer player = Bukkit.getOfflinePlayer(playerName);
  33. String groupname = args[1].toUpperCase();
  34. if(player.hasPlayedBefore()) {
  35. if(EnumUtils.isValidEnum(Group.class, groupname)) {
  36. Group group = Group.valueOf(groupname);
  37. if(!groupManager.isAbleToSetGroup(sender, Bukkit.getPlayer(player.getUniqueId()), group)) {
  38. sender.sendMessage(Colour.prefix(ChatColor.RED) + "You are not allowed to set groups higher than your current group.");
  39. return true;
  40. } else {
  41. try {
  42. groupManager.addPlayerToGroup(player, group.toString());
  43. sender.sendMessage(Colour.prefix(ChatColor.GREEN) + "Successfully set " + player.getName() + "'s group to " + group.getName() + ".");
  44. privateChatUtils.sendAdminChatGroupChange(sender, (Player) player, group);
  45.  
  46. if(player.isOnline()) {
  47. if(group.isRankBold()) {
  48. groupManager.changeName((Player) player, group.getColor() + Colour.translate("&l") + group.getName() + " " + group.getNameColor() + player.getName());
  49. player.getPlayer().setPlayerListName(group.getColor() + Colour.translate("&l") + group.getName() + " " + group.getNameColor() + player.getName());
  50. } else {
  51. groupManager.changeName((Player) player, group.getColor() + group.getName() + " " + group.getNameColor() + player.getName());
  52. player.getPlayer().setPlayerListName(group.getColor() + group.getName() + " " + group.getNameColor() + player.getName());
  53. }
  54. }
  55. } catch (SQLException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59. } else {
  60. sender.sendMessage(Colour.prefix(ChatColor.RED) + "That group doesn't exist!");
  61. return true;
  62. }
  63. return true;
  64. } else {
  65. sender.sendMessage(Colour.prefix(ChatColor.RED) + "According to the world files, that player hasn't played on this server before. Due to this, the group will not be assigned to that user.");
  66. return true;
  67. }
  68. } else {
  69. sender.sendMessage(Colour.translate("&cUsage: /setgroup <player> <group>"));
  70. }
  71. } else {
  72. Error nopermission = Error.NO_PERMISSION;
  73. sender.sendMessage(nopermission.getColor() + nopermission.getError());
  74. return true;
  75. }
  76. } catch (SQLException e) {
  77. e.printStackTrace();
  78. sender.sendMessage(Colour.prefix(ChatColor.RED) + "An error occurred while executing that command. Please report this.");
  79. }
  80. return true;
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement