diff --git a/src/main/java/net/szum123321/textile_backup/TextileBackup.java b/src/main/java/net/szum123321/textile_backup/TextileBackup.java index 32c2f3e..5d24d56 100644 --- a/src/main/java/net/szum123321/textile_backup/TextileBackup.java +++ b/src/main/java/net/szum123321/textile_backup/TextileBackup.java @@ -26,7 +26,12 @@ import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; import net.minecraft.server.command.ServerCommandSource; -import net.szum123321.textile_backup.commands.*; +import net.szum123321.textile_backup.commands.create.CleanupCommand; +import net.szum123321.textile_backup.commands.create.StartBackupCommand; +import net.szum123321.textile_backup.commands.permission.BlacklistCommand; +import net.szum123321.textile_backup.commands.permission.WhitelistCommand; +import net.szum123321.textile_backup.commands.restore.ListBackupsCommand; +import net.szum123321.textile_backup.commands.restore.RestoreBackupCommand; import net.szum123321.textile_backup.core.create.BackupScheduler; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/net/szum123321/textile_backup/commands/ListBackupsCommand.java b/src/main/java/net/szum123321/textile_backup/commands/ListBackupsCommand.java deleted file mode 100644 index 548a45a..0000000 --- a/src/main/java/net/szum123321/textile_backup/commands/ListBackupsCommand.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.szum123321.textile_backup.commands; - -import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import net.minecraft.server.command.CommandManager; -import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.text.LiteralText; -import net.szum123321.textile_backup.core.Utilities; - -import java.util.Arrays; - -public class ListBackupsCommand { - public static LiteralArgumentBuilder register() { - return CommandManager.literal("list") - .executes(ctx -> { - StringBuilder builder = new StringBuilder(); - - builder.append("Available backups: "); - - Arrays.stream(Utilities.getBackupRootPath(Utilities.getLevelName(ctx.getSource().getMinecraftServer())) - .listFiles()) - .forEach(file -> builder.append(file.getName()).append(", ")); - - ctx.getSource().sendFeedback(new LiteralText(builder.toString()), false); - - return 1; - }); - } -} diff --git a/src/main/java/net/szum123321/textile_backup/commands/CleanupCommand.java b/src/main/java/net/szum123321/textile_backup/commands/create/CleanupCommand.java similarity index 96% rename from src/main/java/net/szum123321/textile_backup/commands/CleanupCommand.java rename to src/main/java/net/szum123321/textile_backup/commands/create/CleanupCommand.java index b4d6f19..7090eab 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/CleanupCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/create/CleanupCommand.java @@ -16,7 +16,7 @@ along with this program. If not, see . */ -package net.szum123321.textile_backup.commands; +package net.szum123321.textile_backup.commands.create; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import net.minecraft.server.command.CommandManager; diff --git a/src/main/java/net/szum123321/textile_backup/commands/StartBackupCommand.java b/src/main/java/net/szum123321/textile_backup/commands/create/StartBackupCommand.java similarity index 98% rename from src/main/java/net/szum123321/textile_backup/commands/StartBackupCommand.java rename to src/main/java/net/szum123321/textile_backup/commands/create/StartBackupCommand.java index 158d205..7ac8a49 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/StartBackupCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/create/StartBackupCommand.java @@ -16,7 +16,7 @@ along with this program. If not, see . */ -package net.szum123321.textile_backup.commands; +package net.szum123321.textile_backup.commands.create; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; diff --git a/src/main/java/net/szum123321/textile_backup/commands/BlacklistCommand.java b/src/main/java/net/szum123321/textile_backup/commands/permission/BlacklistCommand.java similarity index 98% rename from src/main/java/net/szum123321/textile_backup/commands/BlacklistCommand.java rename to src/main/java/net/szum123321/textile_backup/commands/permission/BlacklistCommand.java index 510a6b1..a904e8c 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/BlacklistCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/permission/BlacklistCommand.java @@ -1,4 +1,4 @@ -package net.szum123321.textile_backup.commands; +package net.szum123321.textile_backup.commands.permission; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; diff --git a/src/main/java/net/szum123321/textile_backup/commands/WhitelistCommand.java b/src/main/java/net/szum123321/textile_backup/commands/permission/WhitelistCommand.java similarity index 98% rename from src/main/java/net/szum123321/textile_backup/commands/WhitelistCommand.java rename to src/main/java/net/szum123321/textile_backup/commands/permission/WhitelistCommand.java index 18d30ed..f7cb901 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/WhitelistCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/permission/WhitelistCommand.java @@ -1,4 +1,4 @@ -package net.szum123321.textile_backup.commands; +package net.szum123321.textile_backup.commands.permission; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; diff --git a/src/main/java/net/szum123321/textile_backup/commands/restore/ListBackupsCommand.java b/src/main/java/net/szum123321/textile_backup/commands/restore/ListBackupsCommand.java new file mode 100644 index 0000000..b32ebb9 --- /dev/null +++ b/src/main/java/net/szum123321/textile_backup/commands/restore/ListBackupsCommand.java @@ -0,0 +1,43 @@ +package net.szum123321.textile_backup.commands.restore; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import net.minecraft.server.command.CommandManager; +import net.minecraft.server.command.ServerCommandSource; +import net.minecraft.text.LiteralText; +import net.szum123321.textile_backup.core.Utilities; + +import java.io.File; +import java.util.Arrays; +import java.util.Iterator; + +public class ListBackupsCommand { + public static LiteralArgumentBuilder register() { + return CommandManager.literal("list") + .executes(ctx -> { + StringBuilder builder = new StringBuilder(); + + File[] files = Utilities.getBackupRootPath(Utilities.getLevelName(ctx.getSource().getMinecraftServer())).listFiles(); + + if(files.length == 0) { + builder.append("There a no backups available for this world."); + } else if(files.length == 1) { + builder.append("There is only one backup available: "); + builder.append(files[0].getName()); + } else { + Iterator iterator = Arrays.stream(files).iterator(); + builder.append("Available backups: "); + + builder.append(iterator.next()); + + while(iterator.hasNext()) { + builder.append("\n"); + builder.append(iterator.next()); + } + } + + ctx.getSource().sendFeedback(new LiteralText(builder.toString()), false); + + return 1; + }); + } +} diff --git a/src/main/java/net/szum123321/textile_backup/commands/RestoreBackupCommand.java b/src/main/java/net/szum123321/textile_backup/commands/restore/RestoreBackupCommand.java similarity index 98% rename from src/main/java/net/szum123321/textile_backup/commands/RestoreBackupCommand.java rename to src/main/java/net/szum123321/textile_backup/commands/restore/RestoreBackupCommand.java index 22f1bb7..f2160a7 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/RestoreBackupCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/restore/RestoreBackupCommand.java @@ -1,4 +1,4 @@ -package net.szum123321.textile_backup.commands; +package net.szum123321.textile_backup.commands.restore; import com.mojang.brigadier.LiteralMessage; import com.mojang.brigadier.arguments.StringArgumentType;