33 public const NAME =
"PocketMine-MP";
34 public const BASE_VERSION =
"5.36.1";
35 public const IS_DEVELOPMENT_BUILD =
true;
36 public const BUILD_CHANNEL =
"stable";
37 public const GITHUB_URL =
"https://github.com/pmmp/PocketMine-MP";
48 public const WORLD_DATA_VERSION = 1;
52 public const TAG_WORLD_DATA_VERSION =
"PMMPDataVersion";
54 private function __construct(){
58 private static ?
string $gitHash =
null;
60 public static function GIT_HASH() : string{
61 if(self::$gitHash === null){
62 $gitHash = str_repeat(
"00", 20);
64 if(\Phar::running(
true) ===
""){
65 $gitHash = Git::getRepositoryStatePretty(\
pocketmine\PATH);
67 $pharPath = \Phar::running(
false);
68 $phar = \Phar::isValidPharFilename($pharPath) ? new \Phar($pharPath) : new \PharData($pharPath);
69 $meta = $phar->getMetadata();
70 if(isset($meta[
"git"])){
71 $gitHash = $meta[
"git"];
75 self::$gitHash = $gitHash;
78 return self::$gitHash;
81 private static ?
int $buildNumber =
null;
83 public static function BUILD_NUMBER() : int{
84 if(self::$buildNumber === null){
85 self::$buildNumber = 0;
86 if(\Phar::running(
true) !==
""){
87 $pharPath = \Phar::running(
false);
88 $phar = \Phar::isValidPharFilename($pharPath) ? new \Phar($pharPath) : new \PharData($pharPath);
89 $meta = $phar->getMetadata();
90 if(is_array($meta) && isset($meta[
"build"]) && is_int($meta[
"build"])){
91 self::$buildNumber = $meta[
"build"];
96 return self::$buildNumber;
99 private static ?VersionString $fullVersion =
null;
101 public static function VERSION() : VersionString{
102 if(self::$fullVersion === null){
103 self::$fullVersion =
new VersionString(self::BASE_VERSION, self::IS_DEVELOPMENT_BUILD, self::BUILD_NUMBER());
105 return self::$fullVersion;