修复在插件配置的saveName中使用子路径出现的异常 (#2088)

This commit is contained in:
TheFatCat 2022-06-14 02:45:11 +08:00 committed by GitHub
parent 1a2241b8b2
commit 342538e31b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -62,7 +62,10 @@ internal open class MultiFilePluginDataStorageImpl(
error("Target File $file is occupied by a directory therefore data ${instance::class.qualifiedNameOrTip} can't be saved.")
}
// logger.verbose { "File allocated for ${instance.saveName}: $file" }
return file.toFile().also { it.createNewFile() }
return file.toFile().also {
it.parentFile?.mkdirs()
it.createNewFile()
}
}
@ConsoleExperimentalApi

View File

@ -110,7 +110,7 @@ object MyData : AutoSavePluginData("MyData") { // 文件名为 MyData, 会被保
3. 建立自动保存链接
使用 `PluginDataStorage.load(PluginDataHolder, PluginData)` 即可完成自动保存链接,并读取数据。
对于 [JVM 插件][`JvmPlugin`],可简便地在 `onEnable()` 中使用 `MyData.reload()`(对于上例)。详见 [读取 `PluginData` 或 `PluginConfig`](Plugins.md#读取-plugindata-或-pluginconfig)
对于 [JVM 插件][`JvmPlugin`],可简便地在 `onEnable()` 中使用 `MyData.reload()`(对于上例)。详见 [读取 `PluginData` 或 `PluginConfig`](plugin/JVMPlugin-Appendix.md#读取-plugindata-或-pluginconfig)
### 定义数据模型Java
*由于 Java 语法局限,为 Kotlin 而设计的 PluginData 在 Java 使用很复杂。*