From e9eaf24949474630125f05562ecfd0f48acb3493 Mon Sep 17 00:00:00 2001 From: kisakay Date: Sun, 18 Oct 2026 19:13:18 +0200 Subject: [PATCH] Launcher: fix natives MC 26.x (sous-dossiers java/jna/lwjgl/netty, extraction vers java/) --- launcher/app/assets/js/processbuilder.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/launcher/app/assets/js/processbuilder.js b/launcher/app/assets/js/processbuilder.js index a0bdb0f..9cf5cd0 100644 --- a/launcher/app/assets/js/processbuilder.js +++ b/launcher/app/assets/js/processbuilder.js @@ -719,6 +719,12 @@ class ProcessBuilder { const libArr = this.vanillaManifest.libraries fs.ensureDirSync(tempNativePath) + // Mojang (1.20.5+) attend des sous-dossiers : ${natives_directory}/java (java.library.path), + // /jna, /lwjgl, /netty (extraction runtime). Sans eux -> "not a directory" -> crash LWJGL. + // (SurviePote : correctif layout natives MC 26.x, Helios 2.x extrayait à plat.) + for(const sub of ['java', 'jna', 'lwjgl', 'netty']){ + fs.ensureDirSync(path.join(tempNativePath, sub)) + } for(let i=0; i { - if(err){ - logger.error('Error while extracting native library:', err) - } - }) + const data = zipEntries[i].getData() + for(const dest of [path.join(tempNativePath, extractName), path.join(tempNativePath, 'java', extractName)]){ + fs.writeFile(dest, data, (err) => { + if(err){ + logger.error('Error while extracting native library:', err) + } + }) + } } }