@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
31 lines (30 loc) • 2.93 kB
JavaScript
//#region src/utils/skin/SkinImage.ts
var SkinImage = class SkinImage {
width;
height;
data;
constructor({ width, height, data }) {
this.width = width;
this.height = height;
this.data = data;
}
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();
return new SkinImage({
width,
height,
data: stream.read(length)
});
}
};
//#endregion
export { SkinImage as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2tpbkltYWdlLmVzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9za2luL1NraW5JbWFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBCaW5hcnlTdHJlYW0gZnJvbSAnQGpzcHJpc21hcmluZS9qc2JpbmFyeXV0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2tpbkltYWdlIHtcbiAgICBwdWJsaWMgd2lkdGg6IG51bWJlcjtcbiAgICBwdWJsaWMgaGVpZ2h0OiBudW1iZXI7XG4gICAgcHVibGljIGRhdGE6IEJ1ZmZlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IHdpZHRoLCBoZWlnaHQsIGRhdGEgfTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgZGF0YTogQnVmZmVyIH0pIHtcbiAgICAgICAgdGhpcy53aWR0aCA9IHdpZHRoO1xuICAgICAgICB0aGlzLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBBUElcblxuICAgIHB1YmxpYyBuZXR3b3JrU2VyaWFsaXplKHN0cmVhbTogQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkSW50TEUodGhpcy53aWR0aCk7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkSW50TEUodGhpcy5oZWlnaHQpO1xuICAgICAgICBzdHJlYW0ud3JpdGVVbnNpZ25lZFZhckludCh0aGlzLmRhdGEubGVuZ3RoKTtcbiAgICAgICAgc3RyZWFtLndyaXRlKHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBuZXR3b3JrRGVzZXJpYWxpemUoc3RyZWFtOiBCaW5hcnlTdHJlYW0pOiBTa2luSW1hZ2Uge1xuICAgICAgICBjb25zdCB3aWR0aCA9IHN0cmVhbS5yZWFkVW5zaWduZWRJbnRMRSgpO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBzdHJlYW0ucmVhZFVuc2lnbmVkSW50TEUoKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gc3RyZWFtLnJlYWRVbnNpZ25lZFZhckludCgpO1xuICAgICAgICBjb25zdCBkYXRhID0gc3RyZWFtLnJlYWQobGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBTa2luSW1hZ2Uoe1xuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICBkYXRhXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUVBLElBQXFCLFlBQXJCLE1BQXFCLFVBQVU7Q0FDM0I7Q0FDQTtDQUNBO0NBRUEsWUFBbUIsRUFBRSxPQUFPLFFBQVEsUUFBeUQ7RUFDekYsS0FBSyxRQUFRO0VBQ2IsS0FBSyxTQUFTO0VBQ2QsS0FBSyxPQUFPO0NBQ2hCO0NBSUEsaUJBQXdCLFFBQTRCO0VBQ2hELE9BQU8sbUJBQW1CLEtBQUssS0FBSztFQUNwQyxPQUFPLG1CQUFtQixLQUFLLE1BQU07RUFDckMsT0FBTyxvQkFBb0IsS0FBSyxLQUFLLE1BQU07RUFDM0MsT0FBTyxNQUFNLEtBQUssSUFBSTtDQUMxQjtDQUVBLE9BQWMsbUJBQW1CLFFBQWlDO0VBQzlELE1BQU0sUUFBUSxPQUFPLGtCQUFrQjtFQUN2QyxNQUFNLFNBQVMsT0FBTyxrQkFBa0I7RUFDeEMsTUFBTSxTQUFTLE9BQU8sbUJBQW1CO0VBRXpDLE9BQU8sSUFBSSxVQUFVO0dBQ2pCO0dBQ0E7R0FDQSxNQUpTLE9BQU8sS0FBSyxNQUlyQjtFQUNKLENBQUM7Q0FDTDtBQUNKIn0=