Search in sources :

Example 51 with Group

use of me.lucko.luckperms.common.model.Group in project LuckPerms by lucko.

the class VaultChatHook method setGroupMeta.

@Override
public void setGroupMeta(String world, String name, String key, Object value) {
    Objects.requireNonNull(name, "name");
    Objects.requireNonNull(key, "key");
    Group group = getGroup(name);
    if (group == null) {
        return;
    }
    setMeta(group, key, value, world);
}
Also used : Group(me.lucko.luckperms.common.model.Group)

Example 52 with Group

use of me.lucko.luckperms.common.model.Group in project LuckPerms by lucko.

the class HolderSubjectData method objectSave.

private CompletableFuture<Void> objectSave(PermissionHolder t) {
    // handle transient first
    if (this.type == NodeMapType.TRANSIENT) {
        // don't bother saving to primary storage. just refresh
        if (t.getType().isUser()) {
            User user = ((User) t);
            return user.getRefreshBuffer().request();
        } else {
            return this.service.getPlugin().getUpdateTaskBuffer().request();
        }
    }
    // handle enduring
    if (t.getType().isUser()) {
        User user = ((User) t);
        CompletableFuture<Void> fut = new CompletableFuture<>();
        this.service.getPlugin().getStorage().saveUser(user).whenCompleteAsync((v, ex) -> {
            if (ex != null) {
                fut.complete(null);
            }
            user.getRefreshBuffer().request().thenAccept(fut::complete);
        }, this.service.getPlugin().getBootstrap().getScheduler().async());
        return fut;
    } else {
        Group group = ((Group) t);
        CompletableFuture<Void> fut = new CompletableFuture<>();
        this.service.getPlugin().getStorage().saveGroup(group).whenCompleteAsync((v, ex) -> {
            if (ex != null) {
                fut.complete(null);
            }
            this.service.getPlugin().getUpdateTaskBuffer().request().thenAccept(fut::complete);
        }, this.service.getPlugin().getBootstrap().getScheduler().async());
        return fut;
    }
}
Also used : Group(me.lucko.luckperms.common.model.Group) CompletableFuture(java.util.concurrent.CompletableFuture) User(me.lucko.luckperms.common.model.User)

Aggregations

Group (me.lucko.luckperms.common.model.Group)52 User (me.lucko.luckperms.common.model.User)20 Node (me.lucko.luckperms.api.Node)16 Set (java.util.Set)10 UUID (java.util.UUID)10 Track (me.lucko.luckperms.common.model.Track)10 NodeFactory (me.lucko.luckperms.common.node.NodeFactory)10 List (java.util.List)9 LuckPermsPlugin (me.lucko.luckperms.common.plugin.LuckPermsPlugin)9 Contexts (me.lucko.luckperms.api.Contexts)8 PermissionHolder (me.lucko.luckperms.common.model.PermissionHolder)8 Sender (me.lucko.luckperms.common.sender.Sender)8 HashSet (java.util.HashSet)7 Map (java.util.Map)7 Collectors (java.util.stream.Collectors)7 MutableContextSet (me.lucko.luckperms.api.context.MutableContextSet)7 CommandResult (me.lucko.luckperms.common.command.CommandResult)7 CommandPermission (me.lucko.luckperms.common.command.access.CommandPermission)7 LocaleManager (me.lucko.luckperms.common.locale.LocaleManager)7 CommandSpec (me.lucko.luckperms.common.locale.command.CommandSpec)7