PermissionManager.java
package dev.aura.bungeechat.permission;
import dev.aura.bungeechat.account.BungeecordAccountManager;
import dev.aura.bungeechat.api.account.BungeeChatAccount;
import dev.aura.bungeechat.message.Messages;
import dev.aura.bungeechat.message.MessagesService;
import lombok.experimental.UtilityClass;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
@UtilityClass
public class PermissionManager {
public static boolean hasPermissionNoMessage(ProxiedPlayer player, Permission permission) {
return player.hasPermission(permission.getStringedPermission());
}
public static boolean hasPermissionNoMessage(CommandSender sender, Permission permission) {
return !(sender instanceof ProxiedPlayer)
|| hasPermissionNoMessage((ProxiedPlayer) sender, permission);
}
public static boolean hasPermissionNoMessage(BungeeChatAccount account, Permission permission) {
return hasPermissionNoMessage(
BungeecordAccountManager.getCommandSender(account).get(), permission);
}
public static boolean hasPermission(ProxiedPlayer player, Permission permission) {
return hasPermission(player, permission, true);
}
public static boolean hasPermission(CommandSender sender, Permission permission) {
return !(sender instanceof ProxiedPlayer) || hasPermission((ProxiedPlayer) sender, permission);
}
public static boolean hasPermission(BungeeChatAccount account, Permission permission) {
return hasPermission(BungeecordAccountManager.getCommandSender(account).get(), permission);
}
public static boolean hasPermission(
ProxiedPlayer player, Permission permission, boolean sendMessage) {
if (hasPermissionNoMessage(player, permission)) return true;
else {
if (sendMessage && permission.getWarnOnLackingPermission()) {
MessagesService.sendMessage(player, Messages.NO_PERMISSION.get(player));
}
return false;
}
}
public static boolean hasPermission(
CommandSender sender, Permission permission, boolean sendMessage) {
return !(sender instanceof ProxiedPlayer)
|| hasPermission((ProxiedPlayer) sender, permission, sendMessage);
}
public static boolean hasPermission(
BungeeChatAccount account, Permission permission, boolean sendMessage) {
return hasPermission(
BungeecordAccountManager.getCommandSender(account).get(), permission, sendMessage);
}
}