add canJoinFull method
This commit is contained in:
@@ -3,6 +3,7 @@ package us.ajg0702.queue.api.commands;
|
|||||||
import net.kyori.adventure.audience.Audience;
|
import net.kyori.adventure.audience.Audience;
|
||||||
import us.ajg0702.queue.api.util.Handle;
|
import us.ajg0702.queue.api.util.Handle;
|
||||||
|
|
||||||
|
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
|
||||||
public interface ICommandSender extends Handle, Audience {
|
public interface ICommandSender extends Handle, Audience {
|
||||||
boolean hasPermission(String permission);
|
boolean hasPermission(String permission);
|
||||||
boolean isPlayer();
|
boolean isPlayer();
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import java.util.UUID;
|
|||||||
/**
|
/**
|
||||||
* Represents a server or a group that can be queued for
|
* Represents a server or a group that can be queued for
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings({"unused", "BooleanMethodIsAlwaysInverted"})
|
||||||
public interface QueueServer {
|
public interface QueueServer {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -232,6 +232,13 @@ public interface QueueServer {
|
|||||||
*/
|
*/
|
||||||
void setSupportedProtocols(List<Integer> list);
|
void setSupportedProtocols(List<Integer> list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the player can join this server even if its full
|
||||||
|
* @param player The player
|
||||||
|
* @return If the player can join this server if its full
|
||||||
|
*/
|
||||||
|
boolean canJoinFull(AdaptedPlayer player);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* elliot is bad
|
* elliot is bad
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ public class BaseCommand implements IBaseCommand {
|
|||||||
sender.sendMessage(Component.text("Unimplemented command"));
|
sender.sendMessage(Component.text("Unimplemented command"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
|
||||||
public boolean checkPermission(ICommandSender sender) {
|
public boolean checkPermission(ICommandSender sender) {
|
||||||
if(getPermission() != null && !sender.hasPermission(getPermission())) {
|
if(getPermission() != null && !sender.hasPermission(getPermission())) {
|
||||||
sender.sendMessage(getMessages().getComponent("noperm"));
|
sender.sendMessage(getMessages().getComponent("noperm"));
|
||||||
|
|||||||
@@ -528,11 +528,7 @@ public class QueueManagerImpl implements QueueManager {
|
|||||||
AdaptedPlayer player = p.getPlayer();
|
AdaptedPlayer player = p.getPlayer();
|
||||||
if(player == null) continue;
|
if(player == null) continue;
|
||||||
|
|
||||||
boolean bypassFull =
|
if(server.isFull() && !server.canJoinFull(p.getPlayer())) continue;
|
||||||
p.getPlayer().hasPermission("ajqueue.joinfull") ||
|
|
||||||
p.getPlayer().hasPermission("ajqueue.joinfullserver."+server.getName());
|
|
||||||
|
|
||||||
if(server.isFull() && !bypassFull) continue;
|
|
||||||
|
|
||||||
AdaptedServer selected = server.getIdealServer(player);
|
AdaptedServer selected = server.getIdealServer(player);
|
||||||
if(selected == null) {
|
if(selected == null) {
|
||||||
@@ -578,7 +574,7 @@ public class QueueManagerImpl implements QueueManager {
|
|||||||
|
|
||||||
if(!server.canAccess(nextPlayer)) continue;
|
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(main.getConfig().getBoolean("enable-bypasspaused-permission")) {
|
||||||
if(server.isPaused() && !nextPlayer.hasPermission("ajqueue.bypasspaused")) continue;
|
if(server.isPaused() && !nextPlayer.hasPermission("ajqueue.bypasspaused")) continue;
|
||||||
|
|||||||
@@ -428,4 +428,9 @@ public class QueueServerImpl implements QueueServer {
|
|||||||
public void setSupportedProtocols(List<Integer> list) {
|
public void setSupportedProtocols(List<Integer> list) {
|
||||||
supportedProtocols = new ArrayList<>(list);
|
supportedProtocols = new ArrayList<>(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canJoinFull(AdaptedPlayer player) {
|
||||||
|
return player.hasPermission("ajqueue.joinfull") || player.hasPermission("ajqueue.joinfullserver."+name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user