From 3daef432277f7058d2a79248a2069120ca79a82b Mon Sep 17 00:00:00 2001 From: SkyDynamic Date: Sun, 3 Aug 2025 20:35:57 +0800 Subject: [PATCH] fix search cmd --- .../command/SearchCommand.java | 3 +- .../restore/ClientRestoreDelegate.java | 4 +-- .../quickbakcupmulti/utils/BackupManager.java | 28 ++++++++----------- .../utils/ListBackupsUtils.java | 7 +---- 4 files changed, 16 insertions(+), 26 deletions(-) diff --git a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/command/SearchCommand.java b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/command/SearchCommand.java index fca38f5..a019385 100644 --- a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/command/SearchCommand.java +++ b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/command/SearchCommand.java @@ -2,6 +2,7 @@ import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import io.github.skydynamic.increment.storage.lib.database.StorageInfo; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; import net.minecraft.network.chat.Component; @@ -22,7 +23,7 @@ public class SearchCommand { ); private static int searchSaveBackups(CommandSourceStack commandSource, String string) { - List backupsList = getBackupsList(); + List backupsList = getBackupsList().stream().map(StorageInfo::getName).toList(); List result = backupsList.stream() .filter(it -> StringUtils.containsIgnoreCase(it, string)) .toList(); diff --git a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/restore/ClientRestoreDelegate.java b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/restore/ClientRestoreDelegate.java index a98a653..748aa01 100644 --- a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/restore/ClientRestoreDelegate.java +++ b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/restore/ClientRestoreDelegate.java @@ -57,10 +57,10 @@ public void run() { // Restore finish and rejoin the world QuickbakcupmultiReforged.getModContainer().setRestoringBackup(false); - long end_time = System.currentTimeMillis(); + long endTime = System.currentTimeMillis(); minecraftClient.execute(() -> { Component title = Component.nullToEmpty(Translate.tr("quickbackupmulti.toast.end_title")); - Component desc = Component.nullToEmpty(Translate.tr("quickbackupmulti.toast.end_desc", (int) (end_time - startTime * 1000))); + Component desc = Component.nullToEmpty(Translate.tr("quickbackupmulti.toast.end_desc", (int) ((endTime - startTime)) / 1000)); SystemToast.addOrUpdate(minecraftClient.getToasts(), SystemToast.SystemToastId.PERIODIC_NOTIFICATION, title, desc); }); if (QuickbakcupmultiReforged.getModConfig().isClientAutoReJoinWorld()) { diff --git a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/BackupManager.java b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/BackupManager.java index 8a426e9..68d3f64 100644 --- a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/BackupManager.java +++ b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/BackupManager.java @@ -3,6 +3,7 @@ import io.github.skydynamic.increment.storage.lib.database.Database; import io.github.skydynamic.increment.storage.lib.database.DatabaseTables; import io.github.skydynamic.increment.storage.lib.database.StorageInfo; +import io.github.skydynamic.quickbakcupmulti.DatabaseCache; import io.github.skydynamic.quickbakcupmulti.QuickbakcupmultiReforged; import io.github.skydynamic.quickbakcupmulti.database.DatabaseManager; import net.minecraft.commands.CommandSourceStack; @@ -20,8 +21,9 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.*; -import java.util.function.Consumer; +import java.util.List; +import java.util.Map; +import java.util.UUID; import static io.github.skydynamic.quickbakcupmulti.translate.Translate.tr; @@ -42,22 +44,14 @@ public static Path getBackupPath() { return path; } - private static void getBackupExists(File file, Consumer consumer) { - if (file.isDirectory() && QuickbakcupmultiReforged.getDatabase().storageExists(file.getName())) { - consumer.accept(file.getName()); - } - } - - private static List getBackupExistsWithList(Path path) { - List backupsDirList = new ArrayList<>(); - for (File file : Objects.requireNonNull(path.toFile().listFiles())) { - getBackupExists(file, backupsDirList::add); + public static List getBackupsList() { + List backupList; + if (!QuickbakcupmultiReforged.getModConfig().isCacheDatabase()) { + backupList = QuickbakcupmultiReforged.getDatabase().getAllStorageInfo(); + } else { + backupList = DatabaseCache.getStorageInfoCaches(); } - return backupsDirList; - } - - public static List getBackupsList() { - return getBackupExistsWithList(getBackupPath()); + return backupList; } public static void makeBackup(CommandSourceStack commandSource, String name, String desc) { diff --git a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/ListBackupsUtils.java b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/ListBackupsUtils.java index b2dfdfe..398e920 100644 --- a/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/ListBackupsUtils.java +++ b/common/src/main/java/io/github/skydynamic/quickbakcupmulti/utils/ListBackupsUtils.java @@ -98,12 +98,7 @@ private static MutableComponent getSlotText(StorageInfo info, int page, int num) public static MutableComponent list(int page) { long totalBackupSizeB = 0; - List backupList; - if (!QuickbakcupmultiReforged.getModConfig().isCacheDatabase()) { - backupList = QuickbakcupmultiReforged.getDatabase().getAllStorageInfo(); - } else { - backupList = DatabaseCache.getStorageInfoCaches(); - } + List backupList = BackupManager.getBackupsList(); List backupsInfoList = backupList.stream() .sorted(Comparator.comparingLong(StorageInfo::getTimestamp)) .toList();