67 lines
2.4 KiB
JavaScript
67 lines
2.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 => {
|
|
try {
|
|
// fs.renameSync(`out/${string}/assets/minecraft/textures/blocks`, `out/${string}/assets/minecraft/textures/block`)
|
|
// fs.renameSync(`out/${string}/assets/minecraft/textures/items`, `out/${string}/assets/minecraft/textures/item`)
|
|
// fs.renameSync(`out/assets/minecraft/textures/blocks`, `out/assets/minecraft/textures/block`)
|
|
// fs.renameSync(`out/assets/minecraft/textures/items`, `out/assets/minecraft/textures/item`)
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
files.forEach(element => {
|
|
if (!element.path.includes("assets/minecraft/textures/")) {
|
|
return;
|
|
}
|
|
let texture = element.path.match(/(?:[A-Za-z]*\/)*([A-za-z]*)\/([A-Za-z_]*).png/);
|
|
// console.log(files)
|
|
// console.log(texture)
|
|
/*
|
|
[
|
|
'assets/minecraft/textures/particle/particles.png', [0] (path)
|
|
'particle', [1] (group)
|
|
'particles', [2] (name)
|
|
index: 0, [3]
|
|
input: 'assets/minecraft/textures/particle/particles.png', [4]
|
|
groups: undefined [5]
|
|
]
|
|
*/
|
|
if (texture) {
|
|
let path = texture[0]
|
|
let group = texture[1]
|
|
let name = texture[2]
|
|
let rename = blocks[name]
|
|
const poggers = `${extractedPath}${group}/`
|
|
// console.log(texture)
|
|
// console.log(type)
|
|
if (group == "blocks" && rename) {
|
|
// console.log(rename)
|
|
try {
|
|
fs.renameSync(`${poggers}${name}.png`, `${poggers}${rename}.png`)
|
|
console.log(`renamed ${poggers}${rename}`)
|
|
// fs.existsSync(poggers)
|
|
// console.log(poggers)
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|