From 060426ff12b12a7f491ea6ffbb98c305c9c996a8 Mon Sep 17 00:00:00 2001 From: JackNoordhuis Date: Fri, 13 Oct 2017 21:55:36 +1100 Subject: [PATCH] Add ability to unregister a command completely, close #1229 (#1464) --- src/pocketmine/command/SimpleCommandMap.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/pocketmine/command/SimpleCommandMap.php b/src/pocketmine/command/SimpleCommandMap.php index b8e2e288a..d599ad7d4 100644 --- a/src/pocketmine/command/SimpleCommandMap.php +++ b/src/pocketmine/command/SimpleCommandMap.php @@ -174,6 +174,23 @@ class SimpleCommandMap implements CommandMap{ return $registered; } + /** + * @param Command $command + * + * @return bool + */ + public function unregister(Command $command) : bool{ + foreach($this->knownCommands as $lbl => $cmd){ + if($cmd === $command){ + unset($this->knownCommands[$lbl]); + } + } + + $command->unregister($this); + + return true; + } + /** * @param Command $command * @param bool $isAlias