From 262ae6a416c221d73417356373b56f7a0bcf2715 Mon Sep 17 00:00:00 2001
From: SofianeLasri <alasri250@gmail.com>
Date: Sun, 11 Sep 2022 13:55:28 +0200
Subject: [PATCH] =?UTF-8?q?Le=20code=20sauvegarde=20d=C3=A9sormais=20l'ajo?=
 =?UTF-8?q?ut=20de=20groupe=20=C3=A0=20l'utilisateur.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../parallelTasks/dataHandlers/PlayedTimeHandler.java     | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java
index 6cddeb5..9fb3883 100644
--- a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java
+++ b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java
@@ -3,8 +3,10 @@ package com.slprojects.slcraftplugin.parallelTasks.dataHandlers;
 import com.slprojects.slcraftplugin.Main;
 import com.slprojects.slcraftplugin.parallelTasks.events.GeneralEvents;
 import com.slprojects.slcraftplugin.utils.Database;
+import net.luckperms.api.model.data.DataMutateResult;
 import net.luckperms.api.model.group.Group;
 import net.luckperms.api.model.user.User;
+import net.luckperms.api.node.types.InheritanceNode;
 import net.md_5.bungee.api.ChatMessageType;
 import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.ChatColor;
@@ -63,7 +65,6 @@ public class PlayedTimeHandler implements dataHandler {
         Database.setUserSetting(playerUuid.toString(), "playedTime", String.valueOf(actualPlayedTime));
 
         // Vérification pour avoir le rôle habitué
-        // TODO: Ne sauvegarde pas. :/
         if(actualPlayedTime >= requiredPlayedTimeForUpgradingPlayersAccount){
             String playerGroupName = plugin.luckPermsApi.getPlayerAdapter(Player.class).getMetaData(player).getPrimaryGroup();
             if(playerGroupName != playersAccountUpgradeGroup.getName()){
@@ -72,7 +73,10 @@ public class PlayedTimeHandler implements dataHandler {
                 Group playerGroup = plugin.luckPermsApi.getGroupManager().getGroup(playerGroupName);
                 if(playerGroup.getWeight().getAsInt() < playersAccountUpgradeGroup.getWeight().getAsInt()){
                     User playerLuckPerms = plugin.luckPermsApi.getUserManager().getUser(player.getUniqueId());
-                    playerLuckPerms.setPrimaryGroup(playersAccountUpgradeGroup.getName());
+
+                    // https://www.spigotmc.org/threads/how-can-i-set-a-players-group-with-luckperms-api.489404/#post-4084060
+                    InheritanceNode node = InheritanceNode.builder(playersAccountUpgradeGroup).value(true).build();
+                    DataMutateResult result = playerLuckPerms.data().add(node);
                     plugin.luckPermsApi.getUserManager().saveUser(playerLuckPerms);
 
                     int requiredPlayedTimeInHours = requiredPlayedTimeForUpgradingPlayersAccount / 60 / 60;
-- 
GitLab