adapt: adapt 1.20.72
This commit is contained in:
+49
-1
@@ -480,6 +480,53 @@ class Experiments {
|
||||
}
|
||||
}
|
||||
|
||||
class Version {
|
||||
constructor(major, minor, patch) {
|
||||
this.mMajor = major;
|
||||
this.mMinor = minor;
|
||||
this.mPatch = patch;
|
||||
}
|
||||
|
||||
toString(prefix = true) {
|
||||
let result = `${this.mMajor}.${this.mMinor}.${this.mPatch}`;
|
||||
if (prefix) {
|
||||
result = "v" + result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
toArray() {
|
||||
return [this.mMajor, this.mMinor, this.mPatch];
|
||||
}
|
||||
|
||||
valueOf() {
|
||||
return 100000000 * this.mMajor + 10000 * this.mMinor + this.mPatch;
|
||||
}
|
||||
|
||||
static fromString(string) {
|
||||
if (typeof string === 'string' || string instanceof String) {
|
||||
let pattern = /^v?\d+\.\d+\.\d+$/;
|
||||
if (pattern.test(string)) {
|
||||
let regex = /\d+/g;
|
||||
let numbers = string.match(regex);
|
||||
let array = numbers.slice(0, 3).map(Number);
|
||||
return new Version(array[0], array[1], array[2]);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static fromArray(array) {
|
||||
if (Array.isArray(array) && array.length == 3) {
|
||||
let isNumber = array.every(element => typeof element == "number");
|
||||
if (isNumber) {
|
||||
return new Version(array[0], array[1], array[2])
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
class GMLIB {
|
||||
constructor() {
|
||||
throw new Error("Static class cannot be instantiated");
|
||||
@@ -782,5 +829,6 @@ module.exports = {
|
||||
Scoreboard,
|
||||
JsonConfig,
|
||||
JsonLanguage,
|
||||
JsonI18n
|
||||
JsonI18n,
|
||||
Version
|
||||
};
|
||||
Reference in New Issue
Block a user