Merge branch 'dev' of gitlab.com:ajg0702/ajqueue into dev

# Conflicts:
#	api/src/main/java/us/ajg0702/queue/api/queues/QueueServer.java
This commit is contained in:
ajgeiss0702
2021-10-09 11:34:41 -07:00
9 changed files with 58 additions and 11 deletions
@@ -54,6 +54,7 @@ public class BaseCommand implements IBaseCommand {
sender.sendMessage(Component.text("Unimplemented command"));
}
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
public boolean checkPermission(ICommandSender sender) {
if(getPermission() != null && !sender.hasPermission(getPermission())) {
sender.sendMessage(getMessages().getComponent("noperm"));
@@ -33,6 +33,10 @@ public class EventHandlerImpl implements EventHandler {
try {
String subchannel = in.readUTF();
if(subchannel.equals("ack")) {
main.getPlatformMethods().sendPluginMessage(recievingPlayer, "ack", "yes, im here");
}
if(subchannel.equals("queue")) {
String rawData = in.readUTF();
String[] args = new String[1];
@@ -530,11 +530,7 @@ public class QueueManagerImpl implements QueueManager {
AdaptedPlayer player = p.getPlayer();
if(player == null) continue;
boolean bypassFull =
p.getPlayer().hasPermission("ajqueue.joinfull") ||
p.getPlayer().hasPermission("ajqueue.joinfullserver."+server.getName());
if(server.isFull() && !bypassFull) continue;
if(server.isFull() && !server.canJoinFull(p.getPlayer())) continue;
AdaptedServer selected = server.getIdealServer(player);
if(selected == null) {
@@ -580,7 +576,7 @@ public class QueueManagerImpl implements QueueManager {
if(!server.canAccess(nextPlayer)) continue;
if(server.isFull() && !nextPlayer.hasPermission("ajqueue.joinfull")) continue;
if(server.isFull() && !server.canJoinFull(nextPlayer)) continue;
if(main.getConfig().getBoolean("enable-bypasspaused-permission")) {
if(server.isPaused() && !nextPlayer.hasPermission("ajqueue.bypasspaused")) continue;
@@ -253,12 +253,16 @@ public class QueueServerImpl implements QueueServer {
@Override
public boolean isJoinable(AdaptedPlayer p) {
if(p != null && isWhitelisted() && !whitelistedUUIDs.contains(p.getUniqueId())) {
return false;
if(p != null) {
if (isWhitelisted() && !whitelistedUUIDs.contains(p.getUniqueId())) {
return false;
}
if (isFull() && !canJoinFull(p)) {
return false;
}
}
return isOnline() &&
canAccess(p) &&
!isFull() &&
!isPaused();
}
@@ -428,4 +432,13 @@ public class QueueServerImpl implements QueueServer {
public void setSupportedProtocols(List<Integer> list) {
supportedProtocols = new ArrayList<>(list);
}
@Override
public boolean canJoinFull(AdaptedPlayer player) {
return
player.hasPermission("ajqueue.joinfull") ||
player.hasPermission("ajqueue.joinfullserver."+name) ||
player.hasPermission("ajqueue.joinfullandbypassserver."+name) ||
player.hasPermission("ajqueue.joinfullandbypass");
}
}