Skip to content
This repository has been archived by the owner on Feb 10, 2023. It is now read-only.

Commit

Permalink
Add AbstractJvmPlugin.save and AbstractJvmPlugin.savePluginData, close
Browse files Browse the repository at this point in the history
  • Loading branch information
Him188 committed Nov 9, 2021
1 parent fbc7f69 commit 557459f
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions backend/mirai-console/src/plugin/jvm/AbstractJvmPlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,24 @@ public abstract class AbstractJvmPlugin @JvmOverloads constructor(
@JvmName("reloadPluginConfig")
public fun <T : PluginConfig> T.reload(): Unit = loader.configStorage.load(this@AbstractJvmPlugin, this)

/**
* 立即保存 [PluginData]
*
* @see reloadPluginData
* @since 2.9
*/
@JvmName("savePluginData")
public fun <T : PluginData> T.save(): Unit = loader.dataStorage.store(this@AbstractJvmPlugin, this)

/**
* 立即保存 [PluginConfig]
*
* @see reloadPluginConfig
* @since 2.9
*/
@JvmName("savePluginConfig")
public fun <T : PluginConfig> T.save(): Unit = loader.configStorage.store(this@AbstractJvmPlugin, this)

@ConsoleExperimentalApi
public override val autoSaveIntervalMillis: LongRange = 30.secondsToMillis..10.minutesToMillis
}
Expand All @@ -76,3 +94,21 @@ public inline fun AbstractJvmPlugin.reloadPluginData(instance: PluginData): Unit
*/
@JvmSynthetic
public inline fun AbstractJvmPlugin.reloadPluginConfig(instance: PluginConfig): Unit = this.run { instance.reload() }

/**
* 立即保存 [PluginData]
*
* @see AbstractJvmPlugin.save
* @since 2.9
*/
@JvmSynthetic
public inline fun AbstractJvmPlugin.savePluginData(instance: PluginData): Unit = this.run { instance.save() }

/**
* 立即保存 [PluginConfig]
*
* @see AbstractJvmPlugin.save
* @since 2.9
*/
@JvmSynthetic
public inline fun AbstractJvmPlugin.savePluginConfig(instance: PluginConfig): Unit = this.run { instance.save() }

0 comments on commit 557459f

Please sign in to comment.