Skip to content

GroovyEffect - 视觉效果基类

本篇由 AI 生成

📖 概述

GroovyEffect 是自定义视觉效果(如全息字、粒子效果)的抽象基类,继承自 Kotlin 核心的 VisualEffect 类。它封装了效果生命周期管理的常用字段和方法,简化了视觉效果的创建流程。

🎯 核心功能

  • 生命周期管理:提供 onSpawnonTickonDespawn 三个关键钩子
  • 常用字段封装:内置 lookerentitytextduration 等常用属性
  • 接口简化:自动实现 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()效果结束时调用一次清理资源、删除全息字、释放内存

📌 关键字段说明

字段类型说明
lookerPlayer能看到此效果的观察者玩家
entityEntity效果关联的目标实体
durationlong效果持续的 tick 数(20 tick = 1 秒)
ticklong当前已运行的 tick 数(自动递增)
endboolean效果是否已结束标记

📌 注意事项

  1. 资源清理:务必在 onDespawn() 中清理创建的资源(全息字、粒子等)
  2. 性能优化:避免在 onTick() 中执行耗时操作
  3. 空指针检查:使用前检查 entitylooker 是否有效
  4. 线程安全:所有操作必须在主线程执行