• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Luckperms API | Hilfe

F

Firegun

Guest
Hallo! Ich programmiere derzeit ein Shop Plugin und möchte einen Rang wenn ich auf ein Item klicke bekommen.
Ich weiß halt nun nicht wie ich das mit der Luckperms API mache damit ich einen Rang bekomme.
Hiermit will ich den Rang bekommen: LuckPerms.getApi().getUser(uuid).setPrimaryGroup("diamond");

Dies funktioniert leider nicht und ich weiß da auch nicht weiter. Es wäre echt nett wenn mir jemand helfen könnte.

Liebe Grüße Firegun.
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Dies funktioniert leider nicht
Was funktioniert denn nicht? Irgendwelche Fehler? Passiert einfach nichts? Ohne Code kann man auch nur raten.

Denk dran das du nach Änderungen an einem Spieler oder einer Gruppe die Änderungen auch speichern musst:
luckPerms.getUserManager().saveUser(user);
 
F

Firegun

Guest
Es geht darum das ich einem Spieler einen Rang geben will mit Luckperms. Dazu habe ich das geschrieben: LuckPerms.getApi().getUser(uuid).setPrimaryGroup("diamond"); , dadurch sollte er eigentlich den Rang bekommen, aber er bekommt ihn nicht. Geht das mit einer anderen Art? Liebe grüße!
 

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
Zuletzt bearbeitet:

De4thpr0x4

Minecrafter
Registriert
19 April 2020
Beiträge
16
Diamanten
290
Ich habe derzeit das selbe Problem.
Ich habe das mal in eine Methode geschrieben:
SetPrimaryGroup:
    public void setPrimaryGroup(LuckPerms luckPerms, Player p){
        UUID id = p.getUniqueId();
        User u = luckPerms.getUserManager().getUser(id);
        Bukkit.getServer().broadcastMessage("1");
        u.setPrimaryGroup("bürger");
        Bukkit.getServer().broadcastMessage("2");
        luckPerms.getUserManager().saveUser(u);
        Bukkit.getServer().broadcastMessage("3");

    }
Dazu gibt es keine Errors.
Aber wenn ich mir die Info zu meinem Spieler gebe, wird die Gruppe nicht geändert.
Ich arbeite mit der aktuellen Version von der API und vom LuckPerms Plugin.
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Ich habe derzeit das selbe Problem.
Ich habe das mal in eine Methode geschrieben:
SetPrimaryGroup:
    public void setPrimaryGroup(LuckPerms luckPerms, Player p){
        UUID id = p.getUniqueId();
        User u = luckPerms.getUserManager().getUser(id);
        Bukkit.getServer().broadcastMessage("1");
        u.setPrimaryGroup("bürger");
        Bukkit.getServer().broadcastMessage("2");
        luckPerms.getUserManager().saveUser(u);
        Bukkit.getServer().broadcastMessage("3");

    }
Dazu gibt es keine Errors.
Aber wenn ich mir die Info zu meinem Spieler gebe, wird die Gruppe nicht geändert.
Ich arbeite mit der aktuellen Version von der API und vom LuckPerms Plugin.
Änderungen an den Gruppen eines Users könnten mit dem GroupManager gespeichert werden, nicht dem UserManager.

Ansonsten: Bist du dir sicher das die PrimaryGroup das ist, was du möchtest? Es funktioniert nur wenn der Spieler diese Gruppe bereits hat (ansonsten sollte es allerdings eine IllegalStateException geben).
Wenn du einen Spieler einer Gruppe hinzufügen möchtest musst du ihm einfach die Node group.Gruppenname geben.
 

De4thpr0x4

Minecrafter
Registriert
19 April 2020
Beiträge
16
Diamanten
290
Danke @Malfrador,
dies habe ich gemacht:
SetPrimaryGroup:
public void setPrimaryGroup(LuckPerms luckPerms, Player p){
        Group verified =  luckPerms.getGroupManager().getGroup("bürger");
        UUID id = p.getUniqueId();
        User u = luckPerms.getUserManager().getUser(id);
        Bukkit.getServer().broadcastMessage("1");
        DataMutateResult r = u.data().add(Node.builder("group.bürger").build());
        Bukkit.getServer().broadcastMessage("a");
        luckPerms.getGroupManager().saveGroup(verified);
        Bukkit.getServer().broadcastMessage(luckPerms.getGroupManager().getGroup("bürger").getWeight().toString());

Dennoch kam weiterhin nichts raus kein Fehler keine veränderung.
 
Zuletzt bearbeitet:

De4thpr0x4

Minecrafter
Registriert
19 April 2020
Beiträge
16
Diamanten
290
Hallo an alle das Problem ist gelöst:
SetPrimaryGroup:
    public void addGroup(LuckPerms luckPerms, Player p){
        Group verified =  luckPerms.getGroupManager().getGroup("bürger");
        UUID id = p.getUniqueId();
        User u = luckPerms.getUserManager().getUser(id);
        InheritanceNode r = InheritanceNode.builder("group.bürger").build();
        u.data().add(r);
        luckPerms.getUserManager().saveUser(u);
        luckPerms.getGroupManager().saveGroup(verified);
    }
//Close
 
Oben