UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

36 lines (35 loc) 3.06 kB
"use strict"; 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