mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-22 19:06:35 +00:00
New /version format
This commit is contained in:
parent
2ad5de379f
commit
2cdd6e634f
@ -1 +1 @@
|
||||
Subproject commit ca7fecaf24d8a8f9b947b69f1a8772475e03c379
|
||||
Subproject commit 6f74d9449a00f806fd78140743004d6077b1577b
|
@ -30,10 +30,16 @@ use pocketmine\network\mcpe\protocol\ProtocolInfo;
|
||||
use pocketmine\permission\DefaultPermissionNames;
|
||||
use pocketmine\plugin\Plugin;
|
||||
use pocketmine\utils\TextFormat;
|
||||
use pocketmine\utils\Utils;
|
||||
use pocketmine\VersionInfo;
|
||||
use function count;
|
||||
use function function_exists;
|
||||
use function implode;
|
||||
use function opcache_get_status;
|
||||
use function sprintf;
|
||||
use function stripos;
|
||||
use function strtolower;
|
||||
use const PHP_VERSION;
|
||||
|
||||
class VersionCommand extends VanillaCommand{
|
||||
|
||||
@ -53,12 +59,42 @@ class VersionCommand extends VanillaCommand{
|
||||
}
|
||||
|
||||
if(count($args) === 0){
|
||||
$sender->sendMessage(KnownTranslationFactory::pocketmine_server_info_extended(
|
||||
$sender->getServer()->getName(),
|
||||
$sender->getServer()->getPocketMineVersion(),
|
||||
$sender->getServer()->getVersion(),
|
||||
$sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_serverSoftwareName(
|
||||
TextFormat::GREEN,
|
||||
VersionInfo::NAME
|
||||
));
|
||||
$sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_serverSoftwareVersion(
|
||||
TextFormat::GREEN,
|
||||
VersionInfo::getVersionObj()->getFullVersion(),
|
||||
VersionInfo::getGitHash()
|
||||
));
|
||||
$sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_minecraftVersion(
|
||||
TextFormat::GREEN,
|
||||
ProtocolInfo::MINECRAFT_VERSION_NETWORK,
|
||||
(string) ProtocolInfo::CURRENT_PROTOCOL
|
||||
));
|
||||
$sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_phpVersion(TextFormat::GREEN, PHP_VERSION));
|
||||
|
||||
$jitColor = TextFormat::GREEN;
|
||||
if(
|
||||
function_exists('opcache_get_status') &&
|
||||
($opcacheStatus = opcache_get_status(false)) !== false &&
|
||||
isset($opcacheStatus["jit"]["on"])
|
||||
){
|
||||
$jit = $opcacheStatus["jit"];
|
||||
if($jit["on"] === true){
|
||||
$jitStatus = KnownTranslationFactory::pocketmine_command_version_phpJitEnabled(
|
||||
sprintf("CRTO: %s%s%s%s", $jit["opt_flags"] >> 2, $jit["opt_flags"] & 0x03, $jit["kind"], $jit["opt_level"])
|
||||
);
|
||||
$jitColor = TextFormat::YELLOW;
|
||||
}else{
|
||||
$jitStatus = KnownTranslationFactory::pocketmine_command_version_phpJitDisabled();
|
||||
}
|
||||
}else{
|
||||
$jitStatus = KnownTranslationFactory::pocketmine_command_version_phpJitNotSupported();
|
||||
}
|
||||
$sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_phpJitStatus($jitColor, $sender->getLanguage()->translate($jitStatus)));
|
||||
$sender->sendMessage(KnownTranslationFactory::pocketmine_command_version_operatingSystem(TextFormat::GREEN, Utils::getOS()));
|
||||
}else{
|
||||
$pluginName = implode(" ", $args);
|
||||
$exactPlugin = $sender->getServer()->getPluginManager()->getPlugin($pluginName);
|
||||
|
@ -1124,10 +1124,72 @@ final class KnownTranslationFactory{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_DESCRIPTION, []);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_header() : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_HEADER, []);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_minecraftVersion(string $color, string $minecraftVersion, string $minecraftProtocolVersion) : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_MINECRAFTVERSION, [
|
||||
"color" => $color,
|
||||
"minecraftVersion" => $minecraftVersion,
|
||||
"minecraftProtocolVersion" => $minecraftProtocolVersion,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_noSuchPlugin() : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_NOSUCHPLUGIN, []);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_operatingSystem(string $color, string $operatingSystemName) : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_OPERATINGSYSTEM, [
|
||||
"color" => $color,
|
||||
"operatingSystemName" => $operatingSystemName,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_phpJitDisabled() : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_PHPJITDISABLED, []);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_phpJitEnabled(string $extraJitInfo) : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_PHPJITENABLED, [
|
||||
"extraJitInfo" => $extraJitInfo,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_phpJitNotSupported() : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_PHPJITNOTSUPPORTED, []);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_phpJitStatus(string $color, string $jitStatus) : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_PHPJITSTATUS, [
|
||||
"color" => $color,
|
||||
"jitStatus" => $jitStatus,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_phpVersion(string $color, string $phpVersion) : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_PHPVERSION, [
|
||||
"color" => $color,
|
||||
"phpVersion" => $phpVersion,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_serverSoftwareName(string $color, string $serverSoftwareName) : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_SERVERSOFTWARENAME, [
|
||||
"color" => $color,
|
||||
"serverSoftwareName" => $serverSoftwareName,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_serverSoftwareVersion(string $color, string $serverSoftwareVersion, string $serverGitHash) : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_SERVERSOFTWAREVERSION, [
|
||||
"color" => $color,
|
||||
"serverSoftwareVersion" => $serverSoftwareVersion,
|
||||
"serverGitHash" => $serverGitHash,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_command_version_usage() : TranslationContainer{
|
||||
return new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_USAGE, []);
|
||||
}
|
||||
|
@ -246,7 +246,17 @@ final class KnownTranslationKeys{
|
||||
public const POCKETMINE_COMMAND_UNBAN_IP_DESCRIPTION = "pocketmine.command.unban.ip.description";
|
||||
public const POCKETMINE_COMMAND_UNBAN_PLAYER_DESCRIPTION = "pocketmine.command.unban.player.description";
|
||||
public const POCKETMINE_COMMAND_VERSION_DESCRIPTION = "pocketmine.command.version.description";
|
||||
public const POCKETMINE_COMMAND_VERSION_HEADER = "pocketmine.command.version.header";
|
||||
public const POCKETMINE_COMMAND_VERSION_MINECRAFTVERSION = "pocketmine.command.version.minecraftVersion";
|
||||
public const POCKETMINE_COMMAND_VERSION_NOSUCHPLUGIN = "pocketmine.command.version.noSuchPlugin";
|
||||
public const POCKETMINE_COMMAND_VERSION_OPERATINGSYSTEM = "pocketmine.command.version.operatingSystem";
|
||||
public const POCKETMINE_COMMAND_VERSION_PHPJITDISABLED = "pocketmine.command.version.phpJitDisabled";
|
||||
public const POCKETMINE_COMMAND_VERSION_PHPJITENABLED = "pocketmine.command.version.phpJitEnabled";
|
||||
public const POCKETMINE_COMMAND_VERSION_PHPJITNOTSUPPORTED = "pocketmine.command.version.phpJitNotSupported";
|
||||
public const POCKETMINE_COMMAND_VERSION_PHPJITSTATUS = "pocketmine.command.version.phpJitStatus";
|
||||
public const POCKETMINE_COMMAND_VERSION_PHPVERSION = "pocketmine.command.version.phpVersion";
|
||||
public const POCKETMINE_COMMAND_VERSION_SERVERSOFTWARENAME = "pocketmine.command.version.serverSoftwareName";
|
||||
public const POCKETMINE_COMMAND_VERSION_SERVERSOFTWAREVERSION = "pocketmine.command.version.serverSoftwareVersion";
|
||||
public const POCKETMINE_COMMAND_VERSION_USAGE = "pocketmine.command.version.usage";
|
||||
public const POCKETMINE_COMMAND_WHITELIST_DESCRIPTION = "pocketmine.command.whitelist.description";
|
||||
public const POCKETMINE_CRASH_ARCHIVE = "pocketmine.crash.archive";
|
||||
|
Loading…
x
Reference in New Issue
Block a user