aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0109-Allow-Reloading-of-Command-Aliases.patch')
-rw-r--r--patches/server/0109-Allow-Reloading-of-Command-Aliases.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch
new file mode 100644
index 0000000000..618217cda2
--- /dev/null
+++ b/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch
@@ -0,0 +1,36 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: willies952002 <[email protected]>
+Date: Mon, 28 Nov 2016 10:21:52 -0500
+Subject: [PATCH] Allow Reloading of Command Aliases
+
+Reload the aliases stored in commands.yml
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+index 630ff9daa7bbe55e0e52f6127c496fdd10876c6e..5ce9ce7169e346d0156559295ee1bae5c8d45870 100644
+--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
++++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+@@ -2535,5 +2535,24 @@ public final class CraftServer implements Server {
+ DefaultPermissions.registerCorePermissions();
+ CraftDefaultPermissions.registerCorePermissions();
+ }
++
++ @Override
++ public boolean reloadCommandAliases() {
++ Set<String> removals = getCommandAliases().keySet().stream()
++ .map(key -> key.toLowerCase(java.util.Locale.ENGLISH))
++ .collect(java.util.stream.Collectors.toSet());
++ getCommandMap().getKnownCommands().keySet().removeIf(removals::contains);
++ File file = getCommandsConfigFile();
++ try {
++ commandsConfiguration.load(file);
++ } catch (FileNotFoundException ex) {
++ return false;
++ } catch (IOException | org.bukkit.configuration.InvalidConfigurationException ex) {
++ Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file, ex);
++ return false;
++ }
++ commandMap.registerServerAliases();
++ return true;
++ }
+ // Paper end
+ }