Skip to content
This repository has been archived by the owner on Dec 3, 2022. It is now read-only.

认识 EasyAPIModule

WetABQ edited this page Mar 18, 2020 · 6 revisions

第一个 EasyAPI 模块

EasyAPI 插件是由一个个模块组成的, 你可以将 EasyAPI 模块理解为 “插件中的插件”

如果你想简易的创建一个 EasyAPI 模块, 只需要创建一个新类, 并让其继承SimpleEasyAPIModule 下即可

注: 本篇仅做基础教学, 模块的创建方式多种多样, 受限于篇幅于本人时间, 仅举其中较为简单的一个作为示范

如果您需要全面深入的了解 EasyAPI, 推荐您直接阅读源代码即可.

我们在主类中添加一个 INSTANCE, 使插件主类做单例模式运行. (只被实例化一次)

package easyapi.demo;

import cn.nukkit.plugin.PluginBase;

public class EasyAPIDemo extends PluginBase {

    public static EasyAPIDemo INSTANCE;

    @Override
    public void onEnable() {
        INSTANCE = this;
    }


    @Override
    public void onDisable() {

    }


}

新建一个 EasyAPIDemoModule 类, 继承SimpleEasyAPIModule

package easyapi.demo;

import org.jetbrains.annotations.NotNull;
import top.wetabq.easyapi.module.ModuleInfo;
import top.wetabq.easyapi.module.ModuleVersion;
import top.wetabq.easyapi.module.SimpleEasyAPIModule;

public class EasyAPIDemoModule extends SimpleEasyAPIModule {

    @NotNull
    public ModuleInfo getModuleInfo() {
        return new ModuleInfo(
                EasyAPIDemo.INSTANCE,
                "EasyAPIDemoModule",
                "WetABQ",
                new ModuleVersion(1, 0, 0)
        );
    }

    public void moduleRegister() {

    }

    public void moduleDisable() {

    }

}

你可以看到 getModuleInfo() 需要让我们填写模块的基本信息

  • 模块属于哪个插件
  • 模块名称
  • 模块作者
  • 模块版本

这便是我们的第一个模块, 为了让它生效, 就需要到 EasyAPIModuleManager 模块管理进行注册

EasyAPIModuleManager.INSTANCE.register(new EasyAPIDemoModule());

这便完成了模块的注册.

相信你也看到了上面的 moduleRegister() 方法, 意思就是, 当模块开始注册时, 调用改方法, moduleDisable() 同理

可是创建了模块又有什么用呢?