LogoArcartX Doc

客户端通信事件

客户端通道与自定义数据包事件

客户端通信事件

  • 与客户端网络通信相关的事件。

ClientChannelEvent

  • 客户端ArcartX通道建立时触发
  • 属性player: Player — 玩家
  • 可取消:否

ClientCustomPacketEvent

  • 收到客户端发来的自定义数据包时触发
  • 这是实现客户端与服务端自定义通信的核心事件
  • 属性
    • player: Player — 发送数据的玩家
    • id: String — 数据包ID
    • data: List<String> — 数据内容列表
    • argSize: int — 参数数量
  • 可取消:否

内置参数解析方法

ClientCustomPacketEvent 提供了一系列便捷方法来解析参数,解析失败时会返回默认值而不是抛出异常:

方法返回类型失败默认值
getArg(index)String""
getArgAsInt(index)int0
getArgAsDouble(index)double0.0
getArgAsBoolean(index)booleanfalse
getArgAsLong(index)long0
getArgAsFloat(index)float0
getArgAsUUID(index)UUID?null
  • 调用示例
@EventHandler
public void onCustomPacket(ClientCustomPacketEvent event) {
    if (event.getId().equals("my_plugin:action")) {
        String action = event.getArg(0);
        int value = event.getArgAsInt(1);
        // 处理自定义数据包
    }
}

On this page