Better fetching of players for spigot api
This commit is contained in:
@@ -7,6 +7,7 @@ import us.ajg0702.queue.api.spigot.MessagedResponse;
|
|||||||
import us.ajg0702.queue.spigot.SpigotMain;
|
import us.ajg0702.queue.spigot.SpigotMain;
|
||||||
import us.ajg0702.queue.spigot.communication.ResponseManager;
|
import us.ajg0702.queue.spigot.communication.ResponseManager;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
@@ -113,7 +114,7 @@ public class SpigotAPI extends AjQueueSpigotAPI {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Future<Integer> getPlayersInQueue(String queueName) {
|
public Future<Integer> getPlayersInQueue(String queueName) {
|
||||||
Player p = Bukkit.getOnlinePlayers().iterator().next();
|
Player p = getSomePlayer();
|
||||||
|
|
||||||
CompletableFuture<Integer> future = new CompletableFuture<>();
|
CompletableFuture<Integer> future = new CompletableFuture<>();
|
||||||
|
|
||||||
@@ -138,7 +139,7 @@ public class SpigotAPI extends AjQueueSpigotAPI {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Future<String> getServerStatusString(String queueName, UUID player) {
|
public Future<String> getServerStatusString(String queueName, UUID player) {
|
||||||
Player p = player == null ? Bukkit.getOnlinePlayers().iterator().next() : Bukkit.getPlayer(player);
|
Player p = player == null ? getSomePlayer() : Bukkit.getPlayer(player);
|
||||||
if(p == null) throw new IllegalArgumentException("Player must be online!");
|
if(p == null) throw new IllegalArgumentException("Player must be online!");
|
||||||
|
|
||||||
String channel = player == null ? "status" : "playerstatus";
|
String channel = player == null ? "status" : "playerstatus";
|
||||||
@@ -175,4 +176,10 @@ public class SpigotAPI extends AjQueueSpigotAPI {
|
|||||||
|
|
||||||
return future;
|
return future;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Player getSomePlayer() {
|
||||||
|
Collection<? extends Player> players = Bukkit.getOnlinePlayers();
|
||||||
|
if(players.size() == 0) return null;
|
||||||
|
return players.iterator().next();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -35,6 +35,8 @@ public class StatusPlayer extends Placeholder {
|
|||||||
String queue = matcher.group(1);
|
String queue = matcher.group(1);
|
||||||
UUIDStringKey key = new UUIDStringKey(p.getUniqueId(), queue);
|
UUIDStringKey key = new UUIDStringKey(p.getUniqueId(), queue);
|
||||||
|
|
||||||
|
if(!p.isOnline()) return "You aren't online!";
|
||||||
|
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
|
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
|
||||||
try {
|
try {
|
||||||
String response = AjQueueSpigotAPI.getInstance()
|
String response = AjQueueSpigotAPI.getInstance()
|
||||||
|
|||||||
Reference in New Issue
Block a user