diff options
Diffstat (limited to 'Spigot-API-Patches-Unmapped/0039-Allow-Reloading-of-Command-Aliases.patch')
-rw-r--r-- | Spigot-API-Patches-Unmapped/0039-Allow-Reloading-of-Command-Aliases.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/Spigot-API-Patches-Unmapped/0039-Allow-Reloading-of-Command-Aliases.patch b/Spigot-API-Patches-Unmapped/0039-Allow-Reloading-of-Command-Aliases.patch new file mode 100644 index 0000000000..69796b5859 --- /dev/null +++ b/Spigot-API-Patches-Unmapped/0039-Allow-Reloading-of-Command-Aliases.patch @@ -0,0 +1,108 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: willies952002 <[email protected]> +Date: Mon, 28 Nov 2016 10:16:39 -0500 +Subject: [PATCH] Allow Reloading of Command Aliases + +Reload the aliases stored in commands.yml + +diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java +index 945d75525465739dd30610dff985ea0fb0f1c8df..555ef4c187ce0c83cc29af145694ec9c448d452e 100644 +--- a/src/main/java/org/bukkit/Bukkit.java ++++ b/src/main/java/org/bukkit/Bukkit.java +@@ -1747,6 +1747,15 @@ public final class Bukkit { + public static void reloadPermissions() { + server.reloadPermissions(); + } ++ ++ /** ++ * Reload the Command Aliases in commands.yml ++ * ++ * @return Whether the reload was successful ++ */ ++ public static boolean reloadCommandAliases() { ++ return server.reloadCommandAliases(); ++ } + // Paper end + + @NotNull +diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java +index f69c30ebea9c9e9add0b6c97994be0ce64a80ad3..9d81f25e39d345b797f73855a802b186d77f6d12 100644 +--- a/src/main/java/org/bukkit/Server.java ++++ b/src/main/java/org/bukkit/Server.java +@@ -1540,4 +1540,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi + // Spigot end + + void reloadPermissions(); // Paper ++ ++ boolean reloadCommandAliases(); // Paper + } +diff --git a/src/main/java/org/bukkit/command/CommandMap.java b/src/main/java/org/bukkit/command/CommandMap.java +index bd2c7a6964722412148fae39e1b4951fc0002b9b..864c263bbd4dd6dd7c37a74b39b1a40a884d0731 100644 +--- a/src/main/java/org/bukkit/command/CommandMap.java ++++ b/src/main/java/org/bukkit/command/CommandMap.java +@@ -128,4 +128,14 @@ public interface CommandMap { + */ + @Nullable + public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String cmdLine, @Nullable Location location) throws IllegalArgumentException; ++ ++ // Paper start - Expose Known Commands ++ /** ++ * Return a Map of known commands ++ * ++ * @return known commands ++ */ ++ @NotNull ++ public java.util.Map<String, Command> getKnownCommands(); ++ // Paper end + } +diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java +index adfc7aae2c0f49bbcdd358e83b04a0cf078a7d52..460fda05a62b12db2edcfb7ea8b2a5dd8e4b110d 100644 +--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java ++++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java +@@ -297,4 +297,11 @@ public class SimpleCommandMap implements CommandMap { + } + } + } ++ ++ // Paper start - Expose Known Commands ++ @NotNull ++ public Map<String, Command> getKnownCommands() { ++ return knownCommands; ++ } ++ // Paper end + } +diff --git a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java +index c62da4131b17e66892678e8b618fb9ba3de93b56..0c7ba0718de2b93d013968ca0fec34ffd423990f 100644 +--- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java ++++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java +@@ -13,7 +13,7 @@ public class ReloadCommand extends BukkitCommand { + public ReloadCommand(@NotNull String name) { + super(name); + this.description = "Reloads the server configuration and plugins"; +- this.usageMessage = "/reload [permissions]"; // Paper ++ this.usageMessage = "/reload [permissions|commands|confirm]"; // Paper + this.setPermission("bukkit.command.reload"); + this.setAliases(Arrays.asList("rl")); + } +@@ -29,6 +29,13 @@ public class ReloadCommand extends BukkitCommand { + Bukkit.getServer().reloadPermissions(); + Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Permissions successfully reloaded."); + return true; ++ } else if ("commands".equalsIgnoreCase(args[0])) { ++ if (Bukkit.getServer().reloadCommandAliases()) { ++ Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Command aliases successfully reloaded."); ++ } else { ++ Command.broadcastCommandMessage(sender, ChatColor.RED + "An error occurred while trying to reload command aliases."); ++ } ++ return true; + } else if ("confirm".equalsIgnoreCase(args[0])) { + confirmed = true; + } else { +@@ -53,6 +60,6 @@ public class ReloadCommand extends BukkitCommand { + @NotNull + @Override + public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException { +- return java.util.Collections.singletonList("permissions"); // Paper ++ return com.google.common.collect.Lists.newArrayList("permissions", "commands"); // Paper + } + } |