diff --git a/src/main/java/us/ajg0702/queue/Main.java b/src/main/java/us/ajg0702/queue/Main.java index d693c03..336222c 100644 --- a/src/main/java/us/ajg0702/queue/Main.java +++ b/src/main/java/us/ajg0702/queue/Main.java @@ -65,7 +65,7 @@ public class Main extends Plugin implements Listener { d.put("status.online.base", "&7You are in position &f{POS}&7 of &f{LEN}&7. Estimated time: {TIME}"); d.put("status.left-last-queue", "&aYou left the last queue you were in."); - d.put("status.now-in-queue", "&aYou are now queued for {SERVER}! &7You are in position &f{POS}&7 of &f{LEN}&7.\n&7Type &f/leavequeue&7 to leave the queue!"); + d.put("status.now-in-queue", "&aYou are now queued for {SERVER}! &7You are in position &f{POS}&7 of &f{LEN}&7.\n&7Type &f/leavequeue&7 or &fclick here&7 to leave the queue!"); d.put("status.now-in-empty-queue", ""); d.put("status.sending-now", "&aSending you to &f{SERVER} &anow.."); @@ -113,7 +113,7 @@ public class Main extends Plugin implements Listener { d.put("commands.send.player-not-found", "&cThat player could not be found. Make sure they are online!"); d.put("commands.listqueues.header", "&9Queues:"); - d.put("commands.listqueues.format", "{COLOR}{NAME}&7: {COUNT} queued"); + d.put("commands.listqueues.format", "{COLOR}{NAME}&7: {COUNT} queued"); d.put("max-tries-reached", "&cUnable to connect to {SERVER}. Max retries reached."); d.put("auto-queued", "&aYou've been auto-queued for {SERVER} because you were kicked."); diff --git a/src/main/java/us/ajg0702/queue/Manager.java b/src/main/java/us/ajg0702/queue/Manager.java index f6b1474..23ddc94 100644 --- a/src/main/java/us/ajg0702/queue/Manager.java +++ b/src/main/java/us/ajg0702/queue/Manager.java @@ -277,29 +277,8 @@ public class Manager { int len = plys.size(); if(!s.isJoinable(p)) { - String status = "unknown"; - - - if(!s.canAccess(p)) { - status = msgs.getString("status.offline.restricted"); - } - - if(s.isFull()) { - status = msgs.getString("status.offline.full"); - } - - if(s.isPaused()) { - status = msgs.getString("status.offline.paused"); - } - - if(!s.isOnline()) { - status = msgs.getString("status.offline.restarting"); - } - - if(s.getOfflineTime() > pl.config.getInt("offline-time")) { - status = msgs.getString("status.offline.offline"); - } - + String status = s.getStatusString(p); + p.sendMessage(ChatMessageType.ACTION_BAR, msgs.getBC("spigot.actionbar.offline", "POS:"+pos, @@ -375,23 +354,7 @@ public class Manager { int ot = s.getOfflineTime(); if(!s.isJoinable(ply)) { - String status = msgs.getString("status.offline.restarting"); - - if(ot > pl.config.getInt("offline-time")) { - status = msgs.getString("status.offline.offline"); - } - - if(s.isFull() && s.isOnline()) { - status = msgs.getString("status.offline.full"); - } - - if(!s.canAccess(ply)) { - status = msgs.getString("status.offline.restricted"); - } - - if(s.isPaused()) { - status = msgs.getString("status.offline.paused"); - } + String status = s.getStatusString(ply); if(status.isEmpty()) return; @@ -709,7 +672,8 @@ public class Manager { p.sendMessage(msgs.getBC("status.now-in-queue", "POS:"+pos, "LEN:"+len, - "SERVER:"+pl.aliases.getAlias(server.getName()) + "SERVER:"+pl.aliases.getAlias(server.getName()), + "SERVERNAME:"+server.getName() )); } //p.sendMessage(Main.formatMessage(sendInstant+" && ("+sendInstantp+" && " + timeGood+")")); diff --git a/src/main/java/us/ajg0702/queue/QueueServer.java b/src/main/java/us/ajg0702/queue/QueueServer.java index 7cb3c91..b2fe926 100644 --- a/src/main/java/us/ajg0702/queue/QueueServer.java +++ b/src/main/java/us/ajg0702/queue/QueueServer.java @@ -11,6 +11,7 @@ import net.md_5.bungee.api.ServerPing; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; import us.ajg0702.utils.bungee.BungeeConfig; +import us.ajg0702.utils.bungee.BungeeMessages; public class QueueServer { @@ -84,6 +85,33 @@ public class QueueServer { }); } } + + public String getStatusString(ProxiedPlayer p) { + BungeeMessages msgs = Main.plugin.msgs; + + if(getOfflineTime() > Main.plugin.getConfig().getInt("offline-time")) { + return msgs.getString("status.offline.offline"); + } + + if(!isOnline()) { + return msgs.getString("status.offline.restarting"); + } + + if(isPaused()) { + return msgs.getString("status.offline.paused"); + } + + if(isFull()) { + return msgs.getString("status.offline.full"); + } + + if(p != null && !canAccess(p)) { + return msgs.getString("status.offline.restricted"); + } + + + return "Online"; + } public HashMap getLastPings() { return pings; diff --git a/src/main/java/us/ajg0702/queue/commands/LeaveCommand.java b/src/main/java/us/ajg0702/queue/commands/LeaveCommand.java index 0021a57..87e9521 100644 --- a/src/main/java/us/ajg0702/queue/commands/LeaveCommand.java +++ b/src/main/java/us/ajg0702/queue/commands/LeaveCommand.java @@ -63,13 +63,13 @@ public class LeaveCommand extends Command { } private String getQueueList(List servers) { - String queueList = ""; + StringBuilder queueList = new StringBuilder(); for(QueueServer server : servers) { - queueList += msgs.get("commands.leave.queues-list-format").replaceAll("\\{NAME\\}", server.getName()); + queueList.append(msgs.getString("commands.leave.queues-list-format").replaceAll("\\{NAME\\}", server.getName())); } if(queueList.length() > 2) { - queueList = queueList.substring(0, queueList.length()-2); + queueList = new StringBuilder(queueList.substring(0, queueList.length() - 2)); } - return queueList; + return queueList.toString(); } } diff --git a/src/main/java/us/ajg0702/queue/commands/ListCommand.java b/src/main/java/us/ajg0702/queue/commands/ListCommand.java index abac828..1d53230 100644 --- a/src/main/java/us/ajg0702/queue/commands/ListCommand.java +++ b/src/main/java/us/ajg0702/queue/commands/ListCommand.java @@ -1,6 +1,7 @@ package us.ajg0702.queue.commands; import net.md_5.bungee.api.CommandSender; +import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Command; @@ -9,6 +10,9 @@ import us.ajg0702.queue.Manager; import us.ajg0702.queue.QueueServer; import us.ajg0702.utils.bungee.BungeeMessages; +import java.util.ArrayList; +import java.util.Arrays; + public class ListCommand extends Command { Main pl; BungeeMessages msgs; @@ -31,7 +35,7 @@ public class ListCommand extends Command { spp = (ProxiedPlayer) sender; } - String m = msgs.get("commands.listqueues.header"); + ArrayList m = new ArrayList<>(Arrays.asList(msgs.getBC("commands.listqueues.header"))); for(QueueServer s : Manager.getInstance().getServers()) { String color = "&a"; if(!s.isOnline()) { @@ -39,13 +43,17 @@ public class ListCommand extends Command { } else if(!s.isJoinable(spp)) { color = "&e"; } - m += "\n"+msgs.get("commands.listqueues.format") - .replaceAll("\\{COLOR\\}", msgs.color(color)) - .replaceAll("\\{NAME\\}", s.getName()) - .replaceAll("\\{COUNT\\}", s.getQueue().size()+""); + + m.addAll(Arrays.asList(TextComponent.fromLegacyText("\n"))); + m.addAll(Arrays.asList(msgs.getBC("commands.listqueues.format", + "COLOR:" + msgs.color(color), + "NAME:" + s.getName(), + "COUNT:" + s.getQueue().size(), + "STATUS:" + s.getStatusString(spp) + ))); } - sender.sendMessage(TextComponent.fromLegacyText(m)); + sender.sendMessage(m.toArray(new BaseComponent[m.size()-1])); } }