From 74de27013751521f96018d3f872ac047967ec71e Mon Sep 17 00:00:00 2001 From: lc-1337 Date: Tue, 12 May 2026 11:50:43 +0300 Subject: [PATCH 1/2] add arg for run claimed only backup --- src/main/java/serverutils/command/CmdBackup.java | 14 ++++++++++++-- .../java/serverutils/task/backup/BackupTask.java | 8 +++++++- .../assets/serverutilities/lang/en_US.lang | 1 + 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/serverutils/command/CmdBackup.java b/src/main/java/serverutils/command/CmdBackup.java index 0e9d952c..e9dffda7 100644 --- a/src/main/java/serverutils/command/CmdBackup.java +++ b/src/main/java/serverutils/command/CmdBackup.java @@ -1,5 +1,7 @@ package serverutils.command; +import java.util.Arrays; + import net.minecraft.command.ICommandSender; import serverutils.ServerUtilities; @@ -26,10 +28,18 @@ public CmdBackupStart(String s) { @Override public void processCommand(ICommandSender sender, String[] args) { - BackupTask task = new BackupTask(sender, args.length == 0 ? "" : args[0]); + final boolean oc = Arrays.stream(args).anyMatch(arg -> arg.equalsIgnoreCase("=oc")); + + final String target = Arrays.stream(args).filter(arg -> !arg.equalsIgnoreCase("=oc")).findFirst() + .orElse(""); + + final BackupTask task = oc ? new BackupTask(sender, target, true) : new BackupTask(sender, target); + if (BackupTask.thread == null) { task.execute(Universe.get()); - sender.addChatMessage(ServerUtilities.lang("cmd.backup_manual_launch", sender.getCommandSenderName())); + sender.addChatMessage( + ServerUtilities + .lang("cmd.backup_manual_launch" + (oc ? "_oc" : ""), sender.getCommandSenderName())); } else { sender.addChatMessage(ServerUtilities.lang(sender, "cmd.backup_already_running")); } diff --git a/src/main/java/serverutils/task/backup/BackupTask.java b/src/main/java/serverutils/task/backup/BackupTask.java index fc562223..30beaa0e 100644 --- a/src/main/java/serverutils/task/backup/BackupTask.java +++ b/src/main/java/serverutils/task/backup/BackupTask.java @@ -47,6 +47,7 @@ public class BackupTask extends Task { private ICommandSender sender; private String customName = ""; private boolean post = false; + private boolean forceOnlyClaimed = false; static { BACKUP_FOLDER = backups.backup_folder_path.isEmpty() ? new File("/backups/") @@ -60,6 +61,11 @@ public BackupTask() { super(Ticks.HOUR.x(backups.backup_timer)); } + public BackupTask(@Nullable ICommandSender ics, String customName, final boolean forceOnlyClaimed) { + this(ics, customName); + this.forceOnlyClaimed = forceOnlyClaimed; + } + public BackupTask(@Nullable ICommandSender ics, String customName) { this.customName = customName; this.sender = ics; @@ -117,7 +123,7 @@ public void execute(Universe universe) { BACKUP.sendAll(StringUtils.color("cmd.backup_start", EnumChatFormatting.LIGHT_PURPLE)); } Set backupChunks = new HashSet<>(); - if (backups.only_backup_claimed_chunks && ClaimedChunks.isActive()) { + if ((this.forceOnlyClaimed || backups.only_backup_claimed_chunks) && ClaimedChunks.isActive()) { backupChunks.addAll(ClaimedChunks.instance.getAllClaimedPositions()); // noinspection ResultOfMethodCallIgnored BACKUP_TEMP_FOLDER.mkdirs(); diff --git a/src/main/resources/assets/serverutilities/lang/en_US.lang b/src/main/resources/assets/serverutilities/lang/en_US.lang index f3218630..6d99f9f6 100644 --- a/src/main/resources/assets/serverutilities/lang/en_US.lang +++ b/src/main/resources/assets/serverutilities/lang/en_US.lang @@ -650,6 +650,7 @@ cmd.backup_end_1=Server backup done in %s! cmd.backup_end_2=Server backup done in %s! (%s) cmd.backup_fail=Failed to save world! (%s) cmd.backup_manual_launch=%s launched a manual backup! +cmd.backup_manual_launch_oc=%s launched a claimed only manual backup! cmd.backup_already_running=Backup in progress! cmd.backup_not_running=Backup is not running! cmd.backup_size=Current world size: %s, total backups folder size: %s From f5ad36ff01409900f7928e17f6cef22d7f997d9d Mon Sep 17 00:00:00 2001 From: lc-1337 Date: Tue, 12 May 2026 12:49:25 +0300 Subject: [PATCH 2/2] remove the unnecessary --- src/main/java/serverutils/command/CmdBackup.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/serverutils/command/CmdBackup.java b/src/main/java/serverutils/command/CmdBackup.java index e9dffda7..d5aacaf8 100644 --- a/src/main/java/serverutils/command/CmdBackup.java +++ b/src/main/java/serverutils/command/CmdBackup.java @@ -29,11 +29,10 @@ public CmdBackupStart(String s) { @Override public void processCommand(ICommandSender sender, String[] args) { final boolean oc = Arrays.stream(args).anyMatch(arg -> arg.equalsIgnoreCase("=oc")); - final String target = Arrays.stream(args).filter(arg -> !arg.equalsIgnoreCase("=oc")).findFirst() .orElse(""); - final BackupTask task = oc ? new BackupTask(sender, target, true) : new BackupTask(sender, target); + final BackupTask task = new BackupTask(sender, target, oc); if (BackupTask.thread == null) { task.execute(Universe.get());