add script to move moon chunks to center
This commit is contained in:
parent
1706281977
commit
148eff81ff
38
utils/redisMoveCanvas.js
Normal file
38
utils/redisMoveCanvas.js
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/* @flow */
|
||||||
|
// this script moves chunks of a canvas, i.e. to center it after changing size
|
||||||
|
|
||||||
|
import redis from 'redis';
|
||||||
|
import bluebird from 'bluebird';
|
||||||
|
|
||||||
|
|
||||||
|
bluebird.promisifyAll(redis.RedisClient.prototype);
|
||||||
|
bluebird.promisifyAll(redis.Multi.prototype);
|
||||||
|
|
||||||
|
//ATTENTION Make suer to set the rdis URLs right!!!
|
||||||
|
const url = "redis://localhost:6379";
|
||||||
|
const redis = redis.createClient(url, { return_buffers: true });
|
||||||
|
|
||||||
|
const CANVAS_SIZE = 4096;
|
||||||
|
const TILE_SIZE = 256;
|
||||||
|
const offset = (16384 - 4096) / 2 / 256;
|
||||||
|
|
||||||
|
const CHUNKS_XY = CANVAS_SIZE / TILE_SIZE;
|
||||||
|
|
||||||
|
async function move() {
|
||||||
|
for (let x = CHUNKS_XY - 1; x >= 0; x--) {
|
||||||
|
for (let y = CHUNKS_XY - 1; y >= 0; y--) {
|
||||||
|
const key = `ch:1:${x}:${y}`;
|
||||||
|
const chunk = await redis.getAsync(key);
|
||||||
|
if (chunk) {
|
||||||
|
const buffer = new Uint8Array(chunk);
|
||||||
|
const newKey = `ch:1:${x + offset}:${y + offset}`
|
||||||
|
await redis.setAsync(newKey, Buffer.from(buffer.buffer));
|
||||||
|
await redis.delAsync(key);
|
||||||
|
console.log('Moved Chunk ', key, ' to ', newKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("done");
|
||||||
|
}
|
||||||
|
|
||||||
|
move();
|
Loading…
Reference in New Issue
Block a user