玩家事件
服务端玩家状态变化事件
玩家事件
- 由服务端玩家状态变化触发的事件,与客户端事件不同,这些事件在服务端逻辑中产生。
PlayerAreaEnterEvent
- 玩家进入ArcartX区域时触发
- 属性:
player: Player — 玩家area: Area — 进入的区域对象
- 可取消:否
- 调用示例
PlayerAreaLeaveEvent
- 玩家离开ArcartX区域时触发
- 属性:
player: Player — 玩家area: Area — 离开的区域对象newArea: Area? — 新进入的区域(如果直接从一个区域进入另一个区域),可能为null
- 可取消:否
- 调用示例
PlayerExtraSlotUpdateEvent
- 玩家额外槽位物品更新时触发(通过
ArcartXPlayer.setSlotItemStack设置时)
- 属性:
player: Player — 玩家slotID: String — 槽位IDitemStack: ItemStack — 更新后的物品
- 可取消:否
- 调用示例
PlayerModelUpdateEvent
- 玩家模型更新时触发(通过
ArcartXPlayer.setModel设置时)
- 属性:
player: Player — 玩家modelID: String — 新模型ID
- 可取消:否
- 调用示例
PlayerAnimationPackChangeEvent
- 玩家动画包变更前触发,可通过取消阻止变更
- 属性:
player: Player — 玩家packId: String — 即将设定的动画包ID,空串表示取消动画包
- 可取消:是
- 调用示例
PlayerCostumeChangeEvent
- 玩家时装变更前触发,可通过取消阻止变更
- 属性:
player: Player — 玩家type: PlayerCostumeChangeEvent.Type — 变更类型,取值EQUIP_SUIT(穿全套装)、EQUIP_SLOT(穿某槽)、REMOVE_SLOT(脱某槽)、CLEAR(脱下全部)slot: ArcartXPlayer.CostumeSlot? — 涉及的时装槽位;EQUIP_SUIT与CLEAR时为 nullmodelID: String? — 涉及的模型ID;REMOVE_SLOT与CLEAR时为 nullhide: boolean — 是否隐藏对应部位
- 可取消:是
- 调用示例
PlayerVariantChangeEvent
- 玩家模型变体变更前触发,可通过取消阻止变更
- 属性:
player: Player — 玩家variant: ArcartXPlayer.PlayerModelVariant — 即将设定的模型变体
- 可取消:是
- 调用示例
PlayerAnimationPackChangeEvent、PlayerCostumeChangeEvent、PlayerVariantChangeEvent 均在状态变更前触发,且可取消;取消后对应变更不会生效。
