Skip to content
目录

插件

实现一个简单的插件,在插件被加载时输出一条日志

安装

将插件拖动到plugin文件夹里

自制

创建项目

创建一个项目,这里以Gradle项目为例

groovy
plugins {
    id 'java'
}

group 'cn.enaium.cafully'
version '1.0.0'

sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8

repositories {
    mavenCentral()
}

dependencies {
    compileOnly 'cn.enaium.cafully:cafully-api:1.1.1'
}

其中cafully-api依赖就是Cafully的API

以中央参仓库的版本为准

Maven Central

groovy
repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    compileOnly 'com.github.Cafully.cafully:cafully-api:1.1.1'
}

如果使用jitpack需要添加仓库

jitpack仓库的版本为准

JitPack

主类

创建一个类cn.enaium.cafully.example.Example,实现cn.enaium.cafully.plugin.api.IInitializer接口

添加cn.enaium.cafully.plugin.annotation.Plugin注解

java
@Plugin(unique = "example", name = "Example Plugin", version = "1.0.0", api = ">=1.1.1")
public class Example implements IInitializer {
    @Override
    public void initialize(IHelper plugin) throws Throwable {
    }
}

Plugin注解,unique插件的唯一标识,name插件的名字,version插件的版本,apiapi的版本

插件在被加载时,会调用插件的initialize方法,这时调用插件的日志方法,输出一条日志

java
@Override
public void initialize(IHelper plugin) throws Throwable {
    plugin.plugin().logger().info("Hello Example World!");
}

最后的步骤

在构建配置中将主类名添加到manifest

jar {
    manifest.attributes(
            'Manifest-Version': 1.0,
            'Main-Class': 'cn.enaium.cafully.example.Example'
    )
}

好了,这样一个简单的插件就制作完成了

Released under the MIT License.