From f55129436b68270feef738f808f7dcf9972a1721 Mon Sep 17 00:00:00 2001 From: SashegDev Date: Wed, 30 Sep 2026 09:42:40 +0000 Subject: [PATCH] fix(delta): /delta has no persistence (Paper exposes no public config writer); runtime-only + clear --- .../java/me/sashegdev/delta/DeltaCommand.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/paper-server/src/main/java/me/sashegdev/delta/DeltaCommand.java b/paper-server/src/main/java/me/sashegdev/delta/DeltaCommand.java index e7bf22211..b2848145b 100644 --- a/paper-server/src/main/java/me/sashegdev/delta/DeltaCommand.java +++ b/paper-server/src/main/java/me/sashegdev/delta/DeltaCommand.java @@ -18,7 +18,7 @@ import java.util.Locale; */ public class DeltaCommand extends Command { - private static final List SUBS = Arrays.asList("status", "displayrange", "reload", "help"); + private static final List SUBS = Arrays.asList("status", "displayrange", "clear", "help"); public DeltaCommand(String name) { super(name); @@ -73,15 +73,21 @@ public class DeltaCommand extends Command { cfg.displayTrackingRange = value; sender.sendMessage(Component.text("Display tracking range set to " + value + " blocks", NamedTextColor.GREEN)); } - io.papermc.paper.configuration.GlobalConfiguration.save(); + // Paper не даёт публичного API для записи paper-global.yml, поэтому + // это живая правка только в памяти: после рестарта вернётся значение + // из конфига. Постоянно — правкой paper-global.yml -> delta. + sender.sendMessage(Component.text( + "Runtime-only. For a permanent change edit paper-global.yml -> delta.", + NamedTextColor.GRAY)); } - case "reload" -> { - io.papermc.paper.configuration.GlobalConfiguration.get().load(); - sender.sendMessage(Component.text("Delta config reloaded", NamedTextColor.GREEN)); + case "clear" -> { + var cfg = io.papermc.paper.configuration.GlobalConfiguration.get().delta; + cfg.displayTrackingRangeEnabled = false; + sender.sendMessage(Component.text("Runtime override cleared, back to config values", NamedTextColor.YELLOW)); sender.sendMessage(line("display range ", DeltaTracking.describe())); } case "help" -> sender.sendMessage(Component.text( - "/delta status | /delta displayrange | /delta reload", NamedTextColor.YELLOW)); + "/delta status | /delta displayrange | /delta clear", NamedTextColor.YELLOW)); default -> sender.sendMessage(Component.text("Unknown subcommand: " + sub, NamedTextColor.RED)); } return true;