@jsprismarine/minecraft
Version:
Minecraft: Bedrock Edition data and related utilities
68 lines (67 loc) • 6.43 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
let _jsprismarine_errors = require("@jsprismarine/errors");
//#region src/Gametype.ts
/**
* Gametype.
* @remarks Also known as `Gamemode`.
* @group Gametype
*/
var Gametype = /* @__PURE__ */ function(Gametype) {
Gametype[Gametype["UNDEFINED"] = -1] = "UNDEFINED";
Gametype[Gametype["SURVIVAL"] = 0] = "SURVIVAL";
Gametype[Gametype["CREATIVE"] = 1] = "CREATIVE";
Gametype[Gametype["ADVENTURE"] = 2] = "ADVENTURE";
Gametype[Gametype["DEFAULT"] = 0] = "DEFAULT";
Gametype[Gametype["SPECTATOR"] = 3] = "SPECTATOR";
Gametype[Gametype["WORLD_DEFAULT"] = 0] = "WORLD_DEFAULT";
return Gametype;
}({});
/**
* Get Gametype name.
* @param {Gametype} mode - The Gametype to get the name of.
* @returns {GametypeName} The Gametype name.
* @throws {GametypeInvalidError} Thrown if the Gametype is invalid.
* @group Gametype
* @example
* ```typescript
* const gametype = getGametypeName(Gametype.SURVIVAL);
* console.log(gametype); // 'Survival'
* ```
*/
function getGametypeName(mode) {
switch (mode) {
case 0: return "Survival";
case 1: return "Creative";
case 2: return "Adventure";
case 3: return "Spectator";
default: throw new _jsprismarine_errors.GametypeInvalidError();
}
}
/**
* Get Gametype from name.
* @param {GametypeName | string | number} mode - The Gametype to get the ID of.
* @returns {Gametype} The Gametype ID.
* @throws {GametypeInvalidError} Thrown if the Gametype is invalid.
* @group Gametype
* @example
* ```typescript
* const gametype = getGametypeId('survival');
* console.log(gametype); // 0
* ```
*/
function getGametypeId(mode) {
const type = mode.toString().trim().toLowerCase();
switch (true) {
case type === "0" || "survival".startsWith(type): return 0;
case type === "1" || "creative".startsWith(type): return 1;
case type === "2" || "adventure".startsWith(type): return 2;
case type === "3" || "spectator".startsWith(type): return 3;
default: throw new _jsprismarine_errors.GametypeInvalidError(mode.toString());
}
}
//#endregion
exports.Gametype = Gametype;
exports.getGametypeId = getGametypeId;
exports.getGametypeName = getGametypeName;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2FtZXR5cGUuY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvR2FtZXR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZXR5cGVJbnZhbGlkRXJyb3IgfSBmcm9tICdAanNwcmlzbWFyaW5lL2Vycm9ycyc7XG5cbi8qKlxuICogR2FtZXR5cGUuXG4gKiBAcmVtYXJrcyBBbHNvIGtub3duIGFzIGBHYW1lbW9kZWAuXG4gKiBAZ3JvdXAgR2FtZXR5cGVcbiAqL1xuZXhwb3J0IGVudW0gR2FtZXR5cGUge1xuICAgIFVOREVGSU5FRCA9IC0xLFxuICAgIFNVUlZJVkFMID0gMCxcbiAgICBDUkVBVElWRSA9IDEsXG4gICAgQURWRU5UVVJFID0gMixcbiAgICBERUZBVUxUID0gMCxcbiAgICBTUEVDVEFUT1IgPSAzLFxuICAgIFdPUkxEX0RFRkFVTFQgPSBTVVJWSVZBTFxufVxuXG4vKipcbiAqIEdhbWV0eXBlIG5hbWUuXG4gKiBAZ3JvdXAgR2FtZXR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgR2FtZXR5cGVOYW1lID0gJ1N1cnZpdmFsJyB8ICdDcmVhdGl2ZScgfCAnQWR2ZW50dXJlJyB8ICdTcGVjdGF0b3InO1xuXG4vKipcbiAqIEdldCBHYW1ldHlwZSBuYW1lLlxuICogQHBhcmFtIHtHYW1ldHlwZX0gbW9kZSAtIFRoZSBHYW1ldHlwZSB0byBnZXQgdGhlIG5hbWUgb2YuXG4gKiBAcmV0dXJucyB7R2FtZXR5cGVOYW1lfSBUaGUgR2FtZXR5cGUgbmFtZS5cbiAqIEB0aHJvd3Mge0dhbWV0eXBlSW52YWxpZEVycm9yfSBUaHJvd24gaWYgdGhlIEdhbWV0eXBlIGlzIGludmFsaWQuXG4gKiBAZ3JvdXAgR2FtZXR5cGVcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBnYW1ldHlwZSA9IGdldEdhbWV0eXBlTmFtZShHYW1ldHlwZS5TVVJWSVZBTCk7XG4gKiBjb25zb2xlLmxvZyhnYW1ldHlwZSk7IC8vICdTdXJ2aXZhbCdcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2FtZXR5cGVOYW1lKG1vZGU6IEdhbWV0eXBlKTogR2FtZXR5cGVOYW1lIHtcbiAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgY2FzZSBHYW1ldHlwZS5TVVJWSVZBTDpcbiAgICAgICAgICAgIHJldHVybiAnU3Vydml2YWwnO1xuICAgICAgICBjYXNlIEdhbWV0eXBlLkNSRUFUSVZFOlxuICAgICAgICAgICAgcmV0dXJuICdDcmVhdGl2ZSc7XG4gICAgICAgIGNhc2UgR2FtZXR5cGUuQURWRU5UVVJFOlxuICAgICAgICAgICAgcmV0dXJuICdBZHZlbnR1cmUnO1xuICAgICAgICBjYXNlIEdhbWV0eXBlLlNQRUNUQVRPUjpcbiAgICAgICAgICAgIHJldHVybiAnU3BlY3RhdG9yJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBHYW1ldHlwZUludmFsaWRFcnJvcigpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBHZXQgR2FtZXR5cGUgZnJvbSBuYW1lLlxuICogQHBhcmFtIHtHYW1ldHlwZU5hbWUgfCBzdHJpbmcgfCBudW1iZXJ9IG1vZGUgLSBUaGUgR2FtZXR5cGUgdG8gZ2V0IHRoZSBJRCBvZi5cbiAqIEByZXR1cm5zIHtHYW1ldHlwZX0gVGhlIEdhbWV0eXBlIElELlxuICogQHRocm93cyB7R2FtZXR5cGVJbnZhbGlkRXJyb3J9IFRocm93biBpZiB0aGUgR2FtZXR5cGUgaXMgaW52YWxpZC5cbiAqIEBncm91cCBHYW1ldHlwZVxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGdhbWV0eXBlID0gZ2V0R2FtZXR5cGVJZCgnc3Vydml2YWwnKTtcbiAqIGNvbnNvbGUubG9nKGdhbWV0eXBlKTsgLy8gMFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRHYW1ldHlwZUlkKG1vZGU6IEdhbWV0eXBlTmFtZSB8IHN0cmluZyB8IG51bWJlcik6IEdhbWV0eXBlIHtcbiAgICBjb25zdCB0eXBlID0gbW9kZS50b1N0cmluZygpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgIGNhc2UgdHlwZSA9PT0gJzAnIHx8ICdzdXJ2aXZhbCcuc3RhcnRzV2l0aCh0eXBlKTpcbiAgICAgICAgICAgIHJldHVybiBHYW1ldHlwZS5TVVJWSVZBTDtcbiAgICAgICAgY2FzZSB0eXBlID09PSAnMScgfHwgJ2NyZWF0aXZlJy5zdGFydHNXaXRoKHR5cGUpOlxuICAgICAgICAgICAgcmV0dXJuIEdhbWV0eXBlLkNSRUFUSVZFO1xuICAgICAgICBjYXNlIHR5cGUgPT09ICcyJyB8fCAnYWR2ZW50dXJlJy5zdGFydHNXaXRoKHR5cGUpOlxuICAgICAgICAgICAgcmV0dXJuIEdhbWV0eXBlLkFEVkVOVFVSRTtcbiAgICAgICAgY2FzZSB0eXBlID09PSAnMycgfHwgJ3NwZWN0YXRvcicuc3RhcnRzV2l0aCh0eXBlKTpcbiAgICAgICAgICAgIHJldHVybiBHYW1ldHlwZS5TUEVDVEFUT1I7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgR2FtZXR5cGVJbnZhbGlkRXJyb3IobW9kZS50b1N0cmluZygpKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU9BLElBQVksV0FBTCx5QkFBQSxVQUFBO0NBQ0gsU0FBQSxTQUFBLGVBQUEsTUFBQTtDQUNBLFNBQUEsU0FBQSxjQUFBLEtBQUE7Q0FDQSxTQUFBLFNBQUEsY0FBQSxLQUFBO0NBQ0EsU0FBQSxTQUFBLGVBQUEsS0FBQTtDQUNBLFNBQUEsU0FBQSxhQUFBLEtBQUE7Q0FDQSxTQUFBLFNBQUEsZUFBQSxLQUFBO0NBQ0EsU0FBQSxTQUFBLG1CQUFBLEtBQUE7O0FBQ0osRUFBQSxDQUFBLENBQUE7Ozs7Ozs7Ozs7Ozs7QUFvQkEsU0FBZ0IsZ0JBQWdCLE1BQThCO0NBQzFELFFBQVEsTUFBUjtFQUNJLEtBQUEsR0FDSSxPQUFPO0VBQ1gsS0FBQSxHQUNJLE9BQU87RUFDWCxLQUFBLEdBQ0ksT0FBTztFQUNYLEtBQUEsR0FDSSxPQUFPO0VBQ1gsU0FDSSxNQUFNLElBQUkscUJBQUEscUJBQXFCO0NBQ3ZDO0FBQ0o7Ozs7Ozs7Ozs7Ozs7QUFjQSxTQUFnQixjQUFjLE1BQWdEO0NBQzFFLE1BQU0sT0FBTyxLQUFLLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWTtDQUVoRCxRQUFRLE1BQVI7RUFDSSxLQUFLLFNBQVMsT0FBTyxXQUFXLFdBQVcsSUFBSSxHQUMzQyxPQUFBO0VBQ0osS0FBSyxTQUFTLE9BQU8sV0FBVyxXQUFXLElBQUksR0FDM0MsT0FBQTtFQUNKLEtBQUssU0FBUyxPQUFPLFlBQVksV0FBVyxJQUFJLEdBQzVDLE9BQUE7RUFDSixLQUFLLFNBQVMsT0FBTyxZQUFZLFdBQVcsSUFBSSxHQUM1QyxPQUFBO0VBQ0osU0FDSSxNQUFNLElBQUkscUJBQUEscUJBQXFCLEtBQUssU0FBUyxDQUFDO0NBQ3REO0FBQ0oifQ==