27行代码完美接入forge安装!
最近在开发我的世界启动器mal的时候需要完成forge安装,于是查阅资料完成了这个小模块。引用
const forge = require("forge.js"); //替换为实际路径
获得forge列表
let forgeList; // 初始化forge列表
forge.getForgeListByMCVersion("1.12.2") //替换为版本号,不要加分号
.then((e)=>forgeList=e) //成功处理
.catch() //错误处理
下载forge
forge.downloadForgeFile("1.12.2", "14.23.0.2486", function(status,msg){console.log(status,msg)}); //替换为实际的mc版本号和forge版本号
如果status是false就是参数不正确或者第三方跑路,若status为true则msg里面是forge文件的位置
安装forge
用node.js执行命令(测试时直接用cmd)这里应该是要在versions下的游戏文件夹里执行
java -jar forge文件名称.jar nogui -installServer然后forge就被成功安装了!
static/image/hrline/line3.png
源码:
const axios = require("axios");
const forge = {};
forge.getForgeListByMCVersion = async(mcVersion)=>{
try{
const forgeList = await axios.get(`https://bmclapi2.bangbang93.com/forge/minecraft/${mcVersion}`);
return forgeList.data;
}catch{
return false;
}
}
forge.downloadForgeFile = (mcVersion, forgeVersion, callback)=>{
const {exec} = require("child_process");
const filename = `${mcVersion}-${forgeVersion}-mal.jar`;
const wgetCommand = `wget "https://bmclapi2.bangbang93.com/forge/download?mcversion=${mcVersion}&version=${forgeVersion}&category=installer&format=jar" -O ${filename}`;
console.log(wgetCommand);
exec(wgetCommand, (err, stdout, stderr)=>{
if (err){
callback(false, [stdout, stderr]);
}else{
callback(true, filename);
}
})
}
module.exports = forge;
文件夹内还要放wget.exe哦!
页:
[1]