Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
ajgeiss0702
2021-12-21 21:26:50 -07:00
5 changed files with 29 additions and 1 deletions
@@ -256,6 +256,14 @@ public interface QueueServer {
*/ */
void addPlayer(AdaptedServer server); void addPlayer(AdaptedServer server);
/**
* Sets if this server is online.
* Note that this is overrided by the pinger, so if you set
* this, it will most likely be temporary
* @param online whether the server is online or not
*/
void setOnline(boolean online);
/** /**
* elliot is bad * elliot is bad
@@ -45,6 +45,10 @@ public class SlashServerCommand extends BaseCommand {
sender.sendMessage(getMessages().getComponent("errors.player-only")); sender.sendMessage(getMessages().getComponent("errors.player-only"));
return; return;
} }
if(main.getConfig().getBoolean("require-permission") && !sender.hasPermission("ajqueue.queue."+args[0])) {
sender.sendMessage(getMessages().getComponent("noperm"));
return;
}
main.getQueueManager().addToQueue(main.getPlatformMethods().senderToPlayer(sender), server); main.getQueueManager().addToQueue(main.getPlatformMethods().senderToPlayer(sender), server);
} }
@@ -49,6 +49,9 @@ public class QueueManagerImpl implements QueueManager {
if(previousServer != null) { if(previousServer != null) {
queueServer.setPaused(previousServer.isPaused()); queueServer.setPaused(previousServer.isPaused());
queueServer.setLastSentTime(previousServer.getLastSentTime()); queueServer.setLastSentTime(previousServer.getLastSentTime());
queueServer.setOnline(previousServer.isOnline());
queueServer.setWhitelisted(previousServer.isWhitelisted());
queueServer.setWhitelistedPlayers(previousServer.getWhitelistedPlayers());
} }
result.add(queueServer); result.add(queueServer);
} }
@@ -468,4 +468,9 @@ public class QueueServerImpl implements QueueServer {
if(!pings.containsKey(server)) throw new IllegalArgumentException("Server is not in this group!"); if(!pings.containsKey(server)) throw new IllegalArgumentException("Server is not in this group!");
pings.get(server).addPlayer(); pings.get(server).addPlayer();
} }
@Override
public void setOnline(boolean online) {
this.online = online;
}
} }
@@ -3,6 +3,7 @@ package us.ajg0702.queue.platforms.bungeecord;
import net.kyori.adventure.platform.bungeecord.BungeeAudiences; import net.kyori.adventure.platform.bungeecord.BungeeAudiences;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer; import net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.*; import net.md_5.bungee.api.event.*;
import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.api.plugin.Listener;
@@ -30,6 +31,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@SuppressWarnings("unused")
public class BungeeQueue extends Plugin implements Listener, Implementation { public class BungeeQueue extends Plugin implements Listener, Implementation {
private QueueMain main; private QueueMain main;
@@ -106,7 +108,13 @@ public class BungeeQueue extends Plugin implements Listener, Implementation {
if(!(e.getReceiver() instanceof ProxiedPlayer)) return; if(!(e.getReceiver() instanceof ProxiedPlayer)) return;
main.getEventHandler().handleMessage(new BungeePlayer((ProxiedPlayer) e.getReceiver()), e.getData()); ProxyServer.getInstance().getScheduler().runAsync(this, () ->
main.getEventHandler()
.handleMessage(
new BungeePlayer((ProxiedPlayer) e.getReceiver()),
e.getData()
)
);
} }
@EventHandler @EventHandler