GenisysPro  for Minecraft PE/Windows 10 v1.1.x
Feature-rich server software for Minecraft PE and Windows 10 Edition
VersionString Class Reference

Public Member Functions

 __construct ($version=\pocketmine\VERSION)
 
 getNumber ()
 
 getStage ()
 
 getGeneration ()
 
 getMajor ()
 
 getMinor ()
 
 getRelease ()
 
 getBuild ()
 
 isDev ()
 
 get ($build=false)
 
 __toString ()
 
 compare ($target, $diff=false)
 

Detailed Description

Manages PocketMine-MP version strings, and compares them

Constructor & Destructor Documentation

◆ __construct()

__construct (   $version = \pocketmine\VERSION)

VersionString constructor.

Parameters
string$version
39  {
40  if(is_int($version)){
41  $this->minor = $version & 0x1F;
42  $this->major = ($version >> 5) & 0x0F;
43  $this->generation = ($version >> 9) & 0x0F;
44  }else{
45  $this->generation = 0;
46  $this->major = 0;
47  $this->minor = 0;
48  $this->development = true;
49  $this->build = 0;
50  }
51  }

Member Function Documentation

◆ __toString()

__toString ( )
Returns
string
121  {
122  return $this->get();
123  }

◆ compare()

compare (   $target,
  $diff = false 
)
Parameters
$target
bool$diff
Returns
int
131  {
132  if(($target instanceof VersionString) === false){
133  $target = new VersionString($target);
134  }
135  $number = $this->getNumber();
136  $tNumber = $target->getNumber();
137  if($diff === true){
138  return $tNumber - $number;
139  }
140  if($number > $tNumber){
141  return -1; //Target is older
142  }elseif($number < $tNumber){
143  return 1; //Target is newer
144  }elseif($target->getBuild() > $this->getBuild()){
145  return 1;
146  }elseif($target->getBuild() < $this->getBuild()){
147  return -1;
148  }else{
149  return 0; //Same version
150  }
151  }

◆ get()

get (   $build = false)
Parameters
bool$build
Returns
string
114  {
115  return $this->getRelease() . ($this->development === true ? "dev" : "") . (($this->build > 0 and $build === true) ? "-" . $this->build : "");
116  }

◆ getBuild()

getBuild ( )
Returns
int
98  {
99  return $this->build;
100  }

◆ getGeneration()

getGeneration ( )
Returns
int
70  {
71  return $this->generation;
72  }

◆ getMajor()

getMajor ( )
Returns
int
77  {
78  return $this->major;
79  }

◆ getMinor()

getMinor ( )
Returns
int
84  {
85  return $this->minor;
86  }

◆ getNumber()

getNumber ( )
Returns
int
56  {
57  return (int) (($this->generation << 9) + ($this->major << 5) + $this->minor);
58  }

◆ getRelease()

getRelease ( )
Returns
string
91  {
92  return $this->generation . "." . $this->major . ($this->minor > 0 ? "." . $this->minor : "");
93  }

◆ getStage()

getStage ( )
Deprecated:
63  {
64  return "final";
65  }

◆ isDev()

isDev ( )
Returns
bool
105  {
106  return $this->development === true;
107  }

The documentation for this class was generated from the following file: