UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

31 lines (30 loc) 2.93 kB
//#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=