From e1063f2507b843e74c713afefdcb3d413db45f4f Mon Sep 17 00:00:00 2001 From: Ayaka Date: Tue, 16 Apr 2024 21:11:55 +1200 Subject: [PATCH] formatting --- packgen.js | 165 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 97 insertions(+), 68 deletions(-) diff --git a/packgen.js b/packgen.js index d5a1b59..0282141 100644 --- a/packgen.js +++ b/packgen.js @@ -1,76 +1,105 @@ -const MSE = require("mse-translator") +const MSE = require('mse-translator'); const https = require('https'); const fs = require('fs'); const archiver = require('archiver'); -const urlReq = function(reqUrl, options, cb){ - if(typeof options === "function"){ cb = options; options = {}; }// incase no options passed in - https.get(reqUrl,(res) => { - let body = ""; - res.on("data", (chunk) => {body += chunk;}); - res.on("end", () => { - try { - cb(body, res); - } catch (error) { - console.error(error.message); - }; - }); - }).on("error", (error) => { - console.error(error.message); - }); -} - -let piston = "https://piston-meta.mojang.com/mc/game/version_manifest_v2.json"; -let resources = "https://resources.download.minecraft.net/" -let baselang = "en_gb" -urlReq(piston, function(body, res){ - json = JSON.parse(body) - console.log(`Using base language "${baselang}" from version (${json.versions[0].id})`) - - urlReq(json.versions[1].url, function(body, res){ - json = JSON.parse(body) - //console.log(json.assetIndex) - - urlReq(json.assetIndex.url, function(body, res){ - json = JSON.parse(body) - hash = json.objects[`minecraft/lang/${baselang}.json`].hash - urlReq(resources+`${hash.substring(0,2)}/${hash}`, function(body, res){ - pack = JSON.parse(body) - //console.log(body.substring(0,200)) - var totals = {total:Object.keys(pack).length,translated:0} - console.log(`Translating ${totals.total} strings`) - Object.keys(pack).forEach(function(key){ - var translated = MSE.translate( - pack[key] - .replace(/\%s/gi, "%_") //mc patch - .replace(/\$s/gi, "$_") - ) - .replace(/\%_/gi, "%s") //mc patch back - .replace(/\$_/gi, "$s") - if (translated != pack[key]) {totals.translated = totals.translated+1} - pack[key] = translated - }); - console.log(`Translated ${totals.translated} out of ${totals.total} strings`) - //console.log(pack) - //fs.writeFile('myjsonfile.json', JSON.stringify(pack), 'utf8'); - fs.writeFile (__dirname + "/template/assets/minecraft/lang/en_mse.json", JSON.stringify(pack,null,4), 'utf8',function(err) { - if (err) throw err; - console.log('en_mse.json generated, creating pack and compressing.'); - const output = fs.createWriteStream(__dirname + '/Maoist-Standard-English.zip'); - const archive = archiver('zip', { - zlib: { level: 9 } // Sets the compression level. - }); - archive.on('error', function(err) {throw err;}); - output.on('close', function() { - console.log("language-pack archive generated with a filesize of " + archive.pointer() + ' bytes'); - }); - archive.pipe(output); - archive.directory('template/', false); - archive.finalize(); - }); +const urlReq = function (reqUrl, options, cb) { + if (typeof options === 'function') { + cb = options; + options = {}; + } // incase no options passed in + https + .get(reqUrl, (res) => { + let body = ''; + res.on('data', (chunk) => { + body += chunk; }); + res.on('end', () => { + try { + cb(body, res); + } catch (error) { + console.error(error.message); + } + }); + }) + .on('error', (error) => { + console.error(error.message); + }); +}; + +let piston = 'https://piston-meta.mojang.com/mc/game/version_manifest_v2.json'; +let resources = 'https://resources.download.minecraft.net/'; +let baselang = 'en_gb'; + +urlReq(piston, function (body, res) { + json = JSON.parse(body); + console.log( + `Using base language "${baselang}" from version (${json.versions[0].id})`, + ); + + urlReq(json.versions[1].url, function (body, res) { + json = JSON.parse(body); + urlReq(json.assetIndex.url, function (body, res) { + json = JSON.parse(body); + hash = json.objects[`minecraft/lang/${baselang}.json`].hash; + urlReq( + resources + `${hash.substring(0, 2)}/${hash}`, + function (body, res) { + pack = JSON.parse(body); + var totals = { + total: Object.keys(pack).length, + translated: 0, + }; + console.log(`Translating ${totals.total} strings`); + Object.keys(pack).forEach(function (key) { + var translated = MSE.translate( + pack[key] + .replace(/\%s/gi, '%_') //mc patch + .replace(/\$s/gi, '$_'), + ) + .replace(/\%_/gi, '%s') //mc patch back + .replace(/\$_/gi, '$s'); + if (translated != pack[key]) { + totals.translated = totals.translated + 1; + } + pack[key] = translated; + }); + console.log( + `Translated ${totals.translated} out of ${totals.total} strings`, + ); + fs.writeFile( + __dirname + + '/template/assets/minecraft/lang/en_mse.json', + JSON.stringify(pack, null, 4), + 'utf8', + function (err) { + if (err) throw err; + console.log( + 'en_mse.json generated, creating pack and compressing.', + ); + const output = fs.createWriteStream( + __dirname + '/Maoist-Standard-English.zip', + ); + const archive = archiver('zip', { + zlib: { level: 9 }, // Sets the compression level. + }); + archive.on('error', function (err) { + throw err; + }); + output.on('close', function () { + console.log( + 'language-pack archive generated with a filesize of ' + + archive.pointer() + + ' bytes', + ); + }); + archive.pipe(output); + archive.directory('template/', false); + archive.finalize(); + }, + ); + }, + ); }); }); }); - -