LuckPerms dependency

This commit is contained in:
2018-09-09 19:14:49 +02:00
parent 2774ac7ab1
commit 1653ceb5fe
4 changed files with 59 additions and 6 deletions

View File

@ -0,0 +1,40 @@
package cz.marwland.mc.core.util;
import org.bukkit.entity.Player;
import me.lucko.luckperms.LuckPerms;
import me.lucko.luckperms.api.Contexts;
import me.lucko.luckperms.api.LuckPermsApi;
import me.lucko.luckperms.api.User;
import me.lucko.luckperms.api.caching.MetaData;
import me.lucko.luckperms.api.caching.PermissionData;
import me.lucko.luckperms.api.context.ImmutableContextSet;
public class UserUtil {
private static final LuckPermsApi api = LuckPerms.getApi();
public static User getOnlineUser(Player p) {
if (!p.isOnline()) {
throw new IllegalStateException("Player is offline");
}
return api.getUserManager().getUser(p.getUniqueId());
}
public static Contexts getPlayersContexts(Player p) {
//ImmutableContextSet contextSet = api.getContextManager().getApplicableContext(p);
Contexts contexts = api.getContextManager().getApplicableContexts(p);
return contexts;
}
public static String getPlayersMeta(Player player, String key, String defaultValue) {
User user = getOnlineUser(player);
MetaData metaData = user.getCachedData().getMetaData(getPlayersContexts(player));
return metaData.getMeta().getOrDefault(key, defaultValue);
}
public static String getPlayersMeta(Player player, String key) {
return getPlayersMeta(player, key, null);
}
}