Fix error when player leaves after getting kicked, and message for auto queue

This commit is contained in:
ajgeiss0702
2021-05-21 12:21:29 -07:00
parent 404bd5b77b
commit bfe4403c94
2 changed files with 9 additions and 2 deletions
+7 -2
View File
@@ -119,6 +119,7 @@ public class Main extends Plugin implements Listener {
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.");
msgs = BungeeMessages.getInstance(this, d);
@@ -215,7 +216,7 @@ public class Main extends Plugin implements Listener {
@EventHandler
public void onFailedMove(ServerKickEvent e) {
ProxiedPlayer p = e.getPlayer();
final ProxiedPlayer p = e.getPlayer();
List<QueueServer> queuedServers = man.findPlayerInQueue(p);
@@ -236,7 +237,11 @@ public class Main extends Plugin implements Listener {
}
if(shouldqueue || reasons.isEmpty()) {
plugin.getProxy().getScheduler().schedule(this, () -> {
man.addToQueue(p, e.getKickedFrom().getName());
if(!p.isConnected()) return;
String toName = e.getKickedFrom().getName();
p.sendMessage(msgs.getBC("auto-queued", "SERVER:"+toName));
man.addToQueue(p, toName);
}, (long) (config.getDouble("auto-add-to-queue-on-kick-delay")*1000), TimeUnit.MILLISECONDS);
}
@@ -615,11 +615,13 @@ public class Manager {
* @param s The name of the server
*/
public void addToQueue(ProxiedPlayer p, String s) {
if(p == null || s == null) return;
QueueServer server = findServer(s);
if(server == null) {
p.sendMessage(msgs.getBC("errors.server-not-exist"));
return;
}
if(!p.isConnected()) return;
if(pl.config.getBoolean("joinfrom-server-permission") && !p.hasPermission("ajqueue.joinfrom."+p.getServer().getInfo().getName())) {
p.sendMessage(msgs.getBC("errors.deny-joining-from-server"));