Overhauling file system structure.

Common files such as assets, libraries, and mods have been externalized into a 'common' folder. Each server now has its own instance folder to allow saving per version files. This resolves issues with resourcepacks and mod configurations being overriden, and still preserves our optimizations in storing libraries and mods maven style.
This commit is contained in:
Daniel Scalzi
2018-06-04 00:17:20 -04:00
parent 97e9c15baf
commit 0cc861f614
5 changed files with 61 additions and 38 deletions

View File

@@ -257,9 +257,10 @@ function asyncSystemScan(launchAfter = true){
// Fork a process to run validations.
sysAEx = cp.fork(path.join(__dirname, 'assets', 'js', 'assetexec.js'), [
ConfigManager.getGameDirectory(),
ConfigManager.getCommonDirectory(),
ConfigManager.getLauncherDirectory(),
ConfigManager.getJavaExecutable()
ConfigManager.getJavaExecutable(),
ConfigManager.getInstanceDirectory()
], {
stdio: 'pipe'
})
@@ -436,9 +437,10 @@ function dlAsync(login = true){
// Start AssetExec to run validations and downloads in a forked process.
aEx = cp.fork(path.join(__dirname, 'assets', 'js', 'assetexec.js'), [
ConfigManager.getGameDirectory(),
ConfigManager.getCommonDirectory(),
ConfigManager.getLauncherDirectory(),
ConfigManager.getJavaExecutable()
ConfigManager.getJavaExecutable(),
ConfigManager.getInstanceDirectory()
], {
stdio: 'pipe'
})
@@ -581,7 +583,7 @@ function dlAsync(login = true){
//}
const authUser = ConfigManager.getSelectedAccount()
console.log('authu', authUser)
let pb = new ProcessBuilder(ConfigManager.getGameDirectory(), serv, versionData, forgeData, authUser)
let pb = new ProcessBuilder(serv, versionData, forgeData, authUser)
setLaunchDetails('Launching game..')
try {
// Build Minecraft process.