@@ -4,12 +4,14 @@ import com.mairwunnx.projectessentials.backup.configuration.BackupConfigurationC
44import kotlinx.coroutines.*
55import net.minecraftforge.api.distmarker.Dist
66import net.minecraftforge.fml.DistExecutor
7+ import org.apache.logging.log4j.LogManager
78import org.zeroturnaround.zip.ZipUtil
89import java.io.File
910import java.text.SimpleDateFormat
1011import java.util.*
1112
1213object BackupController {
14+ private val logger = LogManager .getLogger()
1315 private lateinit var job: Job
1416 var isFirstLaunch = true
1517
@@ -104,13 +106,23 @@ object BackupController {
104106 private fun makeBackup (path : String ) {
105107 val configuration = BackupConfigurationController .get()
106108
107- EntryPoint .serverInstance.save(true , false , true )
109+ runBlocking {
110+ val savingJob = launch(Dispatchers .Default ) {
111+ EntryPoint .serverInstance.save(false , false , true )
112+ }
113+ savingJob.invokeOnCompletion {
114+ val savingPath = buildFilePathName(path)
115+ logger.info(" Saving backup as $savingPath " )
116+
117+ ZipUtil .pack(
118+ File (path),
119+ File (buildFilePathName(path)),
120+ configuration.backupCompressionLevel
121+ )
122+ }
108123
109- ZipUtil .pack(
110- File (path),
111- File (buildFilePathName(path)),
112- configuration.backupCompressionLevel
113- )
124+ savingJob.start()
125+ }
114126 }
115127
116128 private fun buildFilePathName (path : String ): String {
0 commit comments