diff --git a/src/main/java/us/ajg0702/queue/Main.java b/src/main/java/us/ajg0702/queue/Main.java index 58cc4f0..989e47a 100644 --- a/src/main/java/us/ajg0702/queue/Main.java +++ b/src/main/java/us/ajg0702/queue/Main.java @@ -110,7 +110,13 @@ public class Main extends Plugin implements Listener { ProxiedPlayer p = e.getPlayer(); Server alreadyqueued = man.findPlayerInQueue(p); if(alreadyqueued != null) { - alreadyqueued.getQueue().remove(p); + List queue = alreadyqueued.getQueue(); + int pos = queue.indexOf(p); + if(pos == 0) { + queue.remove(p); + } else if(config.getBoolean("remove-player-on-server-switch")) { + queue.remove(p); + } } String servername = e.getPlayer().getServer().getInfo().getName(); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 99d5ce1..a46a838 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -27,4 +27,12 @@ send-actionbar: true # a server in a queue with a message saying "You are banned from this server!" then it will kick them from the queue too. kick-reasons: - 'banned' -- 'blacklisted' \ No newline at end of file +- 'blacklisted' + + +# Should we remove a player from the queue if they move servers? +# If they join another queue, they will be removed from the previous one no matter what +# This is more meant for if you have multiple lobbies if you want to let the player switch +# between them without losing their queue position +# Default: true +remove-player-on-server-switch: true \ No newline at end of file