diff --git a/src/main/java/net/szum123321/textile_backup/TextileBackup.java b/src/main/java/net/szum123321/textile_backup/TextileBackup.java
index d2c40e2..81d514a 100644
--- a/src/main/java/net/szum123321/textile_backup/TextileBackup.java
+++ b/src/main/java/net/szum123321/textile_backup/TextileBackup.java
@@ -39,8 +39,8 @@ import net.szum123321.textile_backup.config.ConfigHelper;
import net.szum123321.textile_backup.config.ConfigPOJO;
import net.szum123321.textile_backup.core.ActionInitiator;
import net.szum123321.textile_backup.core.create.BackupContext;
-import net.szum123321.textile_backup.core.create.BackupHelper;
import net.szum123321.textile_backup.core.create.BackupScheduler;
+import net.szum123321.textile_backup.core.create.MakeBackupRunnableFactory;
public class TextileBackup implements ModInitializer {
public static final String MOD_NAME = "Textile Backup";
@@ -67,7 +67,7 @@ public class TextileBackup implements ModInitializer {
Globals.INSTANCE.shutdownQueueExecutor(60000);
if (config.get().shutdownBackup && Globals.INSTANCE.globalShutdownBackupFlag.get()) {
- BackupHelper.create(
+ MakeBackupRunnableFactory.create(
BackupContext.Builder
.newBackupContextBuilder()
.setServer(server)
diff --git a/src/main/java/net/szum123321/textile_backup/commands/create/CleanupCommand.java b/src/main/java/net/szum123321/textile_backup/commands/create/CleanupCommand.java
index 4ca516f..05dafce 100644
--- a/src/main/java/net/szum123321/textile_backup/commands/create/CleanupCommand.java
+++ b/src/main/java/net/szum123321/textile_backup/commands/create/CleanupCommand.java
@@ -23,7 +23,7 @@ import net.minecraft.server.command.CommandManager;
import net.minecraft.server.command.ServerCommandSource;
import net.szum123321.textile_backup.TextileBackup;
import net.szum123321.textile_backup.TextileLogger;
-import net.szum123321.textile_backup.core.create.BackupHelper;
+import net.szum123321.textile_backup.core.Cleanup;
import net.szum123321.textile_backup.core.Utilities;
public class CleanupCommand {
@@ -38,7 +38,7 @@ public class CleanupCommand {
log.sendInfo(
source,
"Deleted: {} files.",
- BackupHelper.executeFileLimit(source, Utilities.getLevelName(source.getServer()))
+ Cleanup.executeFileLimit(source, Utilities.getLevelName(source.getServer()))
);
return 1;
diff --git a/src/main/java/net/szum123321/textile_backup/commands/create/StartBackupCommand.java b/src/main/java/net/szum123321/textile_backup/commands/create/StartBackupCommand.java
index cf5f58e..830a88a 100644
--- a/src/main/java/net/szum123321/textile_backup/commands/create/StartBackupCommand.java
+++ b/src/main/java/net/szum123321/textile_backup/commands/create/StartBackupCommand.java
@@ -26,7 +26,7 @@ import net.szum123321.textile_backup.Globals;
import net.szum123321.textile_backup.TextileBackup;
import net.szum123321.textile_backup.TextileLogger;
import net.szum123321.textile_backup.core.create.BackupContext;
-import net.szum123321.textile_backup.core.create.BackupHelper;
+import net.szum123321.textile_backup.core.create.MakeBackupRunnableFactory;
import javax.annotation.Nullable;
@@ -43,7 +43,7 @@ public class StartBackupCommand {
private static int execute(ServerCommandSource source, @Nullable String comment) {
try {
Globals.INSTANCE.getQueueExecutor().submit(
- BackupHelper.create(
+ MakeBackupRunnableFactory.create(
BackupContext.Builder
.newBackupContextBuilder()
.setCommandSource(source)
diff --git a/src/main/java/net/szum123321/textile_backup/core/create/BackupHelper.java b/src/main/java/net/szum123321/textile_backup/core/Cleanup.java
similarity index 68%
rename from src/main/java/net/szum123321/textile_backup/core/create/BackupHelper.java
rename to src/main/java/net/szum123321/textile_backup/core/Cleanup.java
index a61fdd2..e3114fa 100644
--- a/src/main/java/net/szum123321/textile_backup/core/create/BackupHelper.java
+++ b/src/main/java/net/szum123321/textile_backup/core/Cleanup.java
@@ -1,29 +1,29 @@
/*
- A simple backup mod for Fabric
- Copyright (C) 2020 Szum123321
+ * A simple backup mod for Fabric
+ * Copyright (C) 2022 Szum123321
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-*/
-
-package net.szum123321.textile_backup.core.create;
+package net.szum123321.textile_backup.core;
import net.minecraft.server.command.ServerCommandSource;
import net.szum123321.textile_backup.Globals;
import net.szum123321.textile_backup.TextileBackup;
import net.szum123321.textile_backup.TextileLogger;
import net.szum123321.textile_backup.config.ConfigHelper;
-import net.szum123321.textile_backup.core.Utilities;
import java.io.IOException;
import java.nio.file.Files;
@@ -35,55 +35,14 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Stream;
-public class BackupHelper {
+public class Cleanup {
private final static TextileLogger log = new TextileLogger(TextileBackup.MOD_NAME);
private final static ConfigHelper config = ConfigHelper.INSTANCE;
- public static Runnable create(BackupContext ctx) {
- if(config.get().broadcastBackupStart) {
- Utilities.notifyPlayers(ctx.server(),
- "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();
-
- builder.append("Backup started ");
-
- builder.append(ctx.initiator().getPrefix());
-
- if(ctx.startedByPlayer())
- builder.append(ctx.commandSource().getDisplayName().getString());
- else
- builder.append(ctx.initiator().getName());
-
- builder.append(" on: ");
- builder.append(Utilities.getDateTimeFormatter().format(LocalDateTime.now()));
-
- log.info(builder.toString());
-
- if (ctx.shouldSave()) {
- log.sendInfoAL(ctx, "Saving server...");
-
- ctx.server().getPlayerManager().saveAllPlayerData();
-
- try {
- ctx.server().save(false, true, true);
- } catch (Exception e) {
- log.sendErrorAL(ctx,"An exception occurred when trying to save the world!");
- }
- }
-
- return new MakeBackupRunnable(ctx);
- }
-
public static int executeFileLimit(ServerCommandSource ctx, String worldName) {
Path root = Utilities.getBackupRootPath(worldName);
int deletedFiles = 0;
-
if (Files.isDirectory(root) && Files.exists(root) && !isEmpty(root)) {
if (config.get().maxAge > 0) { // delete files older that configured
final long now = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
diff --git a/src/main/java/net/szum123321/textile_backup/core/create/BackupScheduler.java b/src/main/java/net/szum123321/textile_backup/core/create/BackupScheduler.java
index 10d1be3..6ce816a 100644
--- a/src/main/java/net/szum123321/textile_backup/core/create/BackupScheduler.java
+++ b/src/main/java/net/szum123321/textile_backup/core/create/BackupScheduler.java
@@ -44,7 +44,7 @@ public class BackupScheduler {
if(scheduled) {
if(nextBackup <= now) {
Globals.INSTANCE.getQueueExecutor().submit(
- BackupHelper.create(
+ MakeBackupRunnableFactory.create(
BackupContext.Builder
.newBackupContextBuilder()
.setServer(server)
@@ -63,7 +63,7 @@ public class BackupScheduler {
} else if(!config.get().doBackupsOnEmptyServer && server.getPlayerManager().getCurrentPlayerCount() == 0) {
if(scheduled && nextBackup <= now) {
Globals.INSTANCE.getQueueExecutor().submit(
- BackupHelper.create(
+ MakeBackupRunnableFactory.create(
BackupContext.Builder
.newBackupContextBuilder()
.setServer(server)
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 beba9b8..05e8c3a 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
@@ -23,6 +23,7 @@ import net.szum123321.textile_backup.TextileBackup;
import net.szum123321.textile_backup.TextileLogger;
import net.szum123321.textile_backup.config.ConfigHelper;
import net.szum123321.textile_backup.core.ActionInitiator;
+import net.szum123321.textile_backup.core.Cleanup;
import net.szum123321.textile_backup.core.create.compressors.*;
import net.szum123321.textile_backup.core.Utilities;
import net.szum123321.textile_backup.core.create.compressors.tar.AbstractTarArchiver;
@@ -108,7 +109,7 @@ public class MakeBackupRunnable implements Runnable {
case TAR -> new AbstractTarArchiver().createArchive(world, outFile, context, coreCount);
}
- BackupHelper.executeFileLimit(context.commandSource(), Utilities.getLevelName(context.server()));
+ Cleanup.executeFileLimit(context.commandSource(), Utilities.getLevelName(context.server()));
if(config.get().broadcastBackupDone) {
Utilities.notifyPlayers(
diff --git a/src/main/java/net/szum123321/textile_backup/core/create/MakeBackupRunnableFactory.java b/src/main/java/net/szum123321/textile_backup/core/create/MakeBackupRunnableFactory.java
new file mode 100644
index 0000000..36d8eb6
--- /dev/null
+++ b/src/main/java/net/szum123321/textile_backup/core/create/MakeBackupRunnableFactory.java
@@ -0,0 +1,72 @@
+/*
+ * A simple backup mod for Fabric
+ * Copyright (C) 2022 Szum123321
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+package net.szum123321.textile_backup.core.create;
+
+import net.szum123321.textile_backup.TextileBackup;
+import net.szum123321.textile_backup.TextileLogger;
+import net.szum123321.textile_backup.config.ConfigHelper;
+import net.szum123321.textile_backup.core.Utilities;
+
+import java.time.LocalDateTime;
+
+public class MakeBackupRunnableFactory {
+ private final static TextileLogger log = new TextileLogger(TextileBackup.MOD_NAME);
+ private final static ConfigHelper config = ConfigHelper.INSTANCE;
+
+ public static Runnable create(BackupContext ctx) {
+ if(config.get().broadcastBackupStart) {
+ Utilities.notifyPlayers(ctx.server(),
+ "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();
+
+ builder.append("Backup started ");
+
+ builder.append(ctx.initiator().getPrefix());
+
+ if(ctx.startedByPlayer())
+ builder.append(ctx.commandSource().getDisplayName().getString());
+ else
+ builder.append(ctx.initiator().getName());
+
+ builder.append(" on: ");
+ builder.append(Utilities.getDateTimeFormatter().format(LocalDateTime.now()));
+
+ log.info(builder.toString());
+
+ if (ctx.shouldSave()) {
+ log.sendInfoAL(ctx, "Saving server...");
+
+ ctx.server().getPlayerManager().saveAllPlayerData();
+
+ try {
+ ctx.server().save(false, true, true);
+ } catch (Exception e) {
+ log.sendErrorAL(ctx,"An exception occurred when trying to save the world!");
+ }
+ }
+
+ return new MakeBackupRunnable(ctx);
+ }
+}
diff --git a/src/main/java/net/szum123321/textile_backup/core/restore/RestoreBackupRunnable.java b/src/main/java/net/szum123321/textile_backup/core/restore/RestoreBackupRunnable.java
index 7de61ef..2f3e207 100644
--- a/src/main/java/net/szum123321/textile_backup/core/restore/RestoreBackupRunnable.java
+++ b/src/main/java/net/szum123321/textile_backup/core/restore/RestoreBackupRunnable.java
@@ -27,7 +27,7 @@ import net.szum123321.textile_backup.core.ActionInitiator;
import net.szum123321.textile_backup.core.LivingServer;
import net.szum123321.textile_backup.core.Utilities;
import net.szum123321.textile_backup.core.create.BackupContext;
-import net.szum123321.textile_backup.core.create.BackupHelper;
+import net.szum123321.textile_backup.core.create.MakeBackupRunnableFactory;
import net.szum123321.textile_backup.core.restore.decompressors.GenericTarDecompressor;
import net.szum123321.textile_backup.core.restore.decompressors.ZipDecompressor;
@@ -55,7 +55,7 @@ public class RestoreBackupRunnable implements Runnable {
awaitServerShutdown();
if(config.get().backupOldWorlds) {
- BackupHelper.create(
+ MakeBackupRunnableFactory.create(
BackupContext.Builder
.newBackupContextBuilder()
.setServer(ctx.server())