diff --git a/generator/package.json b/generator/package.json index 07a840c..80e2cbb 100644 --- a/generator/package.json +++ b/generator/package.json @@ -4,6 +4,7 @@ "version": "1.0.0", "dependencies": { "fast-average-color-node": "^3.1.0", + "sharp": "^0.33.5", "spritesheet-js": "^1.2.8" } } diff --git a/generator/pnpm-lock.yaml b/generator/pnpm-lock.yaml index 6983d0f..dd42d64 100644 --- a/generator/pnpm-lock.yaml +++ b/generator/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: fast-average-color-node: specifier: ^3.1.0 version: 3.1.0 + sharp: + specifier: ^0.33.5 + version: 0.33.5 spritesheet-js: specifier: ^1.2.8 version: 1.2.8 diff --git a/generator/resize.js b/generator/resize.js new file mode 100644 index 0000000..ba566d7 --- /dev/null +++ b/generator/resize.js @@ -0,0 +1,27 @@ +const fs = require("fs"); +const path = require("path"); +const sharp = require("sharp"); + +const INPUT = path.join(__dirname, "blocks/"); + +(async () => { + const files = fs.readdirSync(INPUT); + + for (const file of files) { + const filePath = path.join(INPUT, file); + const image = sharp(filePath); + const metadata = await image.metadata(); + + if (metadata.height > 16) { + await image + .extract({ top: 0, left: 0, width: 16, height: 16 }) + .resize(16, 16) + .toBuffer() + .then((buffer) => { + fs.writeFileSync(filePath, buffer); + }); + } + } + + console.log("Done!"); +})();