diff --git a/src/command/defaults/VersionCommand.php b/src/command/defaults/VersionCommand.php index bafb129d1a7..206e5225348 100644 --- a/src/command/defaults/VersionCommand.php +++ b/src/command/defaults/VersionCommand.php @@ -79,6 +79,10 @@ public function execute(CommandSender $sender, string $commandLabel, array $args $sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_phpJitStatus($jitStatus->format(TextFormat::GREEN, TextFormat::RESET))); $sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_operatingSystem(TextFormat::GREEN . Utils::getOS() . TextFormat::RESET)); }else{ + if(!$this->testPermission($sender, DefaultPermissionNames::COMMAND_VERSION_PLUGINS)){ + return true; + } + $pluginName = implode(" ", $args); $exactPlugin = $sender->getServer()->getPluginManager()->getPlugin($pluginName); diff --git a/src/lang/KnownTranslationFactory.php b/src/lang/KnownTranslationFactory.php index ea8c2952e5e..29b88e49a97 100644 --- a/src/lang/KnownTranslationFactory.php +++ b/src/lang/KnownTranslationFactory.php @@ -2032,6 +2032,10 @@ public static function pocketmine_permission_command_version() : Translatable{ return new Translatable(KnownTranslationKeys::POCKETMINE_PERMISSION_COMMAND_VERSION, []); } + public static function pocketmine_permission_command_version_plugins() : Translatable{ + return new Translatable(KnownTranslationKeys::POCKETMINE_PERMISSION_COMMAND_VERSION_PLUGINS, []); + } + public static function pocketmine_permission_command_whitelist_add() : Translatable{ return new Translatable(KnownTranslationKeys::POCKETMINE_PERMISSION_COMMAND_WHITELIST_ADD, []); } diff --git a/src/lang/KnownTranslationKeys.php b/src/lang/KnownTranslationKeys.php index c8345273060..28fb2d7e44b 100644 --- a/src/lang/KnownTranslationKeys.php +++ b/src/lang/KnownTranslationKeys.php @@ -443,6 +443,7 @@ final class KnownTranslationKeys{ public const POCKETMINE_PERMISSION_COMMAND_UNBAN_IP = "pocketmine.permission.command.unban.ip"; public const POCKETMINE_PERMISSION_COMMAND_UNBAN_PLAYER = "pocketmine.permission.command.unban.player"; public const POCKETMINE_PERMISSION_COMMAND_VERSION = "pocketmine.permission.command.version"; + public const POCKETMINE_PERMISSION_COMMAND_VERSION_PLUGINS = "pocketmine.permission.command.version.plugins"; public const POCKETMINE_PERMISSION_COMMAND_WHITELIST_ADD = "pocketmine.permission.command.whitelist.add"; public const POCKETMINE_PERMISSION_COMMAND_WHITELIST_DISABLE = "pocketmine.permission.command.whitelist.disable"; public const POCKETMINE_PERMISSION_COMMAND_WHITELIST_ENABLE = "pocketmine.permission.command.whitelist.enable"; diff --git a/src/permission/DefaultPermissionNames.php b/src/permission/DefaultPermissionNames.php index fab532e2869..9010d2cd2a8 100644 --- a/src/permission/DefaultPermissionNames.php +++ b/src/permission/DefaultPermissionNames.php @@ -78,6 +78,7 @@ final class DefaultPermissionNames{ public const COMMAND_UNBAN_IP = "pocketmine.command.unban.ip"; public const COMMAND_UNBAN_PLAYER = "pocketmine.command.unban.player"; public const COMMAND_VERSION = "pocketmine.command.version"; + public const COMMAND_VERSION_PLUGINS = "pocketmine.command.version.plugins"; public const COMMAND_WHITELIST_ADD = "pocketmine.command.whitelist.add"; public const COMMAND_WHITELIST_DISABLE = "pocketmine.command.whitelist.disable"; public const COMMAND_WHITELIST_ENABLE = "pocketmine.command.whitelist.enable"; diff --git a/src/permission/DefaultPermissions.php b/src/permission/DefaultPermissions.php index c72765af6bc..5ab40395b45 100644 --- a/src/permission/DefaultPermissions.php +++ b/src/permission/DefaultPermissions.php @@ -106,6 +106,7 @@ public static function registerCorePermissions() : void{ self::registerPermission(new Permission(Names::COMMAND_UNBAN_IP, l10n::pocketmine_permission_command_unban_ip()), [$operatorRoot]); self::registerPermission(new Permission(Names::COMMAND_UNBAN_PLAYER, l10n::pocketmine_permission_command_unban_player()), [$operatorRoot]); self::registerPermission(new Permission(Names::COMMAND_VERSION, l10n::pocketmine_permission_command_version()), [$everyoneRoot]); + self::registerPermission(new Permission(Names::COMMAND_VERSION_PLUGINS, l10n::pocketmine_permission_command_version_plugins()), [$operatorRoot]); self::registerPermission(new Permission(Names::COMMAND_WHITELIST_ADD, l10n::pocketmine_permission_command_whitelist_add()), [$operatorRoot]); self::registerPermission(new Permission(Names::COMMAND_WHITELIST_DISABLE, l10n::pocketmine_permission_command_whitelist_disable()), [$operatorRoot]); self::registerPermission(new Permission(Names::COMMAND_WHITELIST_ENABLE, l10n::pocketmine_permission_command_whitelist_enable()), [$operatorRoot]);