class Manifest { static useLib = ["fs", "auth", "mcl"] static id = "hfmc" static version = "0.1.0" static pkg_name = "Hispano Furs MC" static description = "A Minecraft modpack" static icon = "https://git.ragestudio.net/srgooglo/hfmc-dev/raw/branch/main/icon.png" static license = "unlicensed" static author = "HispanoFurs" static core_minimum_version = "0.16.0" static git_remote = "https://git.ragestudio.net/srgooglo/hfmc-dev" configuration = { memory: { min: 2048, default: 4096, label: "Assigned Memory", type: "number", icon: "MdMemory", ui_component: "slider", ui_component_props: { min: 2048, max: 8192, step: 1024, unit: "MB" }, } } authService = { login: "https://hispanofurs.comty.app/auth", fetcher: "https://hispanofurs.comty.app/rsauthorize", getter: "https://hispanofurs_api.comty.app/data", } installSteps = [ { type: "git_clone", url: Manifest.git_remote, } ] updateSteps = { git_reset: [ { from: "HEAD" } ] } async afterInstall() { const defaultOptionsPath = `${install_path}/default_options.txt` const finalOptionsPath = `${install_path}/options.txt` Lib.fs.copyFileSync(defaultOptionsPath, finalOptionsPath) } async execute() { let auth = await Lib.auth.get() if (!auth) { return await Lib.auth.request() } auth = await Lib.mcl.auth(auth.assigned_username) return await Lib.mcl.launch( { javaPath: Vars.binaries.java_jre_bin, root: install_path, authorization: auth, memory: { min: this.configuration.memory.min, max: Config.get("memory"), }, forge: `${install_path}/forge-installer.jar`, } ) } }