From eb6f4fdb10490a467eff66d158471bbd49150a1a Mon Sep 17 00:00:00 2001 From: Szum123321 Date: Sat, 27 Nov 2021 19:56:11 +0100 Subject: [PATCH] Added Config option to enable/disable global announcement of backup starting and finishing --- .../textile_backup/config/ConfigPOJO.java | 10 ++++++++++ .../textile_backup/core/create/BackupHelper.java | 12 ++++++++---- .../core/create/MakeBackupRunnable.java | 16 +++++++++++----- .../assets/textile_backup/lang/en_us.json | 4 ++++ 4 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/szum123321/textile_backup/config/ConfigPOJO.java b/src/main/java/net/szum123321/textile_backup/config/ConfigPOJO.java index c1b17ff..975970f 100644 --- a/src/main/java/net/szum123321/textile_backup/config/ConfigPOJO.java +++ b/src/main/java/net/szum123321/textile_backup/config/ConfigPOJO.java @@ -141,6 +141,16 @@ public class ConfigPOJO implements ConfigData { @ConfigEntry.Category("Manage") public List playerBlacklist = new ArrayList<>(); + @Comment("\nAnnounce to ALL players when backup starts\n") + @ConfigEntry.Gui.NoTooltip() + @ConfigEntry.Category("Manage") + public boolean broadcastBackupStart = true; + + @Comment("\nAnnounce to ALL players when backup finishes\n") + @ConfigEntry.Gui.NoTooltip() + @ConfigEntry.Category("Manage") + public boolean broadcastBackupDone = true; + @Comment(""" \nFormat of date&time used to name backup files. Remember not to use '#' symbol or any other character that is not allowed by your operating system such as: diff --git a/src/main/java/net/szum123321/textile_backup/core/create/BackupHelper.java b/src/main/java/net/szum123321/textile_backup/core/create/BackupHelper.java index 8299347..14efded 100644 --- a/src/main/java/net/szum123321/textile_backup/core/create/BackupHelper.java +++ b/src/main/java/net/szum123321/textile_backup/core/create/BackupHelper.java @@ -37,10 +37,14 @@ public class BackupHelper { private final static ConfigHelper config = ConfigHelper.INSTANCE; public static Runnable create(BackupContext ctx) { - Utilities.notifyPlayers(ctx.getServer(), - ctx.getInitiatorUUID(), - "Warning! Server backup will begin shortly. You may experience some lag." - ); + if(config.get().broadcastBackupStart) { + Utilities.notifyPlayers(ctx.getServer(), + ctx.getInitiatorUUID(), + "Warning! Server backup will begin shortly. You may experience some lag." + ); + } else { + log.sendInfoAL(ctx, "Warning! Server backup will begin shortly. You may experience some lag."); + } StringBuilder builder = new StringBuilder(); diff --git a/src/main/java/net/szum123321/textile_backup/core/create/MakeBackupRunnable.java b/src/main/java/net/szum123321/textile_backup/core/create/MakeBackupRunnable.java index 74ed6da..2b4857a 100644 --- a/src/main/java/net/szum123321/textile_backup/core/create/MakeBackupRunnable.java +++ b/src/main/java/net/szum123321/textile_backup/core/create/MakeBackupRunnable.java @@ -51,6 +51,8 @@ public class MakeBackupRunnable implements Runnable { Utilities.disableWorldSaving(context.getServer()); Statics.disableWatchdog = true; + Utilities.updateTMPFSFlag(context.getServer()); + log.sendInfoAL(context, "Starting backup"); File world = Utilities.getWorldFolder(context.getServer()); @@ -113,11 +115,15 @@ public class MakeBackupRunnable implements Runnable { BackupHelper.executeFileLimit(context.getCommandSource(), Utilities.getLevelName(context.getServer())); - Utilities.notifyPlayers( - context.getServer(), - context.getInitiatorUUID(), - "Done!" - ); + if(config.get().broadcastBackupDone) { + Utilities.notifyPlayers( + context.getServer(), + context.getInitiatorUUID(), + "Done!" + ); + } else { + log.sendInfoAL(context, "Done!"); + } } finally { Utilities.enableWorldSaving(context.getServer()); Statics.disableWatchdog = false; diff --git a/src/main/resources/assets/textile_backup/lang/en_us.json b/src/main/resources/assets/textile_backup/lang/en_us.json index 4512982..55223de 100644 --- a/src/main/resources/assets/textile_backup/lang/en_us.json +++ b/src/main/resources/assets/textile_backup/lang/en_us.json @@ -12,6 +12,10 @@ "text.autoconfig.textile_backup.option.restoreDelay": "Restore Delay", "text.autoconfig.textile_backup.option.restoreDelay.@Tooltip": "In seconds", + "text.autoconfig.textile_backup.option.broadcastBackupStart": "Announce backup start", + + "text.autoconfig.textile_backup.option.broadcastBackupDone": "Announce backup done", + "text.autoconfig.textile_backup.option.doBackupsOnEmptyServer": "Make automatic backups on empty server", "text.autoconfig.textile_backup.option.shutdownBackup": "Make a backup on shutdown",