Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class LuckPermsApi {
- public static String getPlayerGroup(Player player) {
- User user = luckPerms.getUserManager().getUser(player.getUniqueId());
- if (user == null) {
- return null; // User not loaded
- }
- for (RankSettings rankSettings : RankSettings.values()) {
- if (user.getPrimaryGroup().equalsIgnoreCase(rankSettings.name())) {
- return rankSettings.name().toLowerCase();
- }
- }
- return null;
- }
- public static void setPlayerGroup(Player player, String group) {
- User user = luckPerms.getUserManager().getUser(player.getUniqueId());
- if (user == null) {
- return; // User not loaded
- }
- // Clear existing groups
- user.data().clear(NodeType.INHERITANCE::matches);
- // Add the new group
- Group targetGroup = luckPerms.getGroupManager().getGroup(group);
- if (targetGroup != null) {
- InheritanceNode node = InheritanceNode.builder(targetGroup).build();
- user.data().add(node);
- luckPerms.getUserManager().saveUser(user);
- }
- }
- }
- public class RankManager {
- public static LuckPerms luckPerms;
- public static void initialize() {
- RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class);
- if (provider != null) {
- luckPerms = provider.getProvider();
- }
- }
- public static void checkRankup(Player player, int ranking, String currentRank) {
- User user = luckPerms.getUserManager().getUser(player.getUniqueId());
- if (user == null) {
- return; // User not loaded
- }
- for (RankSettings newRank : RankSettings.values()) {
- int minValue = newRank.getMinRanking();
- int maxValue = newRank.getMaxRanking();
- if (ranking >= minValue && ranking <= maxValue) {
- RankSettings oldRank = RankSettings.valueOf(currentRank.toUpperCase());
- if (!oldRank.equals(newRank)) {
- String currentIcon = new FontImageWrapper(oldRank.getIcon()).getString();
- String newIcon = new FontImageWrapper(newRank.getIcon()).getString();
- setPlayerGroup(player, newRank.name().toLowerCase());
- if (oldRank.getMinRanking() < newRank.getMinRanking()) {
- Bukkit.broadcastMessage("§a" + player.getName() + " §fhas been promoted: §f" + currentIcon + " §a▶ " + newIcon);
- TotemAnimations.playTotemAnimation(player, newRank.getModel());
- } else {
- Bukkit.broadcastMessage("§c" + player.getName() + " §fhas been demoted: §f" + currentIcon + " §c▶ " + newIcon);
- }
- }
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment