From fd990ce66d559208bcae477b6b8ab0c0e2c720b5 Mon Sep 17 00:00:00 2001 From: Frank van der Heijden Date: Sat, 2 Jan 2021 17:00:12 +0100 Subject: [PATCH] Unregister commands when reloading commands.yml --- .../serverutils/bukkit/reflection/RCraftServer.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftServer.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftServer.java index 2adbcde..5a3c916 100644 --- a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftServer.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftServer.java @@ -88,7 +88,13 @@ public class RCraftServer { public static void reloadCommandsConfiguration() { SimpleCommandMap commandMap = getCommandMap(); Map map = RCommandMap.getKnownCommands(commandMap); - Bukkit.getCommandAliases().keySet().forEach(map::remove); + + for (String alias : Bukkit.getCommandAliases().keySet()) { + Command aliasCommand = map.remove(alias); + if (aliasCommand == null) continue; + + aliasCommand.unregister(commandMap); + } YamlConfiguration commands = YamlConfiguration.loadConfiguration(getCommandsConfigFile()); reflection.set(Bukkit.getServer(), "commandsConfiguration", commands); @@ -106,6 +112,7 @@ public class RCraftServer { ); commandMap.registerServerAliases(); + RCraftServer.syncCommands(); } /**