Update docs

This commit is contained in:
Him188 2020-09-13 01:13:45 +08:00
parent 235391e658
commit 9139d62a7c
5 changed files with 25 additions and 5 deletions

View File

@ -38,8 +38,6 @@ public abstract class AbstractPluginData : PluginData, PluginDataImpl() {
/** /**
* 所有 [valueNodes] 更新和保存序列化器. 仅供内部使用 * 所有 [valueNodes] 更新和保存序列化器. 仅供内部使用
*
* @suppress 注意, 这是实验性 API.
*/ */
public final override val updaterSerializer: KSerializer<Unit> public final override val updaterSerializer: KSerializer<Unit>
get() = super.updaterSerializer get() = super.updaterSerializer

View File

@ -176,9 +176,7 @@ public interface PluginData {
): T ): T
/** /**
* 所有 [valueNodes] 更新和保存序列化器. 仅供内部使用 * 所有 [valueNodes] 更新和保存序列化器. 仅供内部使用
*
* @suppress 注意, 这是实验性 API.
*/ */
public val updaterSerializer: KSerializer<Unit> public val updaterSerializer: KSerializer<Unit>

View File

@ -30,6 +30,9 @@ import java.nio.file.Path
* *
* [JvmPluginLoader] 实现一个 [PluginDataStorage], 用于管理所有 [JvmPlugin] [PluginData] 实例. * [JvmPluginLoader] 实现一个 [PluginDataStorage], 用于管理所有 [JvmPlugin] [PluginData] 实例.
* *
* ### 实现 [PluginDataStorage]
* 无特殊需求实现两个成员函数即可可参考内建 [MultiFilePluginDataStorageImpl]
*
* @see PluginDataHolder * @see PluginDataHolder
* @see JvmPluginLoader.dataStorage * @see JvmPluginLoader.dataStorage
*/ */

View File

@ -13,10 +13,28 @@ import net.mamoe.mirai.console.extensions.PermissionServiceProvider
import net.mamoe.mirai.console.extensions.PluginLoaderProvider import net.mamoe.mirai.console.extensions.PluginLoaderProvider
import net.mamoe.mirai.console.extensions.SingletonExtensionSelector import net.mamoe.mirai.console.extensions.SingletonExtensionSelector
import net.mamoe.mirai.console.extensions.SingletonExtensionSelector.ExtensionPoint.selectSingleton import net.mamoe.mirai.console.extensions.SingletonExtensionSelector.ExtensionPoint.selectSingleton
import net.mamoe.mirai.console.plugin.jvm.JvmPlugin
import net.mamoe.mirai.console.plugin.jvm.JvmPlugin.Companion.onLoad
/** /**
* 表示一个扩展. * 表示一个扩展.
* *
* ### 获取扩展
* Console 不允许插件获取自己或其他插件注册的扩展
*
* ### 注册扩展
* 插件仅能在 [JvmPlugin.onLoad] 阶段注册扩展
*
* ```kotlin
* object MyPlugin : KotlinPlugin( /* ... */ ) {
* fun PluginComponentStorage.onLoad() {
* contributePermissionService { /* ... */ }
* contributePluginLoader { /* ... */ }
* contribute(ExtensionPoint) { /* ... */ }
* }
* }
* ```
*
* @see ComponentStorage * @see ComponentStorage
*/ */
public interface Extension public interface Extension

View File

@ -10,11 +10,14 @@
package net.mamoe.mirai.console.extensions package net.mamoe.mirai.console.extensions
import net.mamoe.mirai.console.extension.AbstractExtensionPoint import net.mamoe.mirai.console.extension.AbstractExtensionPoint
import net.mamoe.mirai.console.extension.Extension
import net.mamoe.mirai.console.extension.InstanceExtension import net.mamoe.mirai.console.extension.InstanceExtension
import net.mamoe.mirai.console.plugin.loader.PluginLoader import net.mamoe.mirai.console.plugin.loader.PluginLoader
/** /**
* 提供扩展 [PluginLoader] * 提供扩展 [PluginLoader]
*
* @see Extension
*/ */
public interface PluginLoaderProvider : InstanceExtension<PluginLoader<*, *>> { public interface PluginLoaderProvider : InstanceExtension<PluginLoader<*, *>> {
public companion object ExtensionPoint : AbstractExtensionPoint<PluginLoaderProvider>(PluginLoaderProvider::class) public companion object ExtensionPoint : AbstractExtensionPoint<PluginLoaderProvider>(PluginLoaderProvider::class)