AbstractJvmPlugin

abstract class AbstractJvmPlugin @JvmOverloads constructor(parentCoroutineContext: CoroutineContext) : JvmPluginInternal, JvmPlugin, AutoSavePluginDataHolder

JavaPluginKotlinPlugin 的父类. 所有 JvmPlugin 都应该拥有此类作为直接或间接父类.

See also

Constructors

AbstractJvmPlugin
Link copied to clipboard
fun AbstractJvmPlugin(parentCoroutineContext: CoroutineContext = EmptyCoroutineContext)

Functions

getResource
Link copied to clipboard
open fun getResource(path: String): String?

读取一个资源文件并以 Charsets.UTF_8 解码为 String.

open fun getResource(path: String, charset: Charset): String?

读取一个资源文件并以 charset 解码为 String.

getResourceAsStream
Link copied to clipboard
abstract fun getResourceAsStream(path: String): InputStream?

获取一个资源文件.

onDisable
Link copied to clipboard
open fun onDisable()

在插件被关闭时调用, 可能会被调用多次

onEnable
Link copied to clipboard
open fun onEnable()

在插件被启用时调用, 可能会被调用多次

onLoad
Link copied to clipboard
open fun PluginComponentStorage.onLoad()

在插件被加载时调用. 只会被调用一次.

permissionId
Link copied to clipboard
override fun permissionId(name: String): PermissionId

创建一个此命名空间下的 PermitteeId.

reload
Link copied to clipboard
@JvmName(name = "reloadPluginConfig")
fun <T : PluginConfig> T.reload()
@JvmName(name = "reloadPluginData")
fun <T : PluginData> T.reload()

重载 PluginData

resolveConfigFile
Link copied to clipboard
open fun resolveConfigFile(relativePath: Path): File
open fun resolveConfigFile(relativePath: String): File

从配置目录获取一个文件.

resolveConfigPath
Link copied to clipboard
open fun resolveConfigPath(relativePath: Path): Path

从配置目录获取一个文件路径.

open fun resolveConfigPath(relativePath: String): Path

从配置目录获取一个文件.

resolveDataFile
Link copied to clipboard
open fun resolveDataFile(relativePath: Path): File
open fun resolveDataFile(relativePath: String): File

从数据目录获取一个文件.

resolveDataPath
Link copied to clipboard
open fun resolveDataPath(relativePath: Path): Path

从数据目录获取一个文件路径.

open fun resolveDataPath(relativePath: String): Path

从数据目录获取一个文件.

save
Link copied to clipboard
@JvmName(name = "savePluginConfig")
fun <T : PluginConfig> T.save()

立即保存 PluginConfig

@JvmName(name = "savePluginData")
fun <T : PluginData> T.save()

立即保存 PluginData

Properties

autoSaveIntervalMillis
Link copied to clipboard
open override val autoSaveIntervalMillis: LongRange

AutoSavePluginData 每次自动保存时间间隔

configFolder
Link copied to clipboard
abstract val configFolder: File

插件配置保存路径

configFolderPath
Link copied to clipboard
abstract val configFolderPath: Path

插件配置保存路径

coroutineContext
Link copied to clipboard
abstract val coroutineContext: CoroutineContext
dataFolder
Link copied to clipboard
abstract val dataFolder: File

数据目录. dataFolderPath.toFile()

dataFolderPath
Link copied to clipboard
abstract val dataFolderPath: Path

数据目录路径

dataHolderName
Link copied to clipboard
override val dataHolderName: String

保存时使用的分类名

description
Link copied to clipboard
abstract val description: JvmPluginDescription

插件描述

isEnabled
Link copied to clipboard
abstract val isEnabled: Boolean

当插件已启用时返回 true, 否则表示插件未启用.

loader
Link copied to clipboard
override val loader: JvmPluginLoader

所属插件加载器实例

logger
Link copied to clipboard
abstract val logger: MiraiLogger

日志

parentPermission
Link copied to clipboard
abstract val parentPermission: Permission

在构造指令时, Command.permission 默认会使用 parentPermission 作为 Permission.parent

Inheritors

JavaPlugin
Link copied to clipboard
KotlinPlugin
Link copied to clipboard

Extensions

reloadPluginConfig
Link copied to clipboard
inline fun AbstractJvmPlugin.reloadPluginConfig(instance: PluginConfig)

重载一个 PluginConfig

reloadPluginData
Link copied to clipboard
inline fun AbstractJvmPlugin.reloadPluginData(instance: PluginData)

重载一个 PluginData

savePluginConfig
Link copied to clipboard
inline fun AbstractJvmPlugin.savePluginConfig(instance: PluginConfig)

立即保存 PluginConfig

savePluginData
Link copied to clipboard
inline fun AbstractJvmPlugin.savePluginData(instance: PluginData)

立即保存 PluginData