From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: willies952002 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 ae361c8a5350b1072df5f672a8208a562b6a4312..914e551d7b2bc383c7247f1f584c6ea4f541887f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2735,5 +2735,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } + + @Override + public boolean reloadCommandAliases() { + Set 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 }