xeRicker

Untitled

Jan 25th, 2025
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1.  
  2. public class LuckPermsApi {
  3.  
  4. public static String getPlayerGroup(Player player) {
  5. User user = luckPerms.getUserManager().getUser(player.getUniqueId());
  6. if (user == null) {
  7. return null; // User not loaded
  8. }
  9.  
  10. for (RankSettings rankSettings : RankSettings.values()) {
  11. if (user.getPrimaryGroup().equalsIgnoreCase(rankSettings.name())) {
  12. return rankSettings.name().toLowerCase();
  13. }
  14. }
  15. return null;
  16. }
  17.  
  18. public static void setPlayerGroup(Player player, String group) {
  19. User user = luckPerms.getUserManager().getUser(player.getUniqueId());
  20. if (user == null) {
  21. return; // User not loaded
  22. }
  23.  
  24. // Clear existing groups
  25. user.data().clear(NodeType.INHERITANCE::matches);
  26.  
  27. // Add the new group
  28. Group targetGroup = luckPerms.getGroupManager().getGroup(group);
  29. if (targetGroup != null) {
  30. InheritanceNode node = InheritanceNode.builder(targetGroup).build();
  31. user.data().add(node);
  32. luckPerms.getUserManager().saveUser(user);
  33. }
  34. }
  35. }
  36.  
  37. public class RankManager {
  38.  
  39. public static LuckPerms luckPerms;
  40.  
  41. public static void initialize() {
  42. RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class);
  43. if (provider != null) {
  44. luckPerms = provider.getProvider();
  45. }
  46. }
  47.  
  48. public static void checkRankup(Player player, int ranking, String currentRank) {
  49. User user = luckPerms.getUserManager().getUser(player.getUniqueId());
  50. if (user == null) {
  51. return; // User not loaded
  52. }
  53.  
  54. for (RankSettings newRank : RankSettings.values()) {
  55. int minValue = newRank.getMinRanking();
  56. int maxValue = newRank.getMaxRanking();
  57.  
  58. if (ranking >= minValue && ranking <= maxValue) {
  59. RankSettings oldRank = RankSettings.valueOf(currentRank.toUpperCase());
  60.  
  61. if (!oldRank.equals(newRank)) {
  62. String currentIcon = new FontImageWrapper(oldRank.getIcon()).getString();
  63. String newIcon = new FontImageWrapper(newRank.getIcon()).getString();
  64.  
  65. setPlayerGroup(player, newRank.name().toLowerCase());
  66.  
  67. if (oldRank.getMinRanking() < newRank.getMinRanking()) {
  68. Bukkit.broadcastMessage("§a" + player.getName() + " §fhas been promoted: §f" + currentIcon + " §a▶ " + newIcon);
  69. TotemAnimations.playTotemAnimation(player, newRank.getModel());
  70. } else {
  71. Bukkit.broadcastMessage("§c" + player.getName() + " §fhas been demoted: §f" + currentIcon + " §c▶ " + newIcon);
  72. }
  73. }
  74. break;
  75. }
  76. }
  77. }
  78. }
  79.  
Advertisement
Add Comment
Please, Sign In to add comment