fix(bungee): 玩家传送至不在线的服务器时报错

This commit is contained in:
2023-01-23 01:25:06 +08:00
parent e2c1439c4e
commit ef3d72589b

View File

@@ -96,6 +96,11 @@ public final class BallBungeeCordListener implements Listener, BallListener {
case SendPlayerToLocationEvent.ACTION: { case SendPlayerToLocationEvent.ACTION: {
SendPlayerToLocationEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), SendPlayerToLocationEvent.class); SendPlayerToLocationEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), SendPlayerToLocationEvent.class);
String serverID = event.getLocation().getServerID(); String serverID = event.getLocation().getServerID();
ServerInfo serverInfo = ProxyServer.getInstance().getServerInfo(serverID);
if (serverInfo == null) {
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 服务器 " + serverID + " 不在线!");
break;
}
for (UUID uuid : event.getSendPlayerUUID()) { for (UUID uuid : event.getSendPlayerUUID()) {
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(uuid); ProxiedPlayer player = ProxyServer.getInstance().getPlayer(uuid);
if (player == null) { if (player == null) {
@@ -104,7 +109,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
if (player.getServer().getInfo().getName().equals(serverID)) { if (player.getServer().getInfo().getName().equals(serverID)) {
continue; continue;
} }
player.connect(ProxyServer.getInstance().getServerInfo(serverID)); player.connect(serverInfo);
} }
break; break;
} }