Fixed an error that could happen when checking if a server is full
This commit is contained in:
+1
-1
@@ -134,7 +134,7 @@ public class BungeeMethods implements PlatformMethods {
|
||||
}
|
||||
if(found) continue;
|
||||
|
||||
serverList.add(new BungeeServer(serverInfo, plugin.getMain()));
|
||||
serverList.add(new BungeeServer(serverInfo));
|
||||
}
|
||||
|
||||
for(BungeeServer sv : new ArrayList<>(serverList)) {
|
||||
|
||||
+1
-1
@@ -145,7 +145,7 @@ public class BungeeQueue extends Plugin implements Listener, Implementation {
|
||||
Component reason = BungeeComponentSerializer.get().deserialize(e.getKickReasonComponent());
|
||||
main.getEventHandler().onServerKick(
|
||||
new BungeePlayer(e.getPlayer()),
|
||||
new BungeeServer(e.getKickedFrom(), main),
|
||||
new BungeeServer(e.getKickedFrom()),
|
||||
reason,
|
||||
false
|
||||
);
|
||||
|
||||
+4
-7
@@ -2,12 +2,12 @@ package us.ajg0702.queue.platforms.bungeecord.server;
|
||||
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import us.ajg0702.queue.api.AjQueueAPI;
|
||||
import us.ajg0702.queue.api.players.AdaptedPlayer;
|
||||
import us.ajg0702.queue.api.server.AdaptedServer;
|
||||
import us.ajg0702.queue.api.server.AdaptedServerInfo;
|
||||
import us.ajg0702.queue.api.server.AdaptedServerPing;
|
||||
import us.ajg0702.queue.api.util.QueueLogger;
|
||||
import us.ajg0702.queue.common.QueueMain;
|
||||
import us.ajg0702.queue.platforms.bungeecord.players.BungeePlayer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -27,12 +27,9 @@ public class BungeeServer implements AdaptedServer {
|
||||
|
||||
private int offlineTime = 0;
|
||||
|
||||
private final QueueMain main;
|
||||
|
||||
public BungeeServer(ServerInfo handle, QueueMain main) {
|
||||
public BungeeServer(ServerInfo handle) {
|
||||
this.handle = handle;
|
||||
serverInfo = new BungeeServerInfo(handle);
|
||||
this.main = main;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -113,13 +110,13 @@ public class BungeeServer implements AdaptedServer {
|
||||
player.hasPermission("ajqueue.joinfullserver."+getName()) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypassserver."+getName()) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypass") ||
|
||||
(main.isPremium() && main.getLogic().getPermissionGetter().hasUniqueFullBypass(player, getName()))
|
||||
(AjQueueAPI.getInstance().isPremium() && AjQueueAPI.getInstance().getLogic().getPermissionGetter().hasUniqueFullBypass(player, getName()))
|
||||
;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean justWentOnline() {
|
||||
return System.currentTimeMillis()-lastOffline <= (main.getConfig().getDouble("wait-time")) && isOnline();
|
||||
return System.currentTimeMillis()-lastOffline <= (AjQueueAPI.getInstance().getConfig().getDouble("wait-time")) && isOnline();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -159,7 +159,7 @@ public class VelocityMethods implements PlatformMethods {
|
||||
if(found) continue;
|
||||
|
||||
Debug.info("Added "+registeredServer.getServerInfo().getName());
|
||||
serverList.add(new VelocityServer(registeredServer, plugin.getMain()));
|
||||
serverList.add(new VelocityServer(registeredServer));
|
||||
}
|
||||
|
||||
for(VelocityServer sv : new ArrayList<>(serverList)) {
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@ public class VelocityQueue implements Implementation {
|
||||
Optional<Component> reasonOptional = e.getServerKickReason();
|
||||
main.getEventHandler().onServerKick(
|
||||
new VelocityPlayer(e.getPlayer()),
|
||||
new VelocityServer(e.getServer(), main),
|
||||
new VelocityServer(e.getServer()),
|
||||
reasonOptional.orElseGet(() -> Component.text("Proxy lost connection")),
|
||||
// According to Tux on discord, velocity doesnt give a reason when the proxy loses connection to the connected server
|
||||
e.kickedDuringServerConnect()
|
||||
|
||||
+6
-7
@@ -3,12 +3,13 @@ package us.ajg0702.queue.platforms.velocity.server;
|
||||
import com.velocitypowered.api.proxy.Player;
|
||||
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
||||
import com.velocitypowered.api.proxy.server.ServerPing;
|
||||
import us.ajg0702.queue.api.AjQueueAPI;
|
||||
import us.ajg0702.queue.api.players.AdaptedPlayer;
|
||||
import us.ajg0702.queue.api.server.AdaptedServer;
|
||||
import us.ajg0702.queue.api.server.AdaptedServerInfo;
|
||||
import us.ajg0702.queue.api.server.AdaptedServerPing;
|
||||
import us.ajg0702.queue.api.util.QueueLogger;
|
||||
import us.ajg0702.queue.common.QueueMain;
|
||||
import us.ajg0702.queue.common.utils.Debug;
|
||||
import us.ajg0702.queue.platforms.velocity.players.VelocityPlayer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -27,11 +28,8 @@ public class VelocityServer implements AdaptedServer {
|
||||
|
||||
private int offlineTime = 0;
|
||||
|
||||
private final QueueMain main;
|
||||
|
||||
public VelocityServer(RegisteredServer handle, QueueMain main) {
|
||||
public VelocityServer(RegisteredServer handle) {
|
||||
this.handle = handle;
|
||||
this.main = main;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -112,18 +110,19 @@ public class VelocityServer implements AdaptedServer {
|
||||
@Override
|
||||
public boolean canJoinFull(AdaptedPlayer player) {
|
||||
if(player == null) return true;
|
||||
Debug.info("on "+getName());
|
||||
return
|
||||
player.hasPermission("ajqueue.joinfull") ||
|
||||
player.hasPermission("ajqueue.joinfullserver."+getName()) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypassserver."+getName()) ||
|
||||
player.hasPermission("ajqueue.joinfullandbypass") ||
|
||||
(main.isPremium() && main.getLogic().getPermissionGetter().hasUniqueFullBypass(player, getName()))
|
||||
(AjQueueAPI.getInstance().isPremium() && AjQueueAPI.getInstance().getLogic().getPermissionGetter().hasUniqueFullBypass(player, getName()))
|
||||
;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean justWentOnline() {
|
||||
return System.currentTimeMillis()-lastOffline <= (main.getConfig().getDouble("wait-time")) && isOnline();
|
||||
return System.currentTimeMillis()-lastOffline <= (AjQueueAPI.getInstance().getConfig().getDouble("wait-time")) && isOnline();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user