From 5250e3779f460cf34bee34c11134dd2dc14d211d Mon Sep 17 00:00:00 2001 From: Him188 Date: Sat, 12 Sep 2020 23:25:16 +0800 Subject: [PATCH] Update docs --- .../console/plugin/description/PluginDescription.kt | 12 ++++-------- docs/Extensions.md | 7 +++++++ docs/Plugins.md | 9 ++++----- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/description/PluginDescription.kt b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/description/PluginDescription.kt index 8875621f8..f0e2b4888 100644 --- a/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/description/PluginDescription.kt +++ b/backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/description/PluginDescription.kt @@ -20,7 +20,7 @@ import net.mamoe.mirai.console.plugin.Plugin */ public interface PluginDescription { /** - * 插件 ID. + * 插件 ID. 用于指令权限等一些内部处理 * * - 仅允许英文字母, '-', '_', '.'. 在内部操作处理时不区分大小写. * - 类似于 Java 包名, 插件 ID 需要 '域名.名称' 格式, 如 `net.mamoe.mirai.example-plugin` @@ -43,25 +43,21 @@ public interface PluginDescription { * - 合法 `net.mamoe.mirai.example-plugin` * - 非法 `.example-plugin` * - * ID 用于指令权限等一些内部处理 - * * @see ID_REGEX * @see FORBIDDEN_ID_NAMES */ public val id: String /** - * 插件名称. 允许中文, 允许各类符号. + * 插件名称用于展示给用户,仅取决于 `PluginDescription` 提供的 `name`,与主类类名等其他信息无关。 * - * 插件名称不能完全是以下其中一种 ([FORBIDDEN_ID_NAMES]). + * 名称允许中文, 允许各类符号,但不能完全是以下其中一种(忽略大小写)([FORBIDDEN_ID_NAMES]): * - console * - main * - plugin * - config * - data * - * 插件名称用于显示给用户. - * * @see FORBIDDEN_ID_NAMES */ public val name: String @@ -84,7 +80,7 @@ public interface PluginDescription { * - `1.0.0-M2-1` * - `1` (尽管非常不建议这么做) * - * 非法版本号实例: + * 非法版本号示例: * - `DEBUG-1` * - `-1.0` * - `v1.0` (不允许 "v") diff --git a/docs/Extensions.md b/docs/Extensions.md index 0bf02af41..850c76c96 100644 --- a/docs/Extensions.md +++ b/docs/Extensions.md @@ -1,2 +1,9 @@ # Mirai Console Backend - Extensions +Mirai Console 拥有灵活的 Extensions API,支持扩展 Console 的一些服务。 + +## 扩展 + + + +## 注册扩展 \ No newline at end of file diff --git a/docs/Plugins.md b/docs/Plugins.md index b89b4b0c9..fa588e91d 100644 --- a/docs/Plugins.md +++ b/docs/Plugins.md @@ -83,8 +83,7 @@ Mirai Console 使用类似 `ServiceLoader` 的机制加载插件。 - 插件自身的版本要求遵循 [语义化版本 2.0.0](https://semver.org/lang/zh-CN/) 规范, 合格的版本例如: `1.0.0`, `1.0`, `1.0-M1`, `1.0-pre-1` - 插件依赖的版本遵循 [语义化版本 2.0.0](https://semver.org/lang/zh-CN/) 规范, 同时支持 [Apache Ivy 风格表示方法](http://ant.apache.org/ivy/history/latest-milestone/settings/version-matchers.html). -##### 插件名 -插件名仅取决于 `PluginDescription` 提供的 `name`,与主类类名等其他信息无关。 +有关描述的详细信息可在开发时查看源码内文档。 #### 实现 Kotlin 插件主类 @@ -120,7 +119,7 @@ public final class JExample extends JavaPlugin { public static final JExample INSTANCE = new JExample(); // 可以像 Kotlin 一样静态初始化单例 private JExample() { super(new JvmPluginDescriptionBuilder( - "JExample", // name + "org.example.test-plugin", // name "1.0.0" // version ) // .author("...") @@ -140,7 +139,7 @@ public final class JExample extends JavaPlugin { } public JExample() { // 此时必须 public super(new JvmPluginDescriptionBuilder( - "JExample", // name + "org.example.test-plugin", // id "1.0.0" // version ) // .author("...") @@ -176,7 +175,7 @@ Mirai Console 不提供热加载和热卸载功能,所有插件只能在服务 [`JvmPluginLoader`] 调用插件的 `onLoad()`,在 `onLoad()` 正常返回后插件被认为成功加载。 -由于 `onLoad()` 只会被初始化一次,插件可以在该方法内进行一些*一次性*的*初始化*任务。 +由于 `onLoad()` 只会被初始化一次,插件可以在该方法内进行一些*一次性*的*初始化*任务,如 [注册扩展](Extensions.md#注册扩展)。 **在 `onLoad()` 时插件并未处于启用状态,此时插件不能进行监听事件,加载配置等操作。**