server groups
This commit is contained in:
@@ -163,11 +163,11 @@ public class Main extends Plugin implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void moveServer(ServerSwitchEvent e) {
|
public void moveServer(ServerSwitchEvent e) {
|
||||||
ProxiedPlayer p = e.getPlayer();
|
ProxiedPlayer p = e.getPlayer();
|
||||||
List<Server> alreadyqueued = man.findPlayerInQueue(p);
|
List<QueueServer> alreadyqueued = man.findPlayerInQueue(p);
|
||||||
for(Server ser : alreadyqueued) {
|
for(QueueServer ser : alreadyqueued) {
|
||||||
List<ProxiedPlayer> queue = ser.getQueue();
|
List<ProxiedPlayer> queue = ser.getQueue();
|
||||||
int pos = queue.indexOf(p);
|
int pos = queue.indexOf(p);
|
||||||
if((pos == 0 && p.getServer().getInfo().equals(ser.getInfo())) || config.getBoolean("remove-player-on-server-switch")) {
|
if((pos == 0 && ser.getInfos().contains(p.getServer().getInfo())) || config.getBoolean("remove-player-on-server-switch")) {
|
||||||
queue.remove(p);
|
queue.remove(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -189,8 +189,8 @@ public class Main extends Plugin implements Listener {
|
|||||||
public void onLeave(PlayerDisconnectEvent e) {
|
public void onLeave(PlayerDisconnectEvent e) {
|
||||||
ProxiedPlayer p = e.getPlayer();
|
ProxiedPlayer p = e.getPlayer();
|
||||||
if(p.hasPermission("ajqueue.stay-queued-on-leave")) return;
|
if(p.hasPermission("ajqueue.stay-queued-on-leave")) return;
|
||||||
List<Server> servers = man.findPlayerInQueue(p);
|
List<QueueServer> servers = man.findPlayerInQueue(p);
|
||||||
for(Server server : servers) {
|
for(QueueServer server : servers) {
|
||||||
server.getQueue().remove(p);
|
server.getQueue().remove(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -198,9 +198,9 @@ public class Main extends Plugin implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void onFailedMove(ServerKickEvent e) {
|
public void onFailedMove(ServerKickEvent e) {
|
||||||
ProxiedPlayer p = e.getPlayer();
|
ProxiedPlayer p = e.getPlayer();
|
||||||
List<Server> queuedServers = man.findPlayerInQueue(p);
|
List<QueueServer> queuedServers = man.findPlayerInQueue(p);
|
||||||
for(Server server : queuedServers) {
|
for(QueueServer server : queuedServers) {
|
||||||
if(!(e.getKickedFrom().equals(server.getInfo()))) continue;
|
if(!(server.getInfos().contains(e.getKickedFrom()))) continue;
|
||||||
if(server.getQueue().indexOf(p) != 0) continue;
|
if(server.getQueue().indexOf(p) != 0) continue;
|
||||||
List<String> kickreasons = config.getStringList("kick-reasons");
|
List<String> kickreasons = config.getStringList("kick-reasons");
|
||||||
boolean hasReason = false;
|
boolean hasReason = false;
|
||||||
@@ -243,7 +243,7 @@ public class Main extends Plugin implements Listener {
|
|||||||
BungeeUtils.sendCustomData(player, "queuename", aliases.getAlias(man.getQueuedName(player)));
|
BungeeUtils.sendCustomData(player, "queuename", aliases.getAlias(man.getQueuedName(player)));
|
||||||
}
|
}
|
||||||
if(subchannel.equals("position")) {
|
if(subchannel.equals("position")) {
|
||||||
Server server = man.getSingleServer(player);
|
QueueServer server = man.getSingleServer(player);
|
||||||
String pos = msgs.get("placeholders.position.none");
|
String pos = msgs.get("placeholders.position.none");
|
||||||
if(server != null) {
|
if(server != null) {
|
||||||
pos = server.getQueue().indexOf(player)+1+"";
|
pos = server.getQueue().indexOf(player)+1+"";
|
||||||
@@ -251,7 +251,7 @@ public class Main extends Plugin implements Listener {
|
|||||||
BungeeUtils.sendCustomData(player, "position", pos);
|
BungeeUtils.sendCustomData(player, "position", pos);
|
||||||
}
|
}
|
||||||
if(subchannel.equals("positionof")) {
|
if(subchannel.equals("positionof")) {
|
||||||
Server server = man.getSingleServer(player);
|
QueueServer server = man.getSingleServer(player);
|
||||||
String pos = msgs.get("placeholders.position.none");
|
String pos = msgs.get("placeholders.position.none");
|
||||||
if(server != null) {
|
if(server != null) {
|
||||||
pos = server.getQueue().size()+"";
|
pos = server.getQueue().size()+"";
|
||||||
@@ -259,12 +259,12 @@ public class Main extends Plugin implements Listener {
|
|||||||
BungeeUtils.sendCustomData(player, "positionof", pos);
|
BungeeUtils.sendCustomData(player, "positionof", pos);
|
||||||
}
|
}
|
||||||
if(subchannel.equals("inqueue")) {
|
if(subchannel.equals("inqueue")) {
|
||||||
Server server = man.getSingleServer(player);
|
QueueServer server = man.getSingleServer(player);
|
||||||
BungeeUtils.sendCustomData(player, "inqueue", (server != null)+"");
|
BungeeUtils.sendCustomData(player, "inqueue", (server != null)+"");
|
||||||
}
|
}
|
||||||
if(subchannel.equals("queuedfor")) {
|
if(subchannel.equals("queuedfor")) {
|
||||||
String srv = in.readUTF();
|
String srv = in.readUTF();
|
||||||
Server server = man.findServer(srv);
|
QueueServer server = man.findServer(srv);
|
||||||
if(server == null) return;
|
if(server == null) return;
|
||||||
BungeeUtils.sendCustomData(player, "queuedfor", srv, server.getQueue().size()+"");
|
BungeeUtils.sendCustomData(player, "queuedfor", srv, server.getQueue().size()+"");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
package us.ajg0702.queue;
|
package us.ajg0702.queue;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
|
import net.md_5.bungee.api.ServerPing;
|
||||||
import net.md_5.bungee.api.chat.BaseComponent;
|
import net.md_5.bungee.api.chat.BaseComponent;
|
||||||
import net.md_5.bungee.api.chat.TextComponent;
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import net.md_5.bungee.api.config.ServerInfo;
|
import net.md_5.bungee.api.config.ServerInfo;
|
||||||
@@ -49,7 +51,7 @@ public class Manager {
|
|||||||
/*
|
/*
|
||||||
* Returns all servers
|
* Returns all servers
|
||||||
*/
|
*/
|
||||||
public List<Server> getServers() {
|
public List<QueueServer> getServers() {
|
||||||
return servers;
|
return servers;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +61,7 @@ public class Manager {
|
|||||||
*/
|
*/
|
||||||
public List<String> getServerNames() {
|
public List<String> getServerNames() {
|
||||||
List<String> names = new ArrayList<>();
|
List<String> names = new ArrayList<>();
|
||||||
for(Server s : servers) {
|
for(QueueServer s : servers) {
|
||||||
names.add(s.getName());
|
names.add(s.getName());
|
||||||
}
|
}
|
||||||
return names;
|
return names;
|
||||||
@@ -132,11 +134,11 @@ public class Manager {
|
|||||||
* @return The name of the server, the placeholder none message if not queued
|
* @return The name of the server, the placeholder none message if not queued
|
||||||
*/
|
*/
|
||||||
public String getQueuedName(ProxiedPlayer p) {
|
public String getQueuedName(ProxiedPlayer p) {
|
||||||
List<Server> queued = findPlayerInQueue(p);
|
List<QueueServer> queued = findPlayerInQueue(p);
|
||||||
if(queued.size() <= 0) {
|
if(queued.size() <= 0) {
|
||||||
return msgs.get("placeholders.queued.none");
|
return msgs.get("placeholders.queued.none");
|
||||||
}
|
}
|
||||||
Server selected = queued.get(0);
|
QueueServer selected = queued.get(0);
|
||||||
|
|
||||||
if(pl.config.getString("multi-server-queue-pick").equalsIgnoreCase("last")) {
|
if(pl.config.getString("multi-server-queue-pick").equalsIgnoreCase("last")) {
|
||||||
selected = queued.get(queued.size()-1);
|
selected = queued.get(queued.size()-1);
|
||||||
@@ -150,12 +152,12 @@ public class Manager {
|
|||||||
* @param p The player
|
* @param p The player
|
||||||
* @return The server that was chosen that the player is queued for.
|
* @return The server that was chosen that the player is queued for.
|
||||||
*/
|
*/
|
||||||
public Server getSingleServer(ProxiedPlayer p) {
|
public QueueServer getSingleServer(ProxiedPlayer p) {
|
||||||
List<Server> queued = findPlayerInQueue(p);
|
List<QueueServer> queued = findPlayerInQueue(p);
|
||||||
if(queued.size() <= 0) {
|
if(queued.size() <= 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Server selected = queued.get(0);
|
QueueServer selected = queued.get(0);
|
||||||
|
|
||||||
if(pl.config.getString("multi-server-queue-pick").equalsIgnoreCase("last")) {
|
if(pl.config.getString("multi-server-queue-pick").equalsIgnoreCase("last")) {
|
||||||
selected = queued.get(queued.size()-1);
|
selected = queued.get(queued.size()-1);
|
||||||
@@ -166,17 +168,52 @@ public class Manager {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<Server> servers = new ArrayList<>();
|
List<QueueServer> servers = new ArrayList<>();
|
||||||
/**
|
/**
|
||||||
* Checks servers that are in bungeecord and adds any it doesnt
|
* Checks servers that are in bungeecord and adds any it doesnt
|
||||||
* know about.
|
* know about.
|
||||||
|
*
|
||||||
|
* Also creates/edits server groups
|
||||||
*/
|
*/
|
||||||
public void reloadServers() {
|
public void reloadServers() {
|
||||||
Map<String, ServerInfo> svs = ProxyServer.getInstance().getServers();
|
Map<String, ServerInfo> svs = ProxyServer.getInstance().getServers();
|
||||||
for(String name : svs.keySet()) {
|
for(String name : svs.keySet()) {
|
||||||
if(findServer(name) != null) continue;
|
if(findServer(name) != null) continue;
|
||||||
ServerInfo info = svs.get(name);
|
ServerInfo info = svs.get(name);
|
||||||
servers.add(new Server(name, info));
|
servers.add(new QueueServer(name, info));
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> groupsraw = pl.config.getStringList("server-groups");
|
||||||
|
for(String groupraw : groupsraw) {
|
||||||
|
if(groupraw.isEmpty()) {
|
||||||
|
pl.getLogger().warning("Empty group string! If you dont want server groups, set server-groups like this: server-groups: []");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
String groupname = groupraw.split(":")[0];
|
||||||
|
String[] serversraw = groupraw.split(":")[1].split(",");
|
||||||
|
|
||||||
|
if(getServer(groupname) != null) {
|
||||||
|
pl.getLogger().warning("The name of a group ('"+groupname+"') cannot be the same as the name of a server!");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ServerInfo> servers = new ArrayList<>();
|
||||||
|
|
||||||
|
for(String serverraw : serversraw) {
|
||||||
|
ServerInfo si = svs.get(serverraw);
|
||||||
|
if(si == null) {
|
||||||
|
pl.getLogger().warning("Could not find server named '"+serverraw+"' in servergroup '"+groupname+"'!");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(servers.size() == 0) {
|
||||||
|
pl.getLogger().warning("Server group '"+groupname+"' has no servers! Ignoring it.");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.servers.add(new QueueServer(groupname, servers));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +225,7 @@ public class Manager {
|
|||||||
if(!pl.getConfig().getBoolean("send-actionbar")) return;
|
if(!pl.getConfig().getBoolean("send-actionbar")) return;
|
||||||
|
|
||||||
for(ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
|
for(ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
|
||||||
Server s = this.getSingleServer(p);
|
QueueServer s = this.getSingleServer(p);
|
||||||
|
|
||||||
if(s == null) continue;
|
if(s == null) continue;
|
||||||
List<ProxiedPlayer> plys = s.getQueue();
|
List<ProxiedPlayer> plys = s.getQueue();
|
||||||
@@ -312,7 +349,7 @@ public class Manager {
|
|||||||
* along with their time remaining
|
* along with their time remaining
|
||||||
*/
|
*/
|
||||||
public void sendMessages() {
|
public void sendMessages() {
|
||||||
for(Server s : servers) {
|
for(QueueServer s : servers) {
|
||||||
int ot = s.getOfflineTime();
|
int ot = s.getOfflineTime();
|
||||||
List<ProxiedPlayer> plys = s.getQueue();
|
List<ProxiedPlayer> plys = s.getQueue();
|
||||||
for(ProxiedPlayer ply : plys) {
|
for(ProxiedPlayer ply : plys) {
|
||||||
@@ -381,8 +418,8 @@ public class Manager {
|
|||||||
* @param name Name of the server
|
* @param name Name of the server
|
||||||
* @return The server if it exists (otherwise null)
|
* @return The server if it exists (otherwise null)
|
||||||
*/
|
*/
|
||||||
public Server findServer(String name) {
|
public QueueServer findServer(String name) {
|
||||||
for(Server server : servers) {
|
for(QueueServer server : servers) {
|
||||||
if(server.getName().equals(name)) {
|
if(server.getName().equals(name)) {
|
||||||
return server;
|
return server;
|
||||||
}
|
}
|
||||||
@@ -394,7 +431,7 @@ public class Manager {
|
|||||||
* Updates info about servers.
|
* Updates info about servers.
|
||||||
*/
|
*/
|
||||||
public void updateServers() {
|
public void updateServers() {
|
||||||
Iterator<Server> it = servers.iterator();
|
Iterator<QueueServer> it = servers.iterator();
|
||||||
while(it.hasNext()) {
|
while(it.hasNext()) {
|
||||||
it.next().update();
|
it.next().update();
|
||||||
}
|
}
|
||||||
@@ -411,7 +448,7 @@ public class Manager {
|
|||||||
* @param server The server to send the first player in the queue. null for all servers.
|
* @param server The server to send the first player in the queue. null for all servers.
|
||||||
*/
|
*/
|
||||||
public void sendPlayers(String server) {
|
public void sendPlayers(String server) {
|
||||||
for(Server s : servers) {
|
for(QueueServer s : servers) {
|
||||||
String name = s.getName();
|
String name = s.getName();
|
||||||
if(server != null && !server.equals(name)) continue;
|
if(server != null && !server.equals(name)) continue;
|
||||||
if(!s.isOnline()) continue;
|
if(!s.isOnline()) continue;
|
||||||
@@ -419,10 +456,36 @@ public class Manager {
|
|||||||
if(s.getQueue().size() <= 0) continue;
|
if(s.getQueue().size() <= 0) continue;
|
||||||
|
|
||||||
if(pl.config.getBoolean("send-all-when-back-online") && s.justWentOnline() && s.isOnline()) {
|
if(pl.config.getBoolean("send-all-when-back-online") && s.justWentOnline() && s.isOnline()) {
|
||||||
|
|
||||||
|
|
||||||
for(ProxiedPlayer p : s.getQueue()) {
|
for(ProxiedPlayer p : s.getQueue()) {
|
||||||
if(s.isFull() && !p.hasPermission("ajqueue.joinfull")) break;
|
|
||||||
|
if(s.isFull() && !p.hasPermission("ajqueue.joinfull")) continue;
|
||||||
|
|
||||||
|
HashMap<ServerInfo, ServerPing> serverInfos = s.getLastPings();
|
||||||
|
ServerInfo selected = null;
|
||||||
|
int selectednum = 0;
|
||||||
|
for(ServerInfo si : serverInfos.keySet()) {
|
||||||
|
ServerPing sp = serverInfos.get(si);
|
||||||
|
int online = sp.getPlayers().getOnline();
|
||||||
|
if(selected == null) {
|
||||||
|
selected = si;
|
||||||
|
selectednum = online;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(selectednum > online && findServer(si.getName()).isJoinable(p)) {
|
||||||
|
selected = si;
|
||||||
|
selectednum = online;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(selected == null) {
|
||||||
|
pl.getLogger().severe("Could not find ideal server for server/group '"+s.getName()+"'!");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
p.sendMessage(msgs.getBC("status.sending-now", "SERVER:"+pl.aliases.getAlias(name)));
|
p.sendMessage(msgs.getBC("status.sending-now", "SERVER:"+pl.aliases.getAlias(name)));
|
||||||
p.connect(s.getInfo());
|
p.connect(selected);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -446,7 +509,28 @@ public class Manager {
|
|||||||
if(s.isFull() && !nextplayer.hasPermission("ajqueue.joinfull")) continue;
|
if(s.isFull() && !nextplayer.hasPermission("ajqueue.joinfull")) continue;
|
||||||
|
|
||||||
nextplayer.sendMessage(Main.formatMessage(msgs.get("status.sending-now").replaceAll("\\{SERVER\\}", pl.aliases.getAlias(name))));
|
nextplayer.sendMessage(Main.formatMessage(msgs.get("status.sending-now").replaceAll("\\{SERVER\\}", pl.aliases.getAlias(name))));
|
||||||
nextplayer.connect(s.getInfo());
|
HashMap<ServerInfo, ServerPing> serverInfos = s.getLastPings();
|
||||||
|
ServerInfo selected = null;
|
||||||
|
int selectednum = 0;
|
||||||
|
for(ServerInfo si : serverInfos.keySet()) {
|
||||||
|
ServerPing sp = serverInfos.get(si);
|
||||||
|
int online = sp.getPlayers().getOnline();
|
||||||
|
if(selected == null) {
|
||||||
|
selected = si;
|
||||||
|
selectednum = online;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(selectednum > online && findServer(si.getName()).isJoinable(nextplayer)) {
|
||||||
|
selected = si;
|
||||||
|
selectednum = online;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(selected == null) {
|
||||||
|
pl.getLogger().severe("Could not find ideal server for server/group '"+s.getName()+"'!");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
nextplayer.connect(selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -456,7 +540,7 @@ public class Manager {
|
|||||||
* @param s The name of the server
|
* @param s The name of the server
|
||||||
*/
|
*/
|
||||||
public void addToQueue(ProxiedPlayer p, String s) {
|
public void addToQueue(ProxiedPlayer p, String s) {
|
||||||
Server server = findServer(s);
|
QueueServer server = findServer(s);
|
||||||
if(server == null) {
|
if(server == null) {
|
||||||
p.sendMessage(msgs.getBC("errors.server-not-exist"));
|
p.sendMessage(msgs.getBC("errors.server-not-exist"));
|
||||||
return;
|
return;
|
||||||
@@ -477,7 +561,7 @@ public class Manager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Server> beforeQueues = findPlayerInQueue(p);
|
List<QueueServer> beforeQueues = findPlayerInQueue(p);
|
||||||
if(beforeQueues.size() > 0) {
|
if(beforeQueues.size() > 0) {
|
||||||
if(beforeQueues.contains(server)) {
|
if(beforeQueues.contains(server)) {
|
||||||
p.sendMessage(msgs.getBC("errors.already-queued"));
|
p.sendMessage(msgs.getBC("errors.already-queued"));
|
||||||
@@ -485,7 +569,7 @@ public class Manager {
|
|||||||
}
|
}
|
||||||
if(!pl.config.getBoolean("allow-multiple-queues")) {
|
if(!pl.config.getBoolean("allow-multiple-queues")) {
|
||||||
p.sendMessage(msgs.getBC("status.left-last-queue"));
|
p.sendMessage(msgs.getBC("status.left-last-queue"));
|
||||||
for(Server ser : beforeQueues) {
|
for(QueueServer ser : beforeQueues) {
|
||||||
ser.getQueue().remove(p);
|
ser.getQueue().remove(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -549,9 +633,9 @@ public class Manager {
|
|||||||
* @param p The player to search for
|
* @param p The player to search for
|
||||||
* @return The servers the player is queued for.
|
* @return The servers the player is queued for.
|
||||||
*/
|
*/
|
||||||
public List<Server> findPlayerInQueue(ProxiedPlayer p) {
|
public List<QueueServer> findPlayerInQueue(ProxiedPlayer p) {
|
||||||
List<Server> srs = new ArrayList<>();
|
List<QueueServer> srs = new ArrayList<>();
|
||||||
for(Server s : servers) {
|
for(QueueServer s : servers) {
|
||||||
if(s.getQueue().contains(p)) {
|
if(s.getQueue().contains(p)) {
|
||||||
srs.add(s);
|
srs.add(s);
|
||||||
}
|
}
|
||||||
@@ -559,7 +643,7 @@ public class Manager {
|
|||||||
return srs;
|
return srs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Server getServer(String name) {
|
public QueueServer getServer(String name) {
|
||||||
return findServer(name);
|
return findServer(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|||||||
import net.md_5.bungee.api.plugin.Command;
|
import net.md_5.bungee.api.plugin.Command;
|
||||||
import us.ajg0702.queue.Main;
|
import us.ajg0702.queue.Main;
|
||||||
import us.ajg0702.queue.Manager;
|
import us.ajg0702.queue.Manager;
|
||||||
import us.ajg0702.queue.Server;
|
import us.ajg0702.queue.QueueServer;
|
||||||
import us.ajg0702.utils.bungee.BungeeMessages;
|
import us.ajg0702.utils.bungee.BungeeMessages;
|
||||||
|
|
||||||
public class LeaveCommand extends Command {
|
public class LeaveCommand extends Command {
|
||||||
@@ -27,7 +27,7 @@ public class LeaveCommand extends Command {
|
|||||||
}
|
}
|
||||||
Manager man = Manager.getInstance();
|
Manager man = Manager.getInstance();
|
||||||
ProxiedPlayer p = (ProxiedPlayer) sender;
|
ProxiedPlayer p = (ProxiedPlayer) sender;
|
||||||
List<Server> servers = man.findPlayerInQueue(p);
|
List<QueueServer> servers = man.findPlayerInQueue(p);
|
||||||
|
|
||||||
if(servers.size() == 0) {
|
if(servers.size() == 0) {
|
||||||
p.sendMessage(msgs.getBC("commands.leave.no-queues"));
|
p.sendMessage(msgs.getBC("commands.leave.no-queues"));
|
||||||
@@ -47,7 +47,7 @@ public class LeaveCommand extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String leaving = args[0];
|
String leaving = args[0];
|
||||||
Server leavingsrv = man.getServer(leaving);
|
QueueServer leavingsrv = man.getServer(leaving);
|
||||||
if(leavingsrv == null) {
|
if(leavingsrv == null) {
|
||||||
p.sendMessage(msgs.getBC("commands.leave.not-queued", "QUEUES:"+getQueueList(servers)));
|
p.sendMessage(msgs.getBC("commands.leave.not-queued", "QUEUES:"+getQueueList(servers)));
|
||||||
return;
|
return;
|
||||||
@@ -62,9 +62,9 @@ public class LeaveCommand extends Command {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getQueueList(List<Server> servers) {
|
private String getQueueList(List<QueueServer> servers) {
|
||||||
String queueList = "";
|
String queueList = "";
|
||||||
for(Server server : servers) {
|
for(QueueServer server : servers) {
|
||||||
queueList += msgs.get("commands.leave.queues-list-format").replaceAll("\\{NAME\\}", server.getName());
|
queueList += msgs.get("commands.leave.queues-list-format").replaceAll("\\{NAME\\}", server.getName());
|
||||||
}
|
}
|
||||||
if(queueList.length() > 2) {
|
if(queueList.length() > 2) {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|||||||
import net.md_5.bungee.api.plugin.Command;
|
import net.md_5.bungee.api.plugin.Command;
|
||||||
import us.ajg0702.queue.Main;
|
import us.ajg0702.queue.Main;
|
||||||
import us.ajg0702.queue.Manager;
|
import us.ajg0702.queue.Manager;
|
||||||
import us.ajg0702.queue.Server;
|
import us.ajg0702.queue.QueueServer;
|
||||||
import us.ajg0702.utils.bungee.BungeeMessages;
|
import us.ajg0702.utils.bungee.BungeeMessages;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -44,7 +44,7 @@ public class ManageCommand extends Command {
|
|||||||
}
|
}
|
||||||
if(args[0].equalsIgnoreCase("list")) {
|
if(args[0].equalsIgnoreCase("list")) {
|
||||||
int total = 0;
|
int total = 0;
|
||||||
for(Server server : Manager.getInstance().getServers()) {
|
for(QueueServer server : Manager.getInstance().getServers()) {
|
||||||
|
|
||||||
String msg = msgs.get("list.format").replaceAll("\\{SERVER\\}", server.getName());
|
String msg = msgs.get("list.format").replaceAll("\\{SERVER\\}", server.getName());
|
||||||
String playerlist = "";
|
String playerlist = "";
|
||||||
@@ -71,7 +71,7 @@ public class ManageCommand extends Command {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(args[0].equalsIgnoreCase("statusdebug")) {
|
if(args[0].equalsIgnoreCase("statusdebug")) {
|
||||||
Server s = Manager.getInstance().getSingleServer((ProxiedPlayer) sender);
|
QueueServer s = Manager.getInstance().getSingleServer((ProxiedPlayer) sender);
|
||||||
if(s == null) return;
|
if(s == null) return;
|
||||||
sender.sendMessage(Main.formatMessage(s.getJoinableDebug((ProxiedPlayer) sender)));
|
sender.sendMessage(Main.formatMessage(s.getJoinableDebug((ProxiedPlayer) sender)));
|
||||||
}
|
}
|
||||||
@@ -102,7 +102,7 @@ public class ManageCommand extends Command {
|
|||||||
sender.sendMessage(msgs.getBC(""));
|
sender.sendMessage(msgs.getBC(""));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Server srv = Manager.getInstance().findServer(args[1]);
|
QueueServer srv = Manager.getInstance().findServer(args[1]);
|
||||||
if(srv == null) {
|
if(srv == null) {
|
||||||
sender.sendMessage(msgs.getBC("commands.pause.no-server", "SERVER:"+args[1]));
|
sender.sendMessage(msgs.getBC("commands.pause.no-server", "SERVER:"+args[1]));
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ multi-server-queue-pick: last
|
|||||||
# for example, instead of showing players "event-a", this option can make it appear as "Event A"
|
# for example, instead of showing players "event-a", this option can make it appear as "Event A"
|
||||||
# With this example, you would use this: - "event-a:Event A"
|
# With this example, you would use this: - "event-a:Event A"
|
||||||
# Note that currently players still have to use the normal names in queue commands and leave commands
|
# Note that currently players still have to use the normal names in queue commands and leave commands
|
||||||
|
# Format: "realname:Alias"
|
||||||
server-aliases:
|
server-aliases:
|
||||||
- "event-a:Event A"
|
- "event-a:Event A"
|
||||||
|
|
||||||
@@ -110,3 +111,10 @@ send-all-when-back-online: false
|
|||||||
# Replace <server> with the name of the server
|
# Replace <server> with the name of the server
|
||||||
# Default: false
|
# Default: false
|
||||||
joinfrom-server-permission: false
|
joinfrom-server-permission: false
|
||||||
|
|
||||||
|
# Server groups are a group of servers that you can queue for. It will send you to the server that is the least full.
|
||||||
|
# If all servers in the group are full, it will act the same as it would when a single server is full.
|
||||||
|
# Same if all servers are offline. It will only send players to servers that are online.
|
||||||
|
# Format: "groupname:server1,server2,etc"
|
||||||
|
server-groups:
|
||||||
|
- "lobbys:lobby-1,lobby-2,lobby-3"
|
||||||
|
|||||||
Reference in New Issue
Block a user