ArcartXEntity:实体对象
ArcartX实体管理对象API
ArcartXEntity
ArcartXEntity是ArcartX对Bukkit实体的包装对象,提供了模型、动画、发光、音效等功能的控制接口。- 通过
ArcartXEntityManager.getOrCreateEntity(entity)获取。 ArcartXPlayer继承自此类,玩家对象拥有本页所有方法以及更多扩展功能。- 本类所有涉及客户端显示的方法均为范围广播模式——会向所有能看到该实体的玩家发送数据包。
模型管理
setModel(modelID, scale)
- 为实体设置模型
- 参数:
modelID: String — 模型IDscale: double — 模型缩放比例
- 返回值:无
- 调用示例
setModel(modelID, scale, reset)
- 为实体设置模型,可选择是否重置动画状态
- 参数:
modelID: String — 模型IDscale: double — 模型缩放比例reset: boolean — 是否重置动画状态
- 返回值:无
- 调用示例
removeModel()
- 移除实体的模型
- 参数:无
- 返回值:无
- 调用示例
碰撞与体积
setSize(width, height)
- 设置实体的碰撞体积,同时会同步到客户端显示
- 参数:
width: double — 碰撞箱宽度height: double — 碰撞箱高度
- 返回值:无
- 调用示例
此方法会在主线程执行,如果你在异步线程调用,它会自动切换到主线程。
setHideHitBox(hide)
- 设置是否隐藏实体的碰撞箱显示
- 参数:
hide: boolean — 是否隐藏 - 返回值:无
- 调用示例
骨骼与动画
setHideBone(bone, hide)
- 隐藏或显示模型的指定骨骼
- 参数:
bone: String — 骨骼名称hide: boolean — 是否隐藏
- 返回值:无
- 调用示例
setDefaultState(state, name)
- 设置实体模型的默认动画状态
- 参数:
state: String — 状态名称name: String — 动画名称
- 返回值:无
- 调用示例
playAnimation(animation, speed, transitionTime, keepTime)
- 为实体播放一次动画
- 参数:
animation: String — 动画名称speed: double — 播放速度transitionTime: int — 过渡时间(毫秒)keepTime: long — 持续时间(毫秒),-1为播放完整动画
- 返回值:无
- 调用示例
显示效果
setDisplayName(displayName)
- 设置是否显示实体名称
- 参数:
displayName: boolean — 是否显示 - 返回值:无
- 调用示例
setGlowColor(r, g, b)
- 设置实体的发光颜色
- 参数:
r: int — 红色分量(0-255)g: int — 绿色分量(0-255)b: int — 蓝色分量(0-255)
- 返回值:无
- 调用示例
enableGlow()
- 启用实体发光效果
- 参数:无
- 返回值:无
- 调用示例
disableGlow()
- 关闭实体发光效果
- 参数:无
- 返回值:无
- 调用示例
音效
playSound(resourcePath, soundCategory, distOrRoll, pitch, keepTime)
- 为实体播放音效,音效会跟随实体移动,向所有能看到该实体的玩家广播
- 参数:
resourcePath: String — 音效资源路径soundCategory: String — 音效类别(如master、music)distOrRoll: int — 传播距离/衰减pitch: double — 音调keepTime: int — 持续时间(毫秒)
- 返回值:无
- 调用示例
伤害显示
broadcastDamageDisplay(damageDisplayConfigId, damage)
- 在实体位置广播伤害数字,所有能看到该实体的玩家都会看到
- 参数:
damageDisplayConfigId: String — 伤害显示配置IDdamage: double — 伤害数值
- 返回值:无
- 调用示例
此方法是范围广播模式,会向所有能看到该实体的玩家发送伤害数字。如果你只想让特定玩家看到伤害数字,请使用 sendDamageDisplayToPlayers 或 ArcartXPlayer.addDamageDisplay。
sendDamageDisplayToPlayers(damageDisplayConfigId, damage, players)
- 在实体位置显示伤害数字,仅指定列表中的玩家可见
- 参数:
damageDisplayConfigId: String — 伤害显示配置IDdamage: double — 伤害数值players: List<Player> — 可见玩家列表
- 返回值:无
- 调用示例
