11package com.mairwunnx.projectessentials.backup.managers
22
33import com.mairwunnx.projectessentials.backup.configurations.BackupConfiguration
4+ import com.mairwunnx.projectessentials.core.api.v1.MESSAGE_MODULE_PREFIX
45import com.mairwunnx.projectessentials.core.api.v1.configuration.ConfigurationAPI.getConfigurationByName
56import com.mairwunnx.projectessentials.core.api.v1.extensions.empty
7+ import com.mairwunnx.projectessentials.core.api.v1.messaging.MessagingAPI
8+ import com.mairwunnx.projectessentials.core.api.v1.permissions.hasPermission
69import kotlinx.coroutines.*
710import net.minecraftforge.api.distmarker.Dist
811import net.minecraftforge.fml.DistExecutor
@@ -103,6 +106,7 @@ object BackupManager {
103106 File (inPath), File (path), backupConfiguration.backupCompressionLevel
104107 )
105108 }.also { time -> logger.debug(" Backup saved to $path for ${time / 1000 } seconds" ) }
109+ notifyPlayer()
106110 }
107111 }.start()
108112 }
@@ -124,4 +128,11 @@ object BackupManager {
124128 val dateTime = SimpleDateFormat (backupConfiguration.backupDateFormat).format(Date ())
125129 return file.absolutePath + File .separator + getCurrentServer().folderName + " -" + dateTime + ext
126130 }
131+
132+ private fun notifyPlayer () {
133+ if (! backupConfiguration.notifyPlayersAboutBackup) return
134+ getCurrentServer().playerList.players.asSequence().filter {
135+ hasPermission(it, " ess.backup.notify" , 4 )
136+ }.forEach { MessagingAPI .sendMessage(it, " ${MESSAGE_MODULE_PREFIX } backup.notify" ) }
137+ }
127138}
0 commit comments