Maybe compute baseDirectory each time it is accessed?

maybe fixes #218
This commit is contained in:
DBotThePony 2022-11-06 16:22:45 +07:00
parent f3f7e84b69
commit b2ea1e9b24
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -13,6 +13,7 @@ import net.minecraftforge.event.server.ServerAboutToStartEvent
import net.minecraftforge.event.server.ServerStoppingEvent import net.minecraftforge.event.server.ServerStoppingEvent
import net.minecraftforge.event.level.LevelEvent import net.minecraftforge.event.level.LevelEvent
import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.LogManager
import ru.dbotthepony.mc.otm.NULLABLE_MINECRAFT_SERVER
import ru.dbotthepony.mc.otm.SERVER_IS_LIVE import ru.dbotthepony.mc.otm.SERVER_IS_LIVE
import java.io.File import java.io.File
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
@ -106,7 +107,21 @@ object DrivePool {
} }
private var backlog = ArrayList<BacklogLine>() private var backlog = ArrayList<BacklogLine>()
private var baseDirectory: File? = null private var knownBaseDirectory: File? = null
private val baseDirectory: File? get() {
val server = NULLABLE_MINECRAFT_SERVER ?: return null
val baseDirectory = File(server.storageSource.worldDir.toFile(), DATA_PATH)
if (knownBaseDirectory != baseDirectory) {
baseDirectory.mkdirs()
knownBaseDirectory = baseDirectory
}
return baseDirectory
}
private var serverThread: Thread? = null private var serverThread: Thread? = null
private fun thread() { private fun thread() {
@ -156,11 +171,6 @@ object DrivePool {
} }
pool.clear() pool.clear()
val server = event.server
baseDirectory = File(server.storageSource.worldDir.toFile(), DATA_PATH)
baseDirectory!!.mkdirs()
serverThread = Thread.currentThread() serverThread = Thread.currentThread()
stopping = false stopping = false