ArcartXNetworkSender:网络发送器
底层网络发送API
ArcartXNetworkSender
- 网络发送器提供了更底层的网络数据包发送能力,所有方法都是点对点发送给指定玩家。
- 通过
ArcartXAPI.getNetworkSender()获取。 - 大多数场景下你应该优先使用
ArcartXPlayer或其他高级API,仅在需要精细控制时使用本类。
自定义数据包
sendCustomPacket(player, id, args...)
- 向玩家发送自定义数据包
- 参数:
player: Player — 目标玩家id: String — 数据包IDargs: String... — 数据内容(可变参数)
- 返回值:无
- 调用示例
服务端变量
sendServerVariable(player, variableName, value)
- 向玩家客户端设置一个服务端变量,可在Shimmer脚本中读取
- 参数:
player: Player — 目标玩家variableName: String — 变量名value: Object — 变量值
- 返回值:无
- 调用示例
sendMultipleServerVariable(player, variables)
- 批量设置服务端变量
- 参数:
player: Player — 目标玩家variables: Map<String, Object> — 变量映射
- 返回值:无
- 调用示例
removeServerVariable(player, variableName, startWith)
- 移除玩家客户端的服务端变量
- 参数:
player: Player — 目标玩家variableName: String — 变量名startWith: boolean — 是否匹配以该名称开头的所有变量(默认false)
- 返回值:无
- 调用示例
伤害显示
sendDamageDisplay(player, configID, damage, location)
- 在指定位置为玩家显示伤害数字
- 参数:
player: Player — 目标玩家configID: String — 伤害显示配置IDdamage: double — 伤害数值location: Location — 显示位置
- 返回值:无
- 调用示例
sendDamageDisplay(player, configID, damage, target)
- 在目标实体位置为玩家显示伤害数字
- 参数:
player: Player — 目标玩家configID: String — 伤害显示配置IDdamage: double — 伤害数值target: Entity — 目标实体
- 返回值:无
- 调用示例
图片资源
sendBase64Image(player, resourceID, base64)
- 向玩家客户端发送Base64编码的图片资源
- 参数:
player: Player — 目标玩家resourceID: String — 资源IDbase64: String — Base64编码的图片数据
- 返回值:无
- 调用示例
音效控制
sendSoundPlay(player, name, path, x, y, z, soundCategory, distOrRoll, pitch, keepTime)
- 在指定坐标播放具名音效
- 参数:
player: Player — 目标玩家name: String — 音效名称(用于后续停止)path: String — 音效资源路径xyz: int — 播放坐标soundCategory: String — 音效类别(默认master)distOrRoll: int — 传播距离(默认16)pitch: double — 音调(默认1.0)keepTime: int — 持续时间(默认5000毫秒)
- 返回值:无
sendSoundPlay(player, name, path, entity, ...)
- 绑定实体播放具名音效(多个重载版本)
- 支持绑定到实体、绑定到自身、有名/无名等多种组合
- 具名音效可以通过
sendStopSound停止播放
sendStopSound(player, name)
- 停止播放指定名称的音效
- 参数:
player: Player — 目标玩家name: String — 音效名称
- 返回值:无
- 调用示例
实体控制
sendSetEntityModel(player, entity, modelID, scale)
- 为指定玩家设置某个实体的模型显示
- 参数:
player: Player — 目标玩家entity: UUID — 实体UUIDmodelID: String — 模型IDscale: double — 缩放比例(默认1.0)
- 返回值:无
- 调用示例
sendSetEntityAnimation(player, entity, animationName, speed, transitionTime, time)
- 为指定玩家播放某个实体的动画
- 参数:
player: Player — 目标玩家entity: UUID — 实体UUIDanimationName: String — 动画名称speed: double — 播放速度transitionTime: int — 过渡时间(毫秒)time: long — 持续时间(毫秒)
- 返回值:无
sendSetEntitySize(player, entity, width, height)
- 为指定玩家设置某个实体的碰撞体积显示
- 参数:
player: Player — 目标玩家entity: UUID — 实体UUIDwidth: double — 宽度height: double — 高度
- 返回值:无
