Redstone dot

This commit is contained in:
MoonLeeeaf
2024-05-26 16:40:56 +08:00
parent fc1f6201c1
commit 82f91b43b1
2 changed files with 43 additions and 0 deletions

43
MCHashtoName.js Normal file
View File

@@ -0,0 +1,43 @@
const fs = require("fs")
const { join, dirname } = require("path")
process.stdin.setEncoding("utf8");
function readlineSync(msg = "Input") {
return new Promise((resolve, reject) => {
console.log(msg)
process.stdin.resume();
process.stdin.on("data", function (data) {
process.stdin.pause();
resolve(data.substring(0, data.length - 2));
});
});
}
// entry point
async function main() {
let jsonpath = await readlineSync("Input the JSON Path");
let srcpath = await readlineSync("Input the src Path");
let distpath = await readlineSync("Input the dist Path");
let json = JSON.parse(fs.readFileSync(jsonpath, "utf8"));
let objects = json.objects;
Object.keys(objects).forEach(element => {
let hash = objects[element].hash;
let srcfilepath = join(srcpath, hash.substring(0, 2), hash);
let distfilepath = join(distpath, element);
if (!fs.existsSync(distfilepath)) {
fs.mkdirSync(dirname(distfilepath), { recursive: true });
}
if (fs.existsSync(srcfilepath)) {
fs.copyFileSync(srcfilepath, distfilepath);
} else {
console.log(`文件不存在:${srcfilepath}`)
}
});
}
main();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 24 KiB