use of me.lucko.luckperms.common.model.User in project LuckPerms by lucko.
the class VaultChatHook method setChatMeta.
private void setChatMeta(PermissionHolder holder, ChatMetaType type, String value, String world) {
if (log()) {
logMsg("#setChatMeta: %s - %s - %s - %s", holder.getFriendlyName(), type, value, world);
}
this.permissionHook.getExecutor().execute(() -> {
// remove all prefixes/suffixes directly set on the user/group
holder.removeIf(type::matches);
if (value == null) {
this.permissionHook.holderSave(holder);
return;
}
// find the max inherited priority & add 10
MetaAccumulator metaAccumulator = holder.accumulateMeta(null, createContextForWorldSet(world));
int priority = (type == ChatMetaType.PREFIX ? metaAccumulator.getPrefixes() : metaAccumulator.getSuffixes()).keySet().stream().mapToInt(e -> e).max().orElse(0) + 10;
Node.Builder chatMetaNode = NodeFactory.buildChatMetaNode(type, priority, value);
chatMetaNode.setServer(this.permissionHook.getVaultServer());
chatMetaNode.setWorld(world);
holder.setPermission(chatMetaNode.build());
this.permissionHook.holderSave(holder);
});
}
use of me.lucko.luckperms.common.model.User in project LuckPerms by lucko.
the class VaultChatHook method setUserChatSuffix.
@Override
public void setUserChatSuffix(String world, UUID uuid, String suffix) {
if (uuid == null) {
return;
}
User user = getUser(uuid);
if (user == null) {
return;
}
setChatMeta(user, ChatMetaType.SUFFIX, suffix, world);
}
use of me.lucko.luckperms.common.model.User in project LuckPerms by lucko.
the class VaultChatHook method getUserMeta.
@Override
public String getUserMeta(String world, UUID uuid, String key) {
if (uuid == null) {
return null;
}
Objects.requireNonNull(key, "key");
User user = getUser(uuid);
if (user == null) {
return null;
}
Contexts contexts = this.permissionHook.contextForLookup(user, world);
MetaCache metaData = user.getCachedData().getMetaData(contexts);
String ret = metaData.getMeta().get(key);
if (log()) {
logMsg("#getUserMeta: %s - %s - %s - %s", user.getFriendlyName(), contexts.getContexts().toMultimap(), key, ret);
}
return ret;
}
use of me.lucko.luckperms.common.model.User in project LuckPerms by lucko.
the class VaultChatHook method setUserMeta.
@Override
public void setUserMeta(String world, UUID uuid, String key, Object value) {
if (uuid == null) {
return;
}
Objects.requireNonNull(key, "key");
User user = getUser(uuid);
if (user == null) {
return;
}
setMeta(user, key, value, world);
}
use of me.lucko.luckperms.common.model.User in project LuckPerms by lucko.
the class VaultChatHook method getUserChatPrefix.
@Override
public String getUserChatPrefix(String world, UUID uuid) {
if (uuid == null) {
return null;
}
User user = getUser(uuid);
if (user == null) {
return null;
}
Contexts contexts = this.permissionHook.contextForLookup(user, world);
MetaCache metaData = user.getCachedData().getMetaData(contexts);
String ret = metaData.getPrefix();
if (log()) {
logMsg("#getUserChatPrefix: %s - %s - %s", user.getFriendlyName(), contexts.getContexts().toMultimap(), ret);
}
return Strings.nullToEmpty(ret);
}
Aggregations