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

创建一个 EasyAPI 插件

WetABQ edited this page Mar 18, 2020 · 4 revisions

开发环境

以 Idea 作为 IDE 进行演示, 其他 IDE 如 Eclipse 依葫芦画瓢即可.

Jdk 1.8.0_231 ( Java 8 以上即可 )

创建项目

打开 Idea, 选择 New Project

80sQun.png

选择 Maven, 选择 SDK 版本 1.8+, 点击 Next

80r0k8.png

输入你的项目名称, groupId, artifactId, 和 version.

这里以 EasyAPIDemo, easyapi.demo, EasyAPIDemo, 1.0-SNAPSHOT 为例

这些参数的具体含义, 参见这篇文章

或是用搜索引擎搜索: “Maven groupId artifactId version” 以获取更多信息

注: 新版 Idea 你可能需要点击Artifact Coordinates展开详细配置

80c0Ds.png

配置环境

一般的, 我们可以得到一个这样的文件结构 (如果没有文件结构, 请点击右侧 Project 按钮展开文件结构)

你可以看到 蓝色的 java 文件夹, 和右下角黄色的 resource 文件夹

80ovpn.png

点开 pom.xml, 你应该把 pom.xml 修改成如下格式

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- 从这开始看, 上面的不需要在意 -->

    <groupId>easyapi.demo</groupId>  <!-- 你刚刚定义的groupId -->
    <artifactId>EasyAPIJavaDemo</artifactId> <!-- 同理 -->
    <version>1.0-SNAPSHOT</version> <!-- 同理 -->

    <!-- 你可以理解 Maven 是一个依赖管理器(当然也可以是构建), Maven 会检测项目 pom.xml 需要的依赖, 自动从 Maven 中央仓库添加依赖至项目 -->
    <!-- 下面这一段的意思你可以理解为, Nukkit 不在 Maven 中央仓库发布, Nukkit 使用自己的仓库发布 Nukkkit, 所以我们需要导入 -->
    <repositories>
        <repository>
            <id>nukkit-repo</id>
            <url>https://repo.nukkitx.com/maven-snapshots</url>
        </repository>
    </repositories>

    <!-- 插件需要的依赖  -->
    <dependencies>
        <!-- EasyAPI 插件 -->
        <dependency>
            <groupId>top.wetabq.easyapi</groupId>
            <artifactId>EasyAPI</artifactId>
            <version>1.1.2</version> <!-- 记得修改到已经安装到本地库最新版本 -->
        </dependency>
        <!-- Nukkit 插件 -->
        <dependency>
            <groupId>cn.nukkit</groupId>
            <artifactId>nukkit</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>


</project>

然后按照下图操作, 刷新 Maven. 如果遇到无法加载 EasyAPI 的情况 (EasyAPI 依赖字体为红色), 请查看Installation 安装的 Maven 安装部分.

8BybUP.png

resource 文件中新建文件 plugin.yml (右键 resource 文件夹)

8B67M4.png

8Bc1wn.png

name: EasyAPIJavaDemo # 插件名字
main: easyapi.demo.EasyAPIDemo # 插件主类 后面解释
version: "1.0.0" # 插件版本
api: ["1.0.0"] # 插件API, Nukkit 2.0就是 2.0.0
load: POSTWORLD # 加载顺序, 分为 STARTUP 和 POSTWORLD, 一个是服务器一开始就加载, 一个是世界加载完以后再加载
author: WetABQ  # 插件作者
depend: # 插件依赖
  - "EasyAPI" # 依赖于 EasyAPI 插件

创建新 EasyAPI 插件

创建包, 与你的 groupId 匹配 (非必须), 这里就是 easyapi.demo

8Bcv0s.png

8BgZ7R.png

右键刚刚新建的包, 新建类, 我们把这个类作为主类, 这里以 EasyAPIDemo 为例

8BgGBd.png

8Bgw38.png

让这个类继承于 PluginBase 具体见如下代码

package easyapi.demo;

import cn.nukkit.plugin.PluginBase;

public class EasyAPIDemo extends PluginBase {

    @Override
    public void onEnable() {

    }


    @Override
    public void onDisable() {

    }

    
}

因为这是这个类继承了 PluginBase 所以这个类是这个插件的主类. 所以 plugin.yml 中 为 main: easyapi.demo.EasyAPIDemo

至此, 我们创建了一个新 EasyAPI 插件