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