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