Files
DeEarthX-V3/backend/src/modloader/index.ts
2025-09-28 00:21:01 +08:00

36 lines
983 B
TypeScript

import { Fabric } from "./fabric.js";
import { Forge } from "./forge.js";
import { Minecraft } from "./minecraft.js";
import { NeoForge } from "./neoforge.js";
interface XModloader {
setup(): Promise<void>
}
export function modloader(ml:string,mcv:string,mlv:string,path:string){
let modloader:XModloader
switch (ml) {
case "fabric":
modloader = new Fabric(mcv,mlv,path)
break;
case "fabric-loader":
modloader = new Fabric(mcv,mlv,path)
break;
case "forge":
modloader = new Forge(mcv,mlv,path)
break;
case "neoforge":
modloader = new NeoForge(mcv,mlv,path)
break;
default:
modloader = new Minecraft(ml,mcv,mlv,path)
break;
}
return modloader
}
export async function mlsetup(ml:string,mcv:string,mlv:string,path:string){
const minecraft = new Minecraft(ml,mcv,mlv,path);
console.log(ml)
await modloader(ml,mcv,mlv,path).setup()
await minecraft.setup()
}