UNPKG

@jsprismarine/minecraft

Version:
68 lines (67 loc) 6.43 kB
"use strict"; 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==