GroovyEffect - 视觉效果基类
本篇由 AI 生成
📖 概述
GroovyEffect 是自定义视觉效果(如全息字、粒子效果)的抽象基类,继承自 Kotlin 核心的 VisualEffect 类。它封装了效果生命周期管理的常用字段和方法,简化了视觉效果的创建流程。
🎯 核心功能
- 生命周期管理:提供
onSpawn、onTick、onDespawn三个关键钩子 - 常用字段封装:内置
looker、entity、text、duration等常用属性 - 接口简化:自动实现
VisualEffectComponent的 getter 方法 - 自动注册:通过
spawn()方法自动将效果注册到管理器
📝 类定义
groovy
abstract class GroovyEffect extends VisualEffect {
Player looker // 观察者玩家
Entity entity // 目标实体
long duration // 持续时间(tick)
// 多行文本构造函数
GroovyEffect(Player looker, Entity entity, long duration) {
// ...
}
}💡 使用示例
🔧 生命周期方法
| 方法 | 调用时机 | 用途 |
|---|---|---|
onSpawn() | 效果创建时调用一次 | 初始化资源、创建全息字/粒子 |
onTick() | 每个游戏刻调用 | 更新动画、移动效果、播放音效 |
onDespawn() | 效果结束时调用一次 | 清理资源、删除全息字、释放内存 |
📌 关键字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
looker | Player | 能看到此效果的观察者玩家 |
entity | Entity | 效果关联的目标实体 |
duration | long | 效果持续的 tick 数(20 tick = 1 秒) |
tick | long | 当前已运行的 tick 数(自动递增) |
end | boolean | 效果是否已结束标记 |
📌 注意事项
- 资源清理:务必在
onDespawn()中清理创建的资源(全息字、粒子等) - 性能优化:避免在
onTick()中执行耗时操作 - 空指针检查:使用前检查
entity和looker是否有效 - 线程安全:所有操作必须在主线程执行
