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] 更新和保存序列化器. 仅供内部使用
*
* @suppress 注意, 这是实验性 API.
*/
public final override val updaterSerializer: KSerializer<Unit>
get() = super.updaterSerializer

View File

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

View File

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

View File

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