2025-03-11 10:21:58 -04:00

46 lines
1.1 KiB
JavaScript

const fs = require('fs');
const cp = require('child_process');
const yaml = require('yamljs');
var registry = {}; //registry of mods downloaded
var mods = fs.readFileSync("./mods.yaml", 'utf-8');
mods = yaml.parse(mods);
var oldRegistry = fs.readFileSync("/root/mcserver/modRegistry.yaml", 'utf-8');
oldRegistry = yaml.parse(oldRegistry);
var modList = mods.mod_list;
var modDownloads = mods.mod_downloads;
modList.forEach((ele, idx, arr) => {
let link = modDownloads[ele];
let modinfo = {
modName: "",
link: link
}
modinfo.modName = "*" + ele;
registry[ele] = modinfo;
if (link == "client"){
modinfo.modName = "*" + ele;
return;
}
if (process.argv[2] != "overwrite"){
if (Object.keys(oldRegistry).includes(ele)) {
return;
}
}
let output = cp.execSync("cd /root/mcserver/mods && wget --content-disposition -nc " + link).toString('utf-8'); //change dir and download mod
console.log(output);
console.log("\n\n\n\n\n\n" + modinfo.modName + "\n\n\n\n\n\n");
});
fs.writeFileSync("/root/mcserver/modRegistry.yaml", yaml.stringify(registry));