From 17605bbb3704c5077bcf3a12aabe346de9684f78 Mon Sep 17 00:00:00 2001 From: willies952002 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 43510bad..76d250f7 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1187,6 +1187,13 @@ public final class Bukkit { public static void reloadPermissions() { server.reloadPermissions(); } + + /** + * Reload the Command Aliases in commands.yml + */ + public static boolean reloadCommandAliases() { + return server.reloadCommandAliases(); + } // Paper end public static Server.Spigot spigot() diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java index 8922551f..b04b796a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1020,4 +1020,6 @@ public interface Server extends PluginMessageRecipient { Spigot spigot(); 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 30d60247..d8a75607 100644 --- a/src/main/java/org/bukkit/command/CommandMap.java +++ b/src/main/java/org/bukkit/command/CommandMap.java @@ -123,4 +123,12 @@ public interface CommandMap { * @throws IllegalArgumentException if either sender or cmdLine are null */ public List tabComplete(CommandSender sender, String cmdLine, Location location) throws IllegalArgumentException; + + // Paper start - Expose Known Commands + /** + * Return a Map (String -> Command) of Known Commands + * @return Known Commands + */ + public java.util.Map getKnownCommands(); + // Paper end } diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java index 6e9fc84f..6f733fe0 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java @@ -280,4 +280,10 @@ public class SimpleCommandMap implements CommandMap { } } } + + // Paper start - Expose Known Commands + public Map 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 040509c1..0069bcc0 100644 --- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java +++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java @@ -11,7 +11,7 @@ public class ReloadCommand extends BukkitCommand { public ReloadCommand(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")); } @@ -28,6 +28,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 { -- 2.11.0