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