PocketMine-MP
5.39.3 git-400eb2dddf91a9c112aa09f3b498ffc8c85e98ed
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\PluginBase
;
29
use
pocketmine\plugin\PluginOwned
;
30
35
final
class
PluginCommand
extends
Command
implements
PluginOwned
{
36
public
function
__construct(
37
string
$name,
38
private
Plugin
$owner,
39
private
CommandExecutor
$executor
40
){
41
parent::__construct($name);
42
$this->usageMessage =
""
;
43
}
44
45
public
function
execute
(
CommandSender
$sender,
string
$commandLabel, array $args){
46
47
if
(!$this->owner->isEnabled()){
48
return
false
;
49
}
50
51
$success = $this->executor->onCommand($sender, $this, $commandLabel, $args);
52
53
if
(!$success && $this->usageMessage !==
""
){
54
throw
new
InvalidCommandSyntaxException
();
55
}
56
57
return
$success;
58
}
59
60
public
function
getOwningPlugin() :
Plugin
{
61
return $this->owner;
62
}
63
64
public
function
getExecutor() : CommandExecutor{
65
return $this->executor;
66
}
67
68
public
function
setExecutor(CommandExecutor $executor) : void{
69
$this->executor = $executor;
70
}
71
}
pocketmine\command\Command
Definition
Command.php:42
pocketmine\command\PluginCommand
Definition
PluginCommand.php:35
pocketmine\command\PluginCommand\execute
execute(CommandSender $sender, string $commandLabel, array $args)
Definition
PluginCommand.php:45
pocketmine\command\utils\InvalidCommandSyntaxException
Definition
InvalidCommandSyntaxException.php:26
pocketmine\plugin\PluginBase
Definition
PluginBase.php:47
pocketmine\command\CommandExecutor
Definition
CommandExecutor.php:35
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