This repository has been archived on 2024-06-11. You can view files and clone it, but cannot push or open issues or pull requests.
PackConverterJS/index.js

55 lines
1.4 KiB
JavaScript

const decompress = require('decompress');
const fs = require('fs');
const jsonfile = require('jsonfile');
const file = 'blocks.json';
let blocks;
jsonfile.readFile(file, function (err, obj) {
if (err) console.error(err);
// console.dir(obj)
blocks = obj;
});
extract('1.8');
// extract("1.20.1")
function extract(string) {
const extractedPath = 'out/assets/minecraft/textures/';
decompress(`test/${string}.zip`, 'out/').then(files => {
files.forEach(element => {
if (!element.path.includes('assets/minecraft/textures/')) {
return;
}
const texture = element.path.match(/(?:[A-Za-z]*\/)*([A-Za-z]*)\/([A-Za-z_0-9]*)\.(png\.mcmeta|png)/);
/*
[
'assets/minecraft/textures/misc/vignette.png.mcmeta',
'misc',
'vignette',
'png.mcmeta',
index: 0,
input: 'assets/minecraft/textures/misc/vignette.png.mcmeta',
groups: undefined
]
*/
if (texture) {
// const path = texture[0];
const type = texture[1];
const name = texture[2];
const extension = texture[3];
const rename = blocks[name];
const poggers = `${extractedPath}${type}/`;
if (type == 'blocks' && rename) {
try {
fs.renameSync(`${poggers}${name}.${extension}`, `${poggers}${rename}.${extension}`);
console.log(`Renamed ${poggers}${name}.${extension} to ${poggers}${rename}.${extension}`);
}
catch (err) {
console.log(err);
}
}
}
});
});
}