如何更改播放器 Bungeecord 的服务器

How do I change the server of a player Bungeecord

我想知道如何移动播放器的目标服务器到目前为止我没有任何代码,我什么也没找到,但我正在为我的 Minecraft 服务器网络制作一个供私人使用的插件。我已经有一个名为 Command Sync 的插件,它将我的 BungeeCord 服务器和我的 Spigot 服务器与原版的 sync console bungee send @p tntwars 链接起来,其中 tntwars 是我的目标服务器。 这就是我所知道的,因为 Spigot 论坛很糟糕而且毫无用处>

如何将该播放器移动到另一个服务器?

来自蹦极插件:

https://www.spigotmc.org/wiki/sending-players-between-servers-in-bungeecord/

ServerInfo target = ProxyServer.getInstance().getServerInfo("Hub");
player.connect(target);

来自 Spigot 插件:

https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/#connect

将示例连接到服务器。 (当 Example 是连接到服务器的播放器发送命令时使用,例如 'kick' 到服务器)

 ByteArrayDataOutput out = ByteStreams.newDataOutput();
 out.writeUTF("Connect");
 out.writeUTF("pvp");    
 //applies to the player you send it to. aka Kick To Server.
 Player player = Bukkit.getPlayerExact("Example");
 player.sendPluginMessage(this, "BungeeCord", out.toByteArray());

将其他示例连接到服务器。 (当您需要将玩家从网络上的另一台服务器中拉出时使用,应注意确保它们不是迷你游戏或其他东西,因为您不一定拥有玩家的服务器状态上下文)

 ByteArrayDataOutput out = ByteStreams.newDataOutput();
 out.writeUTF("ConnectOther");
 out.writeUTF("Example");
 out.writeUTF("pvp");
 //Any online player at all.
 //Aka Pull To Server.
 Player player = Iterables.getFirst(Bukkit.getOnlinePlayers(), null);
 player.sendPluginMessage(this, "BungeeCord", out.toByteArray());

没有任何在线玩家,您无法向 Bungee 发送消息!