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