adapt: adapt 1.20.72

This commit is contained in:
Tsubasa6848
2024-03-28 00:06:06 +08:00
Unverified
parent e799b2a0c9
commit c65c72d51e
10 changed files with 133 additions and 9 deletions
+49 -1
View File
@@ -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
};