From 7dbe41536b8509e1867132778950c994a3e81040 Mon Sep 17 00:00:00 2001 From: Mickey42302 <46900084+Mickey42302@users.noreply.github.com> Date: Fri, 11 Jul 2025 00:53:58 -0400 Subject: [PATCH] Add support for "/chase", a disabled Minecraft command. (#1690) Co-authored-by: granny --- .../net/minecraft/commands/Commands.java.patch | 13 +++++++++++++ .../sources/net/minecraft/server/Main.java.patch | 3 ++- .../main/java/org/purpurmc/purpur/PurpurConfig.java | 5 +++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch index 8824ef4bc..996bf8e00 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch @@ -9,6 +9,19 @@ RaidCommand.register(this.dispatcher, context); DebugPathCommand.register(this.dispatcher); DebugMobSpawningCommand.register(this.dispatcher); +@@ -264,6 +_,12 @@ + } + } + ++ // Purpur start - register disabled minecraft commands ++ if (org.purpurmc.purpur.PurpurConfig.registerMinecraftDisabledCommands) { ++ net.minecraft.server.commands.ChaseCommand.register(this.dispatcher); ++ } ++ // Purpur end - register disabled minecraft commands ++ + if (selection.includeDedicated) { + BanIpCommands.register(this.dispatcher); + BanListCommands.register(this.dispatcher); @@ -280,6 +_,14 @@ StopCommand.register(this.dispatcher); TransferCommand.register(this.dispatcher); diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/server/Main.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/server/Main.java.patch index 0153677cf..3705f6215 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/server/Main.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/server/Main.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/Main.java +++ b/net/minecraft/server/Main.java -@@ -109,6 +_,12 @@ +@@ -109,6 +_,13 @@ JvmProfiler.INSTANCE.start(Environment.SERVER); } @@ -8,6 +8,7 @@ + org.bukkit.configuration.file.YamlConfiguration purpurConfiguration = io.papermc.paper.configuration.PaperConfigurations.loadLegacyConfigFile((File) optionSet.valueOf("purpur-settings")); + org.purpurmc.purpur.PurpurConfig.clampEnchantLevels = purpurConfiguration.getBoolean("settings.enchantment.clamp-levels", true); + org.purpurmc.purpur.PurpurConfig.registerMinecraftDebugCommands = purpurConfiguration.getBoolean("settings.register-minecraft-debug-commands"); // Purpur - register minecraft debug commands ++ org.purpurmc.purpur.PurpurConfig.registerMinecraftDisabledCommands = purpurConfiguration.getBoolean("settings.register-minecraft-disabled-commands"); // Purpur - register disabled minecraft commands + // Purpur end - Add toggle for enchant level clamping - load config files early + io.papermc.paper.plugin.PluginInitializerManager.load(optionSet); // Paper diff --git a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java index e5bf7ea47..31bf765d2 100644 --- a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -599,6 +599,11 @@ public class PurpurConfig { registerMinecraftDebugCommands = getBoolean("settings.register-minecraft-debug-commands", registerMinecraftDebugCommands); } + public static boolean registerMinecraftDisabledCommands = false; + private static void registerMinecraftDisabledCommands() { + registerMinecraftDisabledCommands = getBoolean("settings.register-minecraft-disabled-commands", registerMinecraftDebugCommands); + } + public static List startupCommands = new ArrayList<>(); private static void startupCommands() { startupCommands.clear();