unique fulljoinandbypassserver
This commit is contained in:
@@ -13,4 +13,6 @@ public interface PermissionGetter {
|
||||
int getServerPriotity(String server, AdaptedPlayer player);
|
||||
|
||||
boolean hasContextBypass(AdaptedPlayer player, String server);
|
||||
|
||||
boolean hasUniqueFullBypass(AdaptedPlayer player, String server);
|
||||
}
|
||||
|
||||
@@ -451,7 +451,9 @@ public class QueueServerImpl implements QueueServer {
|
||||
player.hasPermission("ajqueue.joinfull") ||
|
||||
player.hasPermission("ajqueue.joinfullserver."+name) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypassserver."+name) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypass");
|
||||
player.hasPermission("ajqueue.joinfullandbypass") ||
|
||||
(main.isPremium() && main.getLogic().getPermissionGetter().hasUniqueFullBypass(player, name))
|
||||
;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -41,7 +41,8 @@ public class PremiumLogic implements Logic {
|
||||
player.hasPermission("ajqueue.serverbypass."+server.getName()) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypassserver."+server.getName()) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypass") ||
|
||||
permissionGetter.hasContextBypass(player, server.getName())
|
||||
permissionGetter.hasContextBypass(player, server.getName()) ||
|
||||
(main.isPremium() && main.getLogic().getPermissionGetter().hasUniqueFullBypass(player, server.getName()))
|
||||
) {
|
||||
if(debug) {
|
||||
logger.info("[priority] "+player.getName()+" bypass");
|
||||
|
||||
@@ -69,6 +69,18 @@ public class PermissionGetterImpl implements PermissionGetter {
|
||||
return perms.contains("ajqueue.serverbypass."+server);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasUniqueFullBypass(AdaptedPlayer player, String server) {
|
||||
if(player.hasPermission("ajqueue.joinfullandbypassserver."+server)) return true;
|
||||
|
||||
if(getSelected() == null) {
|
||||
return false;
|
||||
}
|
||||
List<String> perms = getSelected().getPermissions(player);
|
||||
perms.removeIf(s -> !s.startsWith("ajqueue.joinfullandbypassserver."+server));
|
||||
return perms.size() > 0;
|
||||
}
|
||||
|
||||
private int getHighestPermission(AdaptedPlayer player, String prefix) {
|
||||
if(getSelected() == null) {
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user