PluginComponentStorage
class PluginComponentStorage(plugin: Plugin) : AbstractConcurrentComponentStorage
Content copied to clipboard
添加一些扩展给 Plugin 的 ComponentStorage.
所有扩展都会以 'lazy' 形式注册, 由 Console 在不同的启动阶段分别初始化各类扩展.
Constructors
Functions
Link copied to clipboard
注册一个扩展. E 必须拥有伴生对象为 ExtensionPoint.
fun <E : Extension> contribute(extensionPoint: ExtensionPoint<E>, lazyInstance: () -> E)
Content copied to clipboard
open override fun <E : Extension> contribute( extensionPoint: ExtensionPoint<E>, plugin: Plugin, extensionInstance: E)
Content copied to clipboard
注册一个扩展
open override fun <E : Extension> contribute( extensionPoint: ExtensionPoint<E>, plugin: Plugin, lazyInstance: () -> E)
Content copied to clipboard
注册一个扩展. lazyInstance 将会在 getExtensions 时才会计算.
Link copied to clipboard
Link copied to clipboard
fun contributeCommandCallParser(provider: CommandCallInterceptorProvider)
Content copied to clipboard
Link copied to clipboard
open fun <E : Extension> contributeConsole(extensionPoint: ExtensionPoint<E>, instance: E)
Content copied to clipboard
注册一个由 Mirai Console 实现的扩展 (因此没有相关 Plugin).
open override fun <E : Extension> contributeConsole(extensionPoint: ExtensionPoint<E>, lazyInstance: () -> E)
Content copied to clipboard
注册一个由 Mirai Console 实现的扩展 (因此没有相关 Plugin). lazyInstance 将会在 getExtensions 时才会计算.
Link copied to clipboard
fun contributePermissionService(lazyProvider: () -> PermissionServiceProvider)
Content copied to clipboard
Link copied to clipboard
注册一个 PluginLoaderProvider
Link copied to clipboard
注册一个 PostStartupExtension
Link copied to clipboard
open override fun <E : Extension> getExtensions(extensionPoint: ExtensionPoint<E>): Sequence<ExtensionRegistry<E>>
Content copied to clipboard
获取注册的 ExtensionPoint 扩展实例列表. 返回的 Sequence 以 Extension.priority 倒序排序.
Link copied to clipboard
open override fun <E : Extension> getExtensionsStream(extensionPoint: ExtensionPoint<E>): Stream<ExtensionRegistry<E>>
Content copied to clipboard
获取注册的 ExtensionPoint 扩展实例列表. 返回的 Stream 以 Extension.priority 倒序排序.
Link copied to clipboard
open fun <E : Extension> getPreferredExtension(extensionPoint: ExtensionPoint<E>): ExtensionRegistry<E>
Content copied to clipboard
获取优先级最高的 ExtensionPoint 扩展实例. 在未找到任何注册的实例时抛出 NoSuchElementException.
Link copied to clipboard
注册一个 PostStartupExtension