PocketMine-MP
5.23.3 git-f7687af337d001ddbcc47b8e773f014a33faa662
Loading...
Searching...
No Matches
PluginCommand.php
1
<?php
2
3
/*
4
*
5
* ____ _ _ __ __ _ __ __ ____
6
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
7
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
8
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
9
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
10
*
11
* This program is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
15
*
16
* @author PocketMine Team
17
* @link http://www.pocketmine.net/
18
*
19
*
20
*/
21
22
declare(strict_types=1);
23
24
namespace
pocketmine\command
;
25
26
use
pocketmine\command\utils\InvalidCommandSyntaxException
;
27
use
pocketmine\plugin\Plugin
;
28
use
pocketmine\plugin\PluginOwned
;
29
30
final
class
PluginCommand
extends
Command
implements
PluginOwned
{
31
public
function
__construct(
32
string
$name,
33
private
Plugin
$owner,
34
private
CommandExecutor
$executor
35
){
36
parent::__construct($name);
37
$this->usageMessage =
""
;
38
}
39
40
public
function
execute
(
CommandSender
$sender,
string
$commandLabel, array $args){
41
42
if
(!$this->owner->isEnabled()){
43
return
false
;
44
}
45
46
$success = $this->executor->onCommand($sender, $this, $commandLabel, $args);
47
48
if
(!$success && $this->usageMessage !==
""
){
49
throw
new
InvalidCommandSyntaxException
();
50
}
51
52
return
$success;
53
}
54
55
public
function
getOwningPlugin() :
Plugin
{
56
return $this->owner;
57
}
58
59
public
function
getExecutor() : CommandExecutor{
60
return $this->executor;
61
}
62
63
public
function
setExecutor(CommandExecutor $executor) : void{
64
$this->executor = $executor;
65
}
66
}
pocketmine\command\Command
Definition
Command.php:40
pocketmine\command\PluginCommand
Definition
PluginCommand.php:30
pocketmine\command\PluginCommand\execute
execute(CommandSender $sender, string $commandLabel, array $args)
Definition
PluginCommand.php:40
pocketmine\command\utils\InvalidCommandSyntaxException
Definition
InvalidCommandSyntaxException.php:26
pocketmine\command\CommandExecutor
Definition
CommandExecutor.php:26
pocketmine\command\CommandSender
Definition
CommandSender.php:31
pocketmine\plugin\Plugin
Definition
Plugin.php:35
pocketmine\plugin\PluginOwned
Definition
PluginOwned.php:29
pocketmine\command
Definition
ClosureCommand.php:24
src
command
PluginCommand.php
Generated by
1.12.0