fix(bungee): 玩家传送至不在线的服务器时报错
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user