UNPKG

onelnchr-mc-loaders

Version:
132 lines 4.96 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.tomateModsModLoader = exports.url = exports.id = void 0; exports.listLoaders = listLoaders; exports.listAllLoaderVersions = listAllLoaderVersions; exports.listLoaderVersions = listLoaderVersions; exports.getProfile = getProfile; exports.getMCLCLaunchConfig = getMCLCLaunchConfig; exports.listSupportedGameVersions = listSupportedGameVersions; const axios_1 = __importStar(require("axios")); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const errors_1 = require("../errors"); exports.id = 'quilt'; const api = axios_1.default.create({ baseURL: 'https://meta.quiltmc.org/v3/', }); exports.url = 'https://quiltmc.org/'; async function listLoaders() { const loaders = await api.get('/versions/loader'); if (loaders.data.length <= 0) throw new Error('Error while fetching quilt metadata; Loader length is zero'); return loaders.data; } /** * Returns all loader versions. */ async function listAllLoaderVersions() { const loaders = await listLoaders(); return loaders.map((loader) => loader.version); } /** * Returns all loader versions that are available for a given game version. * This returns the same as listAllLoaderVersions on quilt */ async function listLoaderVersions(_gameVersion) { return listAllLoaderVersions(); } async function getProfile(gameVersion, loaderVersion) { try { const profile = await api.get(`/versions/loader/${gameVersion}/${loaderVersion}/profile/json`); return profile.data; } catch (e) { if (e instanceof axios_1.AxiosError) { if (e.response?.status === 404) { throw new Error(`Version "${gameVersion}" could not be found`); } } throw e; } } /** * Downloads the latest version json and returns a partial MCLC config */ async function getMCLCLaunchConfig(config) { if (!config.loaderVersion) { const [loader] = await listLoaders(); config.loaderVersion = loader.version; } if (!config.loaderVersion) { throw new errors_1.InvalidVersionError(config.gameVersion); } const profile = await getProfile(config.gameVersion, config.loaderVersion); const versionPath = path_1.default.join(config.rootPath, 'versions', `quilt-${config.gameVersion}-${config.loaderVersion}`, `quilt-${config.gameVersion}-${config.loaderVersion}.json`); fs_1.default.mkdirSync(path_1.default.dirname(versionPath), { recursive: true }); fs_1.default.writeFileSync(versionPath, JSON.stringify(profile)); return { root: config.rootPath, version: { number: config.gameVersion, type: 'release', custom: `quilt-${config.gameVersion}-${config.loaderVersion}`, }, }; } /** * Returns all game versions a loader supports */ async function listSupportedGameVersions() { return (await api.get('/versions/game')).data; } /** * The loader config for the 'tomate-mods' package */ exports.tomateModsModLoader = { overrideMods: { P7dR8mSH: 'qvIfYCYJ', // Fabric Api -> QFAPI '308769': '634179', // Fabric Api -> QFAPI Ha28R6CL: 'lwVhp9o5', // Fabric Language Kotlin -> QKL '306612': '720410', // Fabric Language Kotlin -> QKL }, modrinthCategories: ['quilt', 'fabric'], curseforgeCategory: '5', }; //# sourceMappingURL=quilt.js.map