Skip to content

Groovy注册插件中的内容

插件可以自动加载一些特定的 Groovy 类为 属性组件、读取组件,也可以实现 GroovyScript 接口注册属性类型

警告

若代码中有 TaskTimer、监听器等长期持有的对象,一定要在生命周期结束时(onDisable())清除或关闭,否则会造成内存泄漏。

注册读取组件

可搭配开发文档一同使用
expansions 中创建一个继承对应类的 Groovy 类,并重写对应方法,插件便会自动将其加载并注册为读取组件

Groovy
Groovy
Groovy

注册属性类型

可搭配开发文档一同使用
属性类型续对应一套触发器,处理器(当然也可以复用或重写已有的)

Groovy
package expansions

import cn.org.bukkit.craneattribute.api.attribute.AttributeType
import cn.org.bukkit.craneattribute.core.attribute.AttributeTypes
import groovy.transform.CompileStatic
import cn.org.bukkit.craneattribute.api.expansions.GroovyScript
import org.bukkit.event.player.PlayerExpChangeEvent

@CompileStatic
class AttributeManager implements GroovyScript {

    public static AttributeType GROOVY = AttributeType.create("GROOVY", { it ->
        it.triggerSetting("test", "value!", "GROOVY 注释")
    })

    /**
     * 启用时注册属性类型
     */
    @Override
    void onEnable() {
        GROOVY.register(触发器实例)
    }

    /**
     * 一定要在 disable 时 unregister 属性类型
     * 否则可能会内存泄漏
     */
    @Override
    void onDisable() {
        GROOVY.unregister()
    }

}
Groovy
Groovy

注册属性源类型

可搭配开发文档一同使用

Groovy
Groovy