BungeeBridge 是一款用于在 Spigot 服务器与 BungeeCord 代理之间建立通信的 API。它允许运行在 Spigot 端的插件通过一系列预定义的数据包与 BungeeCord 进行交互,实现跨服功能,如获取玩家信息、发送消息、执行命令等。请注意,您必须在 Spigot 和 BungeeCord 两端安装对应版本的组件,并确保版本一致。
BungeeBridge.zip。BungeeBridge_Client.jar 复制到 Spigot 服务器的 plugins/ 目录下,将 BungeeBridge_Server.jar 复制到 BungeeCord 的 plugins/ 目录下。plugins 文件夹,确认插件已生成配置文件。config.yml 文件。以下代码演示了如何检查指定玩家是否在网络的任一服务器上。
PacketIsPlayerOnline packet = new PacketIsPlayerOnline("dommi2212");
Object obj = packet.send();
IsOnlineResult isOnline = (IsOnlineResult) obj;
if(isOnline == IsOnlineResult.ONLINE) {
System.out.println("Yeah! Dommi is online!");
}步骤解析:
PacketIsPlayerOnline 数据包,参数为玩家名 "dommi2212"。packet.send() 方法返回一个 Object。obj 转换为 IsOnlineResult 类型(每个数据包的描述中都会注明返回类型)。注意: 通常建议异步运行 packet.send() 以避免阻塞主线程。
关于如何使用 PacketCustom 发送自定义主题和数据的详细教程,已移至 BungeeBridge Wiki。
BungeeBridge 提供了事件 API,允许 Spigot 端在 BungeeCord 端触发事件。这需要您对 Java、Spigot、BungeeCord 和 BungeeBridge 有深入的了解。
工作原理简述:
PacketFireEvent 并发送给 BungeeBridgeS。toEvent() 方法,并在 BungeeCord 端触发该事件。实现示例:将 Spigot 的聊天事件广播到 BungeeCord
在 Spigot 端:
AsyncPlayerChatEvent 监听器并发送 PacketFireEvent。WrappedAsyncPlayerChatEvent 类来包装原始事件数据。在 BungeeCord 端:
PacketFireEventHandler.registerEvent(instance, WrappedAsyncPlayerChatEvent.class);WrappedAsyncPlayerChatEvent 类,并实现 toEvent() 方法来返回一个在 BungeeCord 端定义的、继承了 Event 的 AsyncPlayerChatEvent。AsyncPlayerChatEvent 了。常见陷阱:
PacketFireEvent 没有返回值,您无法设置事件的返回结果。private static final long serialVersionUID,且 Spigot 端和 BungeeCord 端的值必须相同。toEvent() 方法返回。以下是 BungeeBridge 提供的所有数据包及其简要说明。
new PacketChat(UUID uuid, String message);ConnectResult resultnew PacketConnectPlayer(UUID uuid, String server);new PacketCustom(String channel, Object subject);new PacketFireEvent(WrappedEvent event);String MOTDPacketGetMOTDServer(String bungeename);int onlinecountnew PacketGetOnlineCountGlobal();int onlinecountPacketGetOnlineCountServer(String server);InetSocketAddress addressnew PacketGetPlayerIP(UUID uuid);String namenew PacketGetPlayerName(UUID uuid);List<UUID> uuidsnew PacketGetPlayersGlobal();List<UUID> uuidsnew PacketGetPlayersServer(String server);UUID uuidnew PacketGetPlayerUUID(String name);String bungeenamenew PacketGetServerByPlayer(UUID uuid);InetSocketAddress addressnew PacketGetServerIP(String server);List<String> serversnew PacketGetServers();int slotsnew PacketGetSlotsServer(String bungeename);IsOnlineResult result- `new PacketIsPlayerOnline(UUID uuid);`- `new PacketIsPlayerOnline(String name);`boolean resultnew PacketIsServerOnline(String bungeename);new PacketKickAllPlayers(String message);new PacketKickPlayer(UUID uuid, String message);new PacketMessageAllPlayers(String message);new PacketMessagePlayer(UUID uuid, String message);new PacketRunCommand(String... commands);new PacketSendActionbar(UUID uuid, String actionbar);new PacketSendTitle(PackedTitle title);new PacketSendTitle(UUID uuid, PackedTitle title);- `new PacketStopProxy();`- `new PacketStopProxy(String message);`ComponentSerializer#toString(BaseComponent) 轻松获取 JSON 字符串。new PacketTellraw(UUID uuid, String jsonString);- `new PacketWriteConsole(String message);`- `new PacketWriteConsole(String message, Level level);`- [客户端 (BungeeBridgeC) 文档](https://ci.dommi2212.de/job/BungeeBridge/javadoc/index.html?de/dommi2212/bungeebridge/client/package-summary.html)- [服务器端 (BungeeBridgeS) 文档](https://ci.dommi2212.de/job/BungeeBridge/javadoc/index.html?de/dommi2212/bungeebridge/server/package-summary.html)友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人次:3,102,058 | 今日访问人次:10,222 | 昨日访问人次:22,124
独立 IP:19,250 | 最近24小时独立访客:19,296
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6