aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-API-Patches-Unmapped/0039-Allow-Reloading-of-Command-Aliases.patch
diff options
context:
space:
mode:
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.patch108
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
+ }
+ }