unique fulljoinandbypassserver

This commit is contained in:
ajgeiss0702
2021-10-30 17:18:53 -07:00
parent d61c66cea5
commit 947ee78062
4 changed files with 19 additions and 2 deletions
@@ -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;