108 lines
		
	
	
	
		
			4.8 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
	
		
			4.8 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
						|
From: willies952002 <admin@domnian.com>
 | 
						|
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/Bukkit.java
 | 
						|
+++ b/src/main/java/org/bukkit/Bukkit.java
 | 
						|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/Server.java
 | 
						|
+++ b/src/main/java/org/bukkit/Server.java
 | 
						|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/command/CommandMap.java
 | 
						|
+++ b/src/main/java/org/bukkit/command/CommandMap.java
 | 
						|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
 | 
						|
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
 | 
						|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
 | 
						|
+++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
 | 
						|
@@ -0,0 +0,0 @@ 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"));
 | 
						|
     }
 | 
						|
@@ -0,0 +0,0 @@ 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 {
 | 
						|
@@ -0,0 +0,0 @@ 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
 | 
						|
     }
 | 
						|
 }
 |