@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
36 lines (35 loc) • 3.06 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
//#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
exports.default = SkinImage;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2tpbkltYWdlLmNqcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3NraW4vU2tpbkltYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEJpbmFyeVN0cmVhbSBmcm9tICdAanNwcmlzbWFyaW5lL2pzYmluYXJ5dXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTa2luSW1hZ2Uge1xuICAgIHB1YmxpYyB3aWR0aDogbnVtYmVyO1xuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlcjtcbiAgICBwdWJsaWMgZGF0YTogQnVmZmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHsgd2lkdGgsIGhlaWdodCwgZGF0YSB9OiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyBkYXRhOiBCdWZmZXIgfSkge1xuICAgICAgICB0aGlzLndpZHRoID0gd2lkdGg7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8vIFRPRE86IEFQSVxuXG4gICAgcHVibGljIG5ldHdvcmtTZXJpYWxpemUoc3RyZWFtOiBCaW5hcnlTdHJlYW0pOiB2b2lkIHtcbiAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRJbnRMRSh0aGlzLndpZHRoKTtcbiAgICAgICAgc3RyZWFtLndyaXRlVW5zaWduZWRJbnRMRSh0aGlzLmhlaWdodCk7XG4gICAgICAgIHN0cmVhbS53cml0ZVVuc2lnbmVkVmFySW50KHRoaXMuZGF0YS5sZW5ndGgpO1xuICAgICAgICBzdHJlYW0ud3JpdGUodGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG5ldHdvcmtEZXNlcmlhbGl6ZShzdHJlYW06IEJpbmFyeVN0cmVhbSk6IFNraW5JbWFnZSB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gc3RyZWFtLnJlYWRVbnNpZ25lZEludExFKCk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IHN0cmVhbS5yZWFkVW5zaWduZWRJbnRMRSgpO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBzdHJlYW0ucmVhZFVuc2lnbmVkVmFySW50KCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBzdHJlYW0ucmVhZChsZW5ndGgpO1xuICAgICAgICByZXR1cm4gbmV3IFNraW5JbWFnZSh7XG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFxQixZQUFyQixNQUFxQixVQUFVO0NBQzNCO0NBQ0E7Q0FDQTtDQUVBLFlBQW1CLEVBQUUsT0FBTyxRQUFRLFFBQXlEO0VBQ3pGLEtBQUssUUFBUTtFQUNiLEtBQUssU0FBUztFQUNkLEtBQUssT0FBTztDQUNoQjtDQUlBLGlCQUF3QixRQUE0QjtFQUNoRCxPQUFPLG1CQUFtQixLQUFLLEtBQUs7RUFDcEMsT0FBTyxtQkFBbUIsS0FBSyxNQUFNO0VBQ3JDLE9BQU8sb0JBQW9CLEtBQUssS0FBSyxNQUFNO0VBQzNDLE9BQU8sTUFBTSxLQUFLLElBQUk7Q0FDMUI7Q0FFQSxPQUFjLG1CQUFtQixRQUFpQztFQUM5RCxNQUFNLFFBQVEsT0FBTyxrQkFBa0I7RUFDdkMsTUFBTSxTQUFTLE9BQU8sa0JBQWtCO0VBQ3hDLE1BQU0sU0FBUyxPQUFPLG1CQUFtQjtFQUV6QyxPQUFPLElBQUksVUFBVTtHQUNqQjtHQUNBO0dBQ0EsTUFKUyxPQUFPLEtBQUssTUFJckI7RUFDSixDQUFDO0NBQ0w7QUFDSiJ9