Skip to content

Commit

Permalink
Use .setCancelServers() for fallbacks
Browse files Browse the repository at this point in the history
This method (as far as I know) is exclusive to GalaxiBungee. The old method is still available as a fallback.
  • Loading branch information
ME1312 committed May 23, 2019
1 parent b808a62 commit 8514ea5
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 6 deletions.
Expand Up @@ -34,7 +34,7 @@ public ServerInfo getServer(ProxiedPlayer player) {
if (fallbacks.isEmpty()) {
return null;
} else {
if (player instanceof UserConnection) ((UserConnection) player).setServerJoinQueue(new LinkedBlockingQueue<>(fallbacks.keySet()));
if (player instanceof UserConnection) ((UserConnection) player).setServerJoinQueue(new LinkedList<>(fallbacks.keySet()));
return new LinkedList<Map.Entry<String, ServerInfo>>(fallbacks.entrySet()).getFirst().getValue();
}
}
Expand Down
Expand Up @@ -856,8 +856,10 @@ public void fallback(ServerKickEvent e) {

ServerInfo next = new LinkedList<Map.Entry<String, ServerInfo>>(fallbacks.entrySet()).getFirst().getValue();
e.setCancelServer(next);
((UserConnection) e.getPlayer()).setServerJoinQueue(new LinkedBlockingQueue<>(fallbacks.keySet()));
((UserConnection) e.getPlayer()).connect(next, null, true);
if (Util.isException(() -> Util.reflect(ServerKickEvent.class.getDeclaredMethod("setCancelServers", ServerInfo[].class), e, (Object) fallbacks.values().toArray(new ServerInfo[0])))) {
((UserConnection) e.getPlayer()).setServerJoinQueue(new LinkedBlockingQueue<>(fallbacks.keySet()));
((UserConnection) e.getPlayer()).connect(next, null, true);
}
}
}
}
Expand Down
Expand Up @@ -34,7 +34,7 @@ public ServerInfo getServer(ProxiedPlayer player) {
if (fallbacks.isEmpty()) {
return null;
} else {
if (player instanceof UserConnection) ((UserConnection) player).setServerJoinQueue(new LinkedBlockingQueue<>(fallbacks.keySet()));
if (player instanceof UserConnection) ((UserConnection) player).setServerJoinQueue(new LinkedList<>(fallbacks.keySet()));
return new LinkedList<Map.Entry<String, ServerInfo>>(fallbacks.entrySet()).getFirst().getValue();
}
}
Expand Down
6 changes: 4 additions & 2 deletions SubServers.Sync/src/net/ME1312/SubServers/Sync/SubPlugin.java
Expand Up @@ -354,8 +354,10 @@ public void fallback(ServerKickEvent e) {

ServerInfo next = new LinkedList<Map.Entry<String, ServerInfo>>(fallbacks.entrySet()).getFirst().getValue();
e.setCancelServer(next);
((UserConnection) e.getPlayer()).setServerJoinQueue(new LinkedBlockingQueue<>(fallbacks.keySet()));
((UserConnection) e.getPlayer()).connect(next, null, true);
if (Util.isException(() -> Util.reflect(ServerKickEvent.class.getDeclaredMethod("setCancelServers", ServerInfo[].class), e, (Object) fallbacks.values().toArray(new ServerInfo[0])))) {
((UserConnection) e.getPlayer()).setServerJoinQueue(new LinkedList<>(fallbacks.keySet()));
((UserConnection) e.getPlayer()).connect(next, null, true);
}
}
}
}
Expand Down

0 comments on commit 8514ea5

Please sign in to comment.