Accept Translatable permission messages in Command (#5830)

This commit is contained in:
ShockedPlot7560 2023-07-19 17:38:15 +02:00 committed by GitHub
parent 74cfd687d7
commit aac5944396
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -58,7 +58,7 @@ abstract class Command{
/** @var string[] */ /** @var string[] */
private array $permission = []; private array $permission = [];
private ?string $permissionMessage = null; private Translatable|string|null $permissionMessage = null;
/** /**
* @param string[] $aliases * @param string[] $aliases
@ -112,10 +112,11 @@ abstract class Command{
return true; return true;
} }
if($this->permissionMessage === null){ $message = $this->permissionMessage ?? KnownTranslationFactory::pocketmine_command_error_permission($this->name);
$target->sendMessage(KnownTranslationFactory::pocketmine_command_error_permission($this->name)->prefix(TextFormat::RED)); if($message instanceof Translatable){
}elseif($this->permissionMessage !== ""){ $target->sendMessage($message->prefix(TextFormat::RED));
$target->sendMessage(str_replace("<permission>", $permission ?? implode(";", $this->permission), $this->permissionMessage)); }elseif($message !== ""){
$target->sendMessage(str_replace("<permission>", $permission ?? implode(";", $this->permission), $message));
} }
return false; return false;
@ -187,7 +188,7 @@ abstract class Command{
return $this->activeAliases; return $this->activeAliases;
} }
public function getPermissionMessage() : ?string{ public function getPermissionMessage() : Translatable|string|null{
return $this->permissionMessage; return $this->permissionMessage;
} }
@ -213,7 +214,7 @@ abstract class Command{
$this->description = $description; $this->description = $description;
} }
public function setPermissionMessage(string $permissionMessage) : void{ public function setPermissionMessage(Translatable|string $permissionMessage) : void{
$this->permissionMessage = $permissionMessage; $this->permissionMessage = $permissionMessage;
} }