Guest User

Luckperms

a guest
Apr 26th, 2024
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. package net.limeprog.proxy.send.utils;
  2.  
  3. import com.velocitypowered.api.proxy.Player;
  4. import net.limeprog.proxy.send.Send;
  5. import net.luckperms.api.LuckPerms;
  6. import net.luckperms.api.LuckPermsProvider;
  7. import net.luckperms.api.model.user.User;
  8. import org.slf4j.Logger;
  9.  
  10. import java.util.Set;
  11. import java.util.stream.Collectors;
  12.  
  13. public class Luckperms {
  14.  
  15. Send send = Send.getInstance();
  16. Logger logger = send.getLogger();
  17. LuckPerms luckPerms = LuckPermsProvider.get();
  18. public boolean hasRole(Player player, String roleName) {
  19. User user = luckPerms.getUserManager().getUser(player.getUniqueId());
  20. if (user != null){
  21. Set<String> groups = user.getNodes().stream()
  22. .filter(node -> {
  23. //noinspection EqualsBetweenInconvertibleTypes
  24. return node.getType().equals(roleName);
  25. })
  26. .map(node -> node.getKey().toLowerCase())
  27. .collect(Collectors.toSet());
  28. return groups.contains(roleName.toLowerCase());
  29. } else {
  30. logger.error("The User " + player.getUsername() + " dose not exist but tried to join.");
  31. return false;
  32. }
  33. }
  34.  
  35. public String getHighestRolePrefix(Player player){
  36. User user = luckPerms.getUserManager().getUser(player.getUniqueId());
  37.  
  38. String defaultPrefix = "<#9d4d4e>Player</#9d4d4e><#808080> | </#808080><#9d4d4e>" + player.getUsername();
  39. String staffPrefix = "<#15a0a6>Staff</#15a0a6><#808080> | </#808080><#99d1d3>" + player.getUsername();
  40. String managingDirectorPrefix = "<#e61919>Managing Director</#e61919><#808080> | </#808080><#ec5353>" + player.getUsername();
  41.  
  42. if (user != null) {
  43. String primaryGroup = user.getPrimaryGroup();
  44. switch (primaryGroup) {
  45. case "managingdirector" -> {
  46. return managingDirectorPrefix;
  47. }
  48. case "staff" -> {
  49. return staffPrefix;
  50. }
  51. case "default" -> {
  52. return defaultPrefix;
  53. }
  54. }
  55. } else {
  56. logger.error("The User " + player.getUsername() + " dose not exist but tried to join.");
  57. }
  58. return "Error";
  59. }
  60. }
Add Comment
Please, Sign In to add comment