LuckPerms dependency
This commit is contained in:
40
src/cz/marwland/mc/core/util/UserUtil.java
Normal file
40
src/cz/marwland/mc/core/util/UserUtil.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user