diff --git a/src/main.ts b/src/main.ts index 46f3816..72ca522 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,7 @@ import fs from "node:fs"; import fse from "fs-extra"; import { join, basename, dirname } from "node:path"; import { platform, what_platform } from "./platform/index.js"; -import { isDevelopment, isInstallJava, readzipentry } from "./utils/utils.js"; +import { type ForgeInfo, isDevelopment, isInstallJava, readzipentry } from "./utils/utils.js"; import fabric from "./ml_install/fabric.js"; import forge from "./ml_install/forge.js"; import neoforge from "./ml_install/neoforge.js"; @@ -39,7 +39,7 @@ if (!argv) { function initdir() { if (!fs.existsSync(unzip_path)) { - fse.ensureDirSync(join(unzip_path, "rubbish")); + fse.ensureDirSync(join(unzip_path, ".rubbish")); } } @@ -88,12 +88,13 @@ async function main(modpack_path: string) { const plat = platform(what_platform(dud_files)); const info = await plat.getinfo(pack_info); await plat.downloadfile(pack_info, dirx); - await DeEarthMain(join(dirx, "mods"), join(unzip_path, "rubbish")); + await DeEarthMain(join(dirx, "mods"), join(unzip_path, ".rubbish")); await install(info.loader, info.minecraft, info.loader_version, dirx); fs.writeFileSync( join(dirx, "eula.txt"), "#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).\n#This serverpack created by DeEarthX(QQ_Group:559349662)\neula=true" ); + await garcol(dirx,{minecraft_verison: info.minecraft, forge_verison: info.loader_version}).catch((e)=>{}); LOGGER.info("DeEarthX已将服务端制作完成!"); zipfile.close(); }); @@ -116,6 +117,9 @@ async function install( break; case "fabric-loader": await fabric(minecraft, loaderver, path); + const com = "java -jar fabric-server-launch.jar" + fs.writeFileSync(join(path,'run.bat'),com) + fs.writeFileSync(join(path,'run.sh'),com) break; case "forge": await forge(minecraft, loaderver, path); @@ -126,6 +130,24 @@ async function install( } } +async function garcol(p:string,fi:ForgeInfo): Promise { + return new Promise((resolve,reject)=>{ + try{ + LOGGER.info("正在删除垃圾文件......") + const x = [`Forge-${fi.minecraft_verison}-${fi.forge_verison}.jar`,`installer.log`,`installer.jar`,`fabric-installer-1.0.3.jar`,`options.txt`,`shaderpacks/`,`resourcepacks/`] + for (let i=0;i