插件开发基础教程②-创建第一个插件
发布于 3 个月前 作者 shell 81 次浏览 来自 Spigot

导入 Bukkit API

在编写插件之前你必须导入 Bukkit API 库作为项目的依赖,你也可以导入其他想用的 API 库。然后双击编辑项目根目录下的 build.gradle 文件,按照白框内的修改添加 Bukkit API 的依赖:

bukkit-api.jpeg

添加完依赖地址之后就可以导入 Bukkit API 的 jar 包了,有两种导入方式:

  1. 手动导入,依次点击 Intellij IDEA左下角控制台->Gradle->导入按钮 进行手动导入

    gradle_import.jpeg

  2. 设置自动导入,打开 gradle 的设置页面,勾选 Use auto-import 然后再点击 apply 按钮,最后点击 OK,以后再修改 build.gradle 文件都会自动导入依赖

    gradle-auto.jpeg

创建包 (Creating a package)

现在我们来创建一个放置我们 Java 代码的包,右键文件目录 src/main/java 然后选择 New -> Package

creating_package.png

对于包名,可以是 group 名字+句点+插件名小写,比如本例的包名可以是com.gmail.shellljx.testplugin.

创建插件类

现在我们的项目创建好了,开始添加 class 文件开发我们的插件了. 插件的主类继承了 JavaPlugin 类,在整个插件项目中必须只有唯一的一个类直接或者间接的继承 JavaPlugin,首先创建主类并且用插件的名字给它命名是一个非常好的习惯. 右键刚才创建好的包,然后选择 New > Class,创建一个和下面类似的类文件:

package {$PackageName};

import org.bukkit.plugin.java.JavaPlugin;
 
public final class {$PluginName} extends JavaPlugin {
    
}

⚠️警告:主类永远不要调用构造方法创建新的实例

创建 plugin.yml

为了让 Bukkit 加载你的插件,你需要创建 plugin.yml 文件,这个文件将包含插件的基本信息,没有这些信息插件将不会被加载. 这次我们右键目录 src/main/resources 选择 New > File 创建 plugin.yml 文件,然后点击 finish 按钮. 有三个基本属性必须在 Plugin.yml 文件中声名:

  1. name:插件的名字
  2. main:主类的全路径名(本例中的全路径名是com.gmail.shellljx.testplugin.TestPlugin)
  3. version:插件的版本号

最简单的 plugin.yml 文件长这样:

name: {$PluginName}
main: {$PackageName}.{$MainClass}
version: {$VersionNumber}
  • 包名经常包含插件的名字,所以不要惊讶第二行 main 属性以<插件名>.<插件名>结尾
  • 主类的名字不是必须和插件的名字一样的

现在你的插件能够被 Bukkit 加载了,过会我们可以用 log 打印出来.

onEnable() and onDisable()

这两个方法会在插件 enabled 和 disabled 状态的时候分别调用,当插件被加载变成可用状态后 onEnable() 方法会被调用,所以在该方法中可以包含一些初始化的代码逻辑,事件注册,以及一些 log 输出. 当插件不可用的时候,比如服务器关闭 onDisable() 方法会被调用,需要在该方法里执行一些清理插件占用的资源以及持久化插件状态的一些代码逻辑.

像下面一样添加 onEnable()onDisable() 方法:

public final class {$PluginName} extends JavaPlugin {
    @Override
    public void onEnable() {
        getLogger().info("onEnable: hello world");
    }

    @Override
    public void onDisable() {
        getLogger().info("onDisable: hello world");
    }
}

导出插件

选择File -> Project Structure -> Artifacts 然后点击“+”号选择Jar -> From modules…

create-artifact.png

选择 TestPlugin_main module,点击 OK

select_module.png

也可以修改插件的导出名称和导出路径,记得勾选 include in project build ,随后点击 Apply 和 OK 按钮.

jar-setting.png

最后点击 Build -> Build Project 构建插件项目,构建完成就可以在导出目录看到生成的插件 Jar 文件了,放到服务器里试试可以看到控制台 Log 输出

屏幕快照 2018-09-23 下午12.56.47.png

回到顶部