More typehints for Command stuff

This commit is contained in:
Dylan K. Taylor 2017-07-05 18:54:36 +01:00
parent 46a2e6cbf8
commit 8bb0c53797
47 changed files with 93 additions and 86 deletions

View File

@ -74,7 +74,7 @@ abstract class Command{
* @param string $usageMessage * @param string $usageMessage
* @param string[] $aliases * @param string[] $aliases
*/ */
public function __construct($name, $description = "", $usageMessage = null, array $aliases = []){ public function __construct(string $name, string $description = "", string $usageMessage = null, array $aliases = []){
$this->commandData = self::generateDefaultData(); $this->commandData = self::generateDefaultData();
$this->name = $name; $this->name = $name;
$this->setLabel($name); $this->setLabel($name);
@ -118,7 +118,7 @@ abstract class Command{
/** /**
* @return array * @return array
*/ */
public function getOverloads(): array{ public function getOverloads() : array{
return $this->commandData["overloads"]; return $this->commandData["overloads"];
} }
@ -129,12 +129,12 @@ abstract class Command{
* *
* @return mixed * @return mixed
*/ */
abstract public function execute(CommandSender $sender, $commandLabel, array $args); abstract public function execute(CommandSender $sender, string $commandLabel, array $args);
/** /**
* @return string * @return string
*/ */
public function getName(){ public function getName() : string{
return $this->name; return $this->name;
} }
@ -149,7 +149,7 @@ abstract class Command{
/** /**
* @param string|null $permission * @param string|null $permission
*/ */
public function setPermission($permission){ public function setPermission(string $permission = null){
if($permission !== null){ if($permission !== null){
$this->commandData["pocketminePermission"] = $permission; $this->commandData["pocketminePermission"] = $permission;
}else{ }else{
@ -162,7 +162,7 @@ abstract class Command{
* *
* @return bool * @return bool
*/ */
public function testPermission(CommandSender $target){ public function testPermission(CommandSender $target) : bool{
if($this->testPermissionSilent($target)){ if($this->testPermissionSilent($target)){
return true; return true;
} }
@ -181,7 +181,7 @@ abstract class Command{
* *
* @return bool * @return bool
*/ */
public function testPermissionSilent(CommandSender $target){ public function testPermissionSilent(CommandSender $target) : bool{
if(($perm = $this->getPermission()) === null or $perm === ""){ if(($perm = $this->getPermission()) === null or $perm === ""){
return true; return true;
} }
@ -198,11 +198,11 @@ abstract class Command{
/** /**
* @return string * @return string
*/ */
public function getLabel(){ public function getLabel() : string{
return $this->label; return $this->label;
} }
public function setLabel($name){ public function setLabel(string $name){
$this->nextLabel = $name; $this->nextLabel = $name;
if(!$this->isRegistered()){ if(!$this->isRegistered()){
if($this->timings instanceof TimingsHandler){ if($this->timings instanceof TimingsHandler){
@ -224,7 +224,7 @@ abstract class Command{
* *
* @return bool * @return bool
*/ */
public function register(CommandMap $commandMap){ public function register(CommandMap $commandMap) : bool{
if($this->allowChangesFrom($commandMap)){ if($this->allowChangesFrom($commandMap)){
$this->commandMap = $commandMap; $this->commandMap = $commandMap;
@ -239,7 +239,7 @@ abstract class Command{
* *
* @return bool * @return bool
*/ */
public function unregister(CommandMap $commandMap){ public function unregister(CommandMap $commandMap) : bool{
if($this->allowChangesFrom($commandMap)){ if($this->allowChangesFrom($commandMap)){
$this->commandMap = null; $this->commandMap = null;
$this->activeAliases = $this->commandData["aliases"]; $this->activeAliases = $this->commandData["aliases"];
@ -256,42 +256,42 @@ abstract class Command{
* *
* @return bool * @return bool
*/ */
private function allowChangesFrom(CommandMap $commandMap){ private function allowChangesFrom(CommandMap $commandMap) : bool{
return $this->commandMap === null or $this->commandMap === $commandMap; return $this->commandMap === null or $this->commandMap === $commandMap;
} }
/** /**
* @return bool * @return bool
*/ */
public function isRegistered(){ public function isRegistered() : bool{
return $this->commandMap !== null; return $this->commandMap !== null;
} }
/** /**
* @return string[] * @return string[]
*/ */
public function getAliases(){ public function getAliases() : array{
return $this->activeAliases; return $this->activeAliases;
} }
/** /**
* @return string * @return string
*/ */
public function getPermissionMessage(){ public function getPermissionMessage() : string{
return $this->permissionMessage; return $this->permissionMessage;
} }
/** /**
* @return string * @return string
*/ */
public function getDescription(){ public function getDescription() : string{
return $this->commandData["description"]; return $this->commandData["description"];
} }
/** /**
* @return string * @return string
*/ */
public function getUsage(){ public function getUsage() : string{
return $this->usageMessage; return $this->usageMessage;
} }
@ -308,21 +308,21 @@ abstract class Command{
/** /**
* @param string $description * @param string $description
*/ */
public function setDescription($description){ public function setDescription(string $description){
$this->commandData["description"] = $description; $this->commandData["description"] = $description;
} }
/** /**
* @param string $permissionMessage * @param string $permissionMessage
*/ */
public function setPermissionMessage($permissionMessage){ public function setPermissionMessage(string $permissionMessage){
$this->permissionMessage = $permissionMessage; $this->permissionMessage = $permissionMessage;
} }
/** /**
* @param string $usage * @param string $usage
*/ */
public function setUsage($usage){ public function setUsage(string $usage){
$this->usageMessage = $usage; $this->usageMessage = $usage;
} }
@ -337,11 +337,11 @@ abstract class Command{
} }
/** /**
* @param CommandSender $source * @param CommandSender $source
* @param string $message * @param TextContainer|string $message
* @param bool $sendToSource * @param bool $sendToSource
*/ */
public static function broadcastCommandMessage(CommandSender $source, $message, $sendToSource = true){ public static function broadcastCommandMessage(CommandSender $source, $message, bool $sendToSource = true){
if($message instanceof TextContainer){ if($message instanceof TextContainer){
$m = clone $message; $m = clone $message;
$result = "[" . $source->getName() . ": " . ($source->getServer()->getLanguage()->get($m->getText()) !== $m->getText() ? "%" : "") . $m->getText() . "]"; $result = "[" . $source->getName() . ": " . ($source->getServer()->getLanguage()->get($m->getText()) !== $m->getText() ? "%" : "") . $m->getText() . "]";
@ -377,7 +377,7 @@ abstract class Command{
/** /**
* @return string * @return string
*/ */
public function __toString(){ public function __toString() : string{
return $this->name; return $this->name;
} }
} }

View File

@ -27,17 +27,19 @@ namespace pocketmine\command;
interface CommandMap{ interface CommandMap{
/** /**
* @param string $fallbackPrefix * @param string $fallbackPrefix
* @param Command[] $commands * @param Command[] $commands
*/ */
public function registerAll($fallbackPrefix, array $commands); public function registerAll(string $fallbackPrefix, array $commands);
/** /**
* @param string $fallbackPrefix * @param string $fallbackPrefix
* @param Command $command * @param Command $command
* @param string $label * @param string|null $label
*
* @return
*/ */
public function register($fallbackPrefix, Command $command, $label = null); public function register(string $fallbackPrefix, Command $command, string $label = null);
/** /**
* @param CommandSender $sender * @param CommandSender $sender
@ -55,9 +57,9 @@ interface CommandMap{
/** /**
* @param string $name * @param string $name
* *
* @return Command * @return Command|null
*/ */
public function getCommand($name); public function getCommand(string $name);
} }

View File

@ -34,12 +34,12 @@ class FormattedCommandAlias extends Command{
* @param string $alias * @param string $alias
* @param string[] $formatStrings * @param string[] $formatStrings
*/ */
public function __construct($alias, array $formatStrings){ public function __construct(string $alias, array $formatStrings){
parent::__construct($alias); parent::__construct($alias);
$this->formatStrings = $formatStrings; $this->formatStrings = $formatStrings;
} }
public function execute(CommandSender $sender, $commandLabel, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
$commands = []; $commands = [];
$result = false; $result = false;
@ -71,9 +71,8 @@ class FormattedCommandAlias extends Command{
* @param array $args * @param array $args
* *
* @return string * @return string
* @throws \InvalidArgumentException
*/ */
private function buildCommand($formatString, array $args){ private function buildCommand(string $formatString, array $args) : string{
$index = strpos($formatString, '$'); $index = strpos($formatString, '$');
while($index !== false){ while($index !== false){
$start = $index; $start = $index;
@ -153,7 +152,7 @@ class FormattedCommandAlias extends Command{
* *
* @return bool * @return bool
*/ */
private static function inRange($i, $j, $k){ private static function inRange(int $i, int $j, int $k) : bool{
return $i >= $j and $i <= $k; return $i >= $j and $i <= $k;
} }

View File

@ -45,7 +45,7 @@ class PluginCommand extends Command implements PluginIdentifiableCommand{
$this->usageMessage = ""; $this->usageMessage = "";
} }
public function execute(CommandSender $sender, $commandLabel, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->owningPlugin->isEnabled()){ if(!$this->owningPlugin->isEnabled()){
return false; return false;
@ -64,7 +64,7 @@ class PluginCommand extends Command implements PluginIdentifiableCommand{
return $success; return $success;
} }
public function getExecutor(){ public function getExecutor() : CommandExecutor{
return $this->executor; return $this->executor;
} }
@ -78,7 +78,7 @@ class PluginCommand extends Command implements PluginIdentifiableCommand{
/** /**
* @return Plugin * @return Plugin
*/ */
public function getPlugin(){ public function getPlugin() : Plugin{
return $this->owningPlugin; return $this->owningPlugin;
} }
} }

View File

@ -30,5 +30,5 @@ interface PluginIdentifiableCommand{
/** /**
* @return Plugin * @return Plugin
*/ */
public function getPlugin(); public function getPlugin() : Plugin;
} }

View File

@ -131,13 +131,13 @@ class SimpleCommandMap implements CommandMap{
} }
public function registerAll($fallbackPrefix, array $commands){ public function registerAll(string $fallbackPrefix, array $commands){
foreach($commands as $command){ foreach($commands as $command){
$this->register($fallbackPrefix, $command); $this->register($fallbackPrefix, $command);
} }
} }
public function register($fallbackPrefix, Command $command, $label = null){ public function register(string $fallbackPrefix, Command $command, string $label = null){
if($label === null){ if($label === null){
$label = $command->getName(); $label = $command->getName();
} }
@ -241,7 +241,7 @@ class SimpleCommandMap implements CommandMap{
$this->setDefaultCommands(); $this->setDefaultCommands();
} }
public function getCommand($name){ public function getCommand(string $name){
return $this->knownCommands[$name] ?? null; return $this->knownCommands[$name] ?? null;
} }

View File

@ -40,7 +40,7 @@ class BanCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.ban.player"); $this->setPermission("pocketmine.command.ban.player");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -40,7 +40,7 @@ class BanIpCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.ban.ip"); $this->setPermission("pocketmine.command.ban.ip");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -39,7 +39,7 @@ class BanListCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.ban.list"); $this->setPermission("pocketmine.command.ban.list");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -39,7 +39,7 @@ class DefaultGamemodeCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.defaultgamemode"); $this->setPermission("pocketmine.command.defaultgamemode");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -41,7 +41,7 @@ class DeopCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.op.take"); $this->setPermission("pocketmine.command.op.take");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -41,7 +41,7 @@ class DifficultyCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.difficulty"); $this->setPermission("pocketmine.command.difficulty");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class DumpMemoryCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.dumpmemory"); $this->setPermission("pocketmine.command.dumpmemory");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -40,7 +40,7 @@ class EffectCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.effect"); $this->setPermission("pocketmine.command.effect");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -40,7 +40,7 @@ class EnchantCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.enchant"); $this->setPermission("pocketmine.command.enchant");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -42,7 +42,7 @@ class GamemodeCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.gamemode"); $this->setPermission("pocketmine.command.gamemode");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -37,7 +37,7 @@ class GarbageCollectorCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.gc"); $this->setPermission("pocketmine.command.gc");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -44,7 +44,7 @@ class GiveCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.give"); $this->setPermission("pocketmine.command.give");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -41,7 +41,7 @@ class HelpCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.help"); $this->setPermission("pocketmine.command.help");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -41,7 +41,7 @@ class KickCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.kick"); $this->setPermission("pocketmine.command.kick");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -43,7 +43,7 @@ class KillCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.kill.self;pocketmine.command.kill.other"); $this->setPermission("pocketmine.command.kill.self;pocketmine.command.kill.other");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class ListCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.list"); $this->setPermission("pocketmine.command.list");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -40,7 +40,7 @@ class MeCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.me"); $this->setPermission("pocketmine.command.me");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -41,7 +41,7 @@ class OpCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.op.give"); $this->setPermission("pocketmine.command.op.give");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -39,7 +39,7 @@ class PardonCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.unban.player"); $this->setPermission("pocketmine.command.unban.player");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -39,7 +39,7 @@ class PardonIpCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.unban.ip"); $this->setPermission("pocketmine.command.unban.ip");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -72,7 +72,7 @@ class ParticleCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.particle"); $this->setPermission("pocketmine.command.particle");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -39,7 +39,7 @@ class PluginsCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.plugins"); $this->setPermission("pocketmine.command.plugins");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -39,7 +39,7 @@ class ReloadCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.reload"); $this->setPermission("pocketmine.command.reload");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class SaveCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.save.perform"); $this->setPermission("pocketmine.command.save.perform");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class SaveOffCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.save.disable"); $this->setPermission("pocketmine.command.save.disable");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class SaveOnCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.save.enable"); $this->setPermission("pocketmine.command.save.enable");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -41,7 +41,7 @@ class SayCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.say"); $this->setPermission("pocketmine.command.say");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class SeedCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.seed"); $this->setPermission("pocketmine.command.seed");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -42,7 +42,7 @@ class SetWorldSpawnCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.setworldspawn"); $this->setPermission("pocketmine.command.setworldspawn");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -43,7 +43,7 @@ class SpawnpointCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.spawnpoint"); $this->setPermission("pocketmine.command.spawnpoint");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class StatusCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.status"); $this->setPermission("pocketmine.command.status");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class StopCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.stop"); $this->setPermission("pocketmine.command.stop");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -42,7 +42,7 @@ class TeleportCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.teleport"); $this->setPermission("pocketmine.command.teleport");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -41,7 +41,7 @@ class TellCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.tell"); $this->setPermission("pocketmine.command.tell");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -42,7 +42,7 @@ class TimeCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.time.add;pocketmine.command.time.set;pocketmine.command.time.start;pocketmine.command.time.stop"); $this->setPermission("pocketmine.command.time.add;pocketmine.command.time.set;pocketmine.command.time.start;pocketmine.command.time.stop");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(count($args) < 1){ if(count($args) < 1){
throw new InvalidCommandSyntaxException(); throw new InvalidCommandSyntaxException();
} }

View File

@ -44,7 +44,7 @@ class TimingsCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.timings"); $this->setPermission("pocketmine.command.timings");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -38,7 +38,7 @@ class TitleCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.title"); $this->setPermission("pocketmine.command.title");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -40,7 +40,7 @@ class TransferServerCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.transferserver"); $this->setPermission("pocketmine.command.transferserver");
} }
public function execute(CommandSender $sender, $commandLabel, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(count($args) < 1){ if(count($args) < 1){
throw new InvalidCommandSyntaxException(); throw new InvalidCommandSyntaxException();
}elseif(!($sender instanceof Player)){ }elseif(!($sender instanceof Player)){

View File

@ -41,7 +41,7 @@ class VersionCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.version"); $this->setPermission("pocketmine.command.version");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -40,7 +40,7 @@ class WhitelistCommand extends VanillaCommand{
$this->setPermission("pocketmine.command.whitelist.reload;pocketmine.command.whitelist.enable;pocketmine.command.whitelist.disable;pocketmine.command.whitelist.list;pocketmine.command.whitelist.add;pocketmine.command.whitelist.remove"); $this->setPermission("pocketmine.command.whitelist.reload;pocketmine.command.whitelist.enable;pocketmine.command.whitelist.disable;pocketmine.command.whitelist.list;pocketmine.command.whitelist.add;pocketmine.command.whitelist.remove");
} }
public function execute(CommandSender $sender, $currentAlias, array $args){ public function execute(CommandSender $sender, string $commandLabel, array $args){
if(!$this->testPermission($sender)){ if(!$this->testPermission($sender)){
return true; return true;
} }

View File

@ -626,7 +626,13 @@ class PluginManager{
} }
if(isset($data["permission"])){ if(isset($data["permission"])){
$newCmd->setPermission($data["permission"]); if(is_bool($data["permission"])){
$newCmd->setPermission($data["permission"] ? "true" : "false");
}elseif(is_string($data["permission"])){
$newCmd->setPermission($data["permission"]);
}else{
throw new \InvalidArgumentException("Permission must be a string or boolean, " . gettype($data["permission"] . " given"));
}
} }
if(isset($data["permission-message"])){ if(isset($data["permission-message"])){