@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
32 lines (30 loc) • 3.4 kB
JavaScript
class SkinImage {
width;
height;
data;
constructor({ width, height, data }) {
this.width = width;
this.height = height;
this.data = data;
}
// TODO: API
networkSerialize(stream) {
stream.writeUnsignedIntLE(this.width);
stream.writeUnsignedIntLE(this.height);
stream.writeUnsignedVarInt(this.data.length);
stream.write(this.data);
}
static networkDeserialize(stream) {
const width = stream.readUnsignedIntLE();
const height = stream.readUnsignedIntLE();
const length = stream.readUnsignedVarInt();
const data = stream.read(length);
return new SkinImage({
width,
height,
data
});
}
}
export { SkinImage as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2tpbkltYWdlLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc2tpbi9Ta2luSW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgQmluYXJ5U3RyZWFtIGZyb20gJ0Bqc3ByaXNtYXJpbmUvanNiaW5hcnl1dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNraW5JbWFnZSB7XG4gICAgcHVibGljIHdpZHRoOiBudW1iZXI7XG4gICAgcHVibGljIGhlaWdodDogbnVtYmVyO1xuICAgIHB1YmxpYyBkYXRhOiBCdWZmZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoeyB3aWR0aCwgaGVpZ2h0LCBkYXRhIH06IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IGRhdGE6IEJ1ZmZlciB9KSB7XG4gICAgICAgIHRoaXMud2lkdGggPSB3aWR0aDtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogQVBJXG5cbiAgICBwdWJsaWMgbmV0d29ya1NlcmlhbGl6ZShzdHJlYW06IEJpbmFyeVN0cmVhbSk6IHZvaWQge1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZEludExFKHRoaXMud2lkdGgpO1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZEludExFKHRoaXMuaGVpZ2h0KTtcbiAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRWYXJJbnQodGhpcy5kYXRhLmxlbmd0aCk7XG4gICAgICAgIHN0cmVhbS53cml0ZSh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbmV0d29ya0Rlc2VyaWFsaXplKHN0cmVhbTogQmluYXJ5U3RyZWFtKTogU2tpbkltYWdlIHtcbiAgICAgICAgY29uc3Qgd2lkdGggPSBzdHJlYW0ucmVhZFVuc2lnbmVkSW50TEUoKTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gc3RyZWFtLnJlYWRVbnNpZ25lZEludExFKCk7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHN0cmVhbS5yZWFkVW5zaWduZWRWYXJJbnQoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHN0cmVhbS5yZWFkKGxlbmd0aCk7XG4gICAgICAgIHJldHVybiBuZXcgU2tpbkltYWdlKHtcbiAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBcUIsU0FBVSxDQUFBO0FBQUEsRUFDcEIsS0FBQTtBQUFBLEVBQ0EsTUFBQTtBQUFBLEVBQ0EsSUFBQTtBQUFBLEVBRUEsV0FBWSxDQUFBLEVBQUUsS0FBTyxFQUFBLE1BQUEsRUFBUSxNQUF5RCxFQUFBO0FBQ3pGLElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxLQUFBO0FBQ2IsSUFBQSxJQUFBLENBQUssTUFBUyxHQUFBLE1BQUE7QUFDZCxJQUFBLElBQUEsQ0FBSyxJQUFPLEdBQUEsSUFBQTtBQUFBO0FBQ2hCO0FBQUEsRUFJTyxpQkFBaUIsTUFBNEIsRUFBQTtBQUNoRCxJQUFPLE1BQUEsQ0FBQSxrQkFBQSxDQUFtQixLQUFLLEtBQUssQ0FBQTtBQUNwQyxJQUFPLE1BQUEsQ0FBQSxrQkFBQSxDQUFtQixLQUFLLE1BQU0sQ0FBQTtBQUNyQyxJQUFPLE1BQUEsQ0FBQSxtQkFBQSxDQUFvQixJQUFLLENBQUEsSUFBQSxDQUFLLE1BQU0sQ0FBQTtBQUMzQyxJQUFPLE1BQUEsQ0FBQSxLQUFBLENBQU0sS0FBSyxJQUFJLENBQUE7QUFBQTtBQUMxQixFQUVBLE9BQWMsbUJBQW1CLE1BQWlDLEVBQUE7QUFDOUQsSUFBTSxNQUFBLEtBQUEsR0FBUSxPQUFPLGlCQUFrQixFQUFBO0FBQ3ZDLElBQU0sTUFBQSxNQUFBLEdBQVMsT0FBTyxpQkFBa0IsRUFBQTtBQUN4QyxJQUFNLE1BQUEsTUFBQSxHQUFTLE9BQU8sa0JBQW1CLEVBQUE7QUFDekMsSUFBTSxNQUFBLElBQUEsR0FBTyxNQUFPLENBQUEsSUFBQSxDQUFLLE1BQU0sQ0FBQTtBQUMvQixJQUFBLE9BQU8sSUFBSSxTQUFVLENBQUE7QUFBQSxNQUNqQixLQUFBO0FBQUEsTUFDQSxNQUFBO0FBQUEsTUFDQTtBQUFBLEtBQ0gsQ0FBQTtBQUFBO0FBRVQ7Ozs7In0=