109 lines
		
	
	
	
		
			4.8 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			109 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
							 | 
						||
| 
								 | 
							
								     }
							 | 
						||
| 
								 | 
							
								 }
							 |