Skip to content

开发者手册

ArgonarioD edited this page Mar 6, 2023 · 1 revision

JvmPlugin

在构建配置文件(如 build.gradle / build.gradle.kts / pom.xml )中添加以下依赖:

Gradle:

dependencies {
    // 省略 ...
    implementation("io.github.argonariod:hammer-mirai-help-api:1.0.0")
}

Maven:

<dependencies>
    <!-- 省略 ... -->
    <dependency>
        <groupId>io.github.argonariod</groupId>
        <artifactId>hammer-mirai-help-api</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

然后在插件的主类中添加以下代码:

Kotlin:

import io.github.argonariod.hammer.mirai.help.api.help

object MyPlugin : KotlinPlugin(
    // 省略 ...
) {
   override fun onEnable() {
      // do something...
      help {
         names[0] = "插件名称" // 一般情况下不需要本行,该列表中的第一个元素默认为 Plugin.name
         names.addAll("别名1","别名2","别名3")  // 添加插件别名
         brief = "简介" // 一般情况下不需要本行,该项默认为 Plugin.info
         usage = """
         |用法1
         |  用法2
         |用法3
      """.trimMargin() // 详细帮助信息
         /*
          * usage = "res://path/to/image.png"
          * 详细帮助信息可以设置为图片,当开头为 "res://" ,且其后面的内容为一个指向 resources 中的图片的路径时,
          * 将会将该图片作为默认帮助信息。
          * 如:
          *    usage = "res://assets/help.jpg"
          *    将会将 /resources/assets/help.jpg 作为默认帮助信息。
          *    其中,受到支持的图片格式有:jpg、png、gif、tif、bmp。
          */
         permission = "console:command.help" // 该插件的帮助信息所需要的权限,不需要权限时不设置即可
      }
      // do something else...
   }
}

Java:

import io.github.argonariod.hammer.mirai.help.api.PluginHelpDslKt.help;

public final class MyPlugin extends JavaPlugin {
   // 省略 ...

   @Override
   public void onEnable() {
      // do something...
      help(help -> {
         help.getNames().set(0, "插件名称"); // 一般情况下不需要本行,names中的第一个元素会直接获取在Plugin中定义的name
         help.getNames().addAll(List.of("别名1", "别名2", "别名3"));  // 添加插件别名
         help.setBrief("简介"); // 一般情况下不需要本行,会直接获取在Plugin中定义的info
         help.setUsage(
                 "用法1\n" +
                 "  用法2\n" +
                 "用法3"
         ); // 详细帮助信息,当Java版本为13及以上时,可以使用文本块特性
         /*
          * help.setUsage("res://path/to/image.png");
          * 详细帮助信息可以设置为图片,当开头为"res://",且其后面的内容为一个指向 resources 中的图片的路径时,
          * 将会将该图片作为默认帮助信息。
          * 如:
          *    help.setUsage("res://assets/help.jpg");
          *    将会将/resources/assets/help.jpg作为默认帮助信息。
          *    其中,受到支持的图片格式有:jpg、png、gif、tif、bmp。
          */
         help.setPermission("console:command.help"); // 该插件的帮助信息所需要的权限,不需要权限时不设置即可
      });
      // do something else...
   }
}

其他种类的 Mirai Console Plugin

插件被加载后,需要在插件 io.github.argonariod.hammer-helpdataStorage 下的 defaults 目录创建一个名为 <你的插件ID>.json 的文件,

  1. 如你的插件ID为 com.example.plugin 时,该文件名为 com.example.plugin.json
  2. 在 Mirai Console 和 MCL 的环境下, 该目录为 data/io.github.argonariod.hammer-help/defaults/

文件内容为:

{
  "names": [
    "插件名称",
    "别名1",
    "别名2",
    "别名3"
  ],
  "brief": "简介",
  "usage": "用法1\n  用法2\n用法3",
  "permission": "console:command.help"
}

注意:

  1. 该 json 的结构必须与上文中一致,不可以缺少或多出任何一项。
  2. permission 项不需要时将值设置为 null 即可。

当你使用图片作为 usage 时,你同样需要在该目录下创建一个名为 <你的插件ID>.<图片格式后缀> 的图片,且上述 json 中的 usage 项的值应该为 image://<你的插件ID>.<图片格式后缀>

当你的插件的ID为 com.example.plugin ,想要使用一张格式为 png 的图片作为 usage 时,你需要在该目录下创建一个名为 com.example.plugin.png 的图片,且上述 json 中的 usage 项的值应该为 image://com.example.plugin.png

Clone this wiki locally