hfmc-dev/main.rmanifest.js

82 lines
2.1 KiB
JavaScript

class Manifest {
static useLib = ["path", "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`
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`,
}
)
}
}