fix(delta): /delta has no persistence (Paper exposes no public config writer); runtime-only + clear
Build Delta / Build paperclip jar (push) Successful in 8m24s

This commit is contained in:
SashegDev
2026-09-30 09:42:40 +00:00
parent ec31787ea0
commit f55129436b
@@ -18,7 +18,7 @@ import java.util.Locale;
*/ */
public class DeltaCommand extends Command { public class DeltaCommand extends Command {
private static final List<String> SUBS = Arrays.asList("status", "displayrange", "reload", "help"); private static final List<String> SUBS = Arrays.asList("status", "displayrange", "clear", "help");
public DeltaCommand(String name) { public DeltaCommand(String name) {
super(name); super(name);
@@ -73,15 +73,21 @@ public class DeltaCommand extends Command {
cfg.displayTrackingRange = value; cfg.displayTrackingRange = value;
sender.sendMessage(Component.text("Display tracking range set to " + value + " blocks", NamedTextColor.GREEN)); 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" -> { case "clear" -> {
io.papermc.paper.configuration.GlobalConfiguration.get().load(); var cfg = io.papermc.paper.configuration.GlobalConfiguration.get().delta;
sender.sendMessage(Component.text("Delta config reloaded", NamedTextColor.GREEN)); cfg.displayTrackingRangeEnabled = false;
sender.sendMessage(Component.text("Runtime override cleared, back to config values", NamedTextColor.YELLOW));
sender.sendMessage(line("display range ", DeltaTracking.describe())); sender.sendMessage(line("display range ", DeltaTracking.describe()));
} }
case "help" -> sender.sendMessage(Component.text( case "help" -> sender.sendMessage(Component.text(
"/delta status | /delta displayrange <blocks|0> | /delta reload", NamedTextColor.YELLOW)); "/delta status | /delta displayrange <blocks|0> | /delta clear", NamedTextColor.YELLOW));
default -> sender.sendMessage(Component.text("Unknown subcommand: " + sub, NamedTextColor.RED)); default -> sender.sendMessage(Component.text("Unknown subcommand: " + sub, NamedTextColor.RED));
} }
return true; return true;