usageMessage = ""; } public function execute(CommandSender $sender, string $commandLabel, array $args){ if(!$this->owner->isEnabled()){ return false; } if(!$this->testPermission($sender)){ return false; } $success = $this->executor->onCommand($sender, $this, $commandLabel, $args); if(!$success && $this->usageMessage !== ""){ throw new InvalidCommandSyntaxException(); } return $success; } public function getOwningPlugin() : Plugin{ return $this->owner; } public function getExecutor() : CommandExecutor{ return $this->executor; } public function setExecutor(CommandExecutor $executor) : void{ $this->executor = $executor; } }