UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

91 lines (90 loc) 9.86 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const require_network_Identifiers = require("../Identifiers.cjs.cjs"); const require_network_packet_DataPacket = require("./DataPacket.cjs.cjs"); //#region src/network/packet/UpdateAbilitiesPacket.ts var AbilityLayerType = /* @__PURE__ */ function(AbilityLayerType) { AbilityLayerType[AbilityLayerType["CACHE"] = 0] = "CACHE"; AbilityLayerType[AbilityLayerType["BASE"] = 1] = "BASE"; AbilityLayerType[AbilityLayerType["SPECTATOR"] = 2] = "SPECTATOR"; AbilityLayerType[AbilityLayerType["COMMANDS"] = 3] = "COMMANDS"; AbilityLayerType[AbilityLayerType["EDITOR"] = 4] = "EDITOR"; return AbilityLayerType; }({}); var AbilityLayerFlag = /* @__PURE__ */ function(AbilityLayerFlag) { AbilityLayerFlag[AbilityLayerFlag["BUILD"] = 0] = "BUILD"; AbilityLayerFlag[AbilityLayerFlag["MINE"] = 1] = "MINE"; AbilityLayerFlag[AbilityLayerFlag["DOORS_AND_SWITCHES"] = 2] = "DOORS_AND_SWITCHES"; AbilityLayerFlag[AbilityLayerFlag["OPEN_CONTAINERS"] = 3] = "OPEN_CONTAINERS"; AbilityLayerFlag[AbilityLayerFlag["ATTACK_PLAYERS"] = 4] = "ATTACK_PLAYERS"; AbilityLayerFlag[AbilityLayerFlag["ATTACK_MOBS"] = 5] = "ATTACK_MOBS"; AbilityLayerFlag[AbilityLayerFlag["OPERATOR_COMMANDS"] = 6] = "OPERATOR_COMMANDS"; AbilityLayerFlag[AbilityLayerFlag["TELEPORT"] = 7] = "TELEPORT"; AbilityLayerFlag[AbilityLayerFlag["INVULNERABLE"] = 8] = "INVULNERABLE"; AbilityLayerFlag[AbilityLayerFlag["FLYING"] = 9] = "FLYING"; AbilityLayerFlag[AbilityLayerFlag["MAY_FLY"] = 10] = "MAY_FLY"; AbilityLayerFlag[AbilityLayerFlag["INSTABUILD"] = 11] = "INSTABUILD"; AbilityLayerFlag[AbilityLayerFlag["LIGHTNING"] = 12] = "LIGHTNING"; AbilityLayerFlag[AbilityLayerFlag["FLY_SPEED"] = 13] = "FLY_SPEED"; AbilityLayerFlag[AbilityLayerFlag["WALK_SPEED"] = 14] = "WALK_SPEED"; AbilityLayerFlag[AbilityLayerFlag["MUTED"] = 15] = "MUTED"; AbilityLayerFlag[AbilityLayerFlag["WORLD_BUILDER"] = 16] = "WORLD_BUILDER"; AbilityLayerFlag[AbilityLayerFlag["NO_CLIP"] = 17] = "NO_CLIP"; AbilityLayerFlag[AbilityLayerFlag["PRIVILEGED_BUILDER"] = 18] = "PRIVILEGED_BUILDER"; return AbilityLayerFlag; }({}); var AbilityLayer = class { layerType; layerFlags; flySpeed; walkSpeed; getEncodedFlags() { let [flagsHash, valuesHash] = [0, 0]; for (const [flag, value] of this.layerFlags.entries()) { flagsHash |= 1 << flag; if ([14, 13].includes(flag)) continue; valuesHash |= value ? 1 << flag : 0; } return { flagsHash, valuesHash }; } }; var UpdateAbilitiesPacket = class extends require_network_packet_DataPacket.default { static NetID = require_network_Identifiers.default.UpdateAbilitiesPacket; commandPermission; playerPermission; targetActorUniqueId; abilityLayers; encodePayload() { this.writeLongLE(this.targetActorUniqueId); this.writeByte(this.playerPermission); this.writeByte(this.commandPermission); this.writeByte(this.abilityLayers.length); for (const abilityLayer of this.abilityLayers) { this.writeShortLE(abilityLayer.layerType); const encodedFlags = abilityLayer.getEncodedFlags(); this.writeIntLE(encodedFlags.flagsHash); this.writeIntLE(encodedFlags.valuesHash); this.writeFloatLE(abilityLayer.flySpeed); this.writeFloatLE(abilityLayer.walkSpeed); } } decodePayload() { this.targetActorUniqueId = this.readLongLE(); this.playerPermission = this.readByte(); this.commandPermission = this.readByte(); const len = this.readByte(); for (let i = 0; i < len; i++); } }; //#endregion exports.AbilityLayer = AbilityLayer; exports.AbilityLayerFlag = AbilityLayerFlag; exports.AbilityLayerType = AbilityLayerType; exports.default = UpdateAbilitiesPacket; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlQWJpbGl0aWVzUGFja2V0LmNqcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25ldHdvcmsvcGFja2V0L1VwZGF0ZUFiaWxpdGllc1BhY2tldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGF0YVBhY2tldCBmcm9tICcuL0RhdGFQYWNrZXQnO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCB0eXBlIFBlcm1pc3Npb25UeXBlIGZyb20gJy4uL3R5cGUvUGVybWlzc2lvblR5cGUnO1xuaW1wb3J0IHR5cGUgUGxheWVyUGVybWlzc2lvblR5cGUgZnJvbSAnLi4vdHlwZS9QbGF5ZXJQZXJtaXNzaW9uVHlwZSc7XG5cbmV4cG9ydCBlbnVtIEFiaWxpdHlMYXllclR5cGUge1xuICAgIENBQ0hFLFxuICAgIEJBU0UsXG4gICAgU1BFQ1RBVE9SLFxuICAgIENPTU1BTkRTLFxuICAgIEVESVRPUlxufVxuXG5leHBvcnQgZW51bSBBYmlsaXR5TGF5ZXJGbGFnIHtcbiAgICBCVUlMRCxcbiAgICBNSU5FLFxuICAgIERPT1JTX0FORF9TV0lUQ0hFUyxcbiAgICBPUEVOX0NPTlRBSU5FUlMsXG4gICAgQVRUQUNLX1BMQVlFUlMsXG4gICAgQVRUQUNLX01PQlMsXG4gICAgT1BFUkFUT1JfQ09NTUFORFMsXG4gICAgVEVMRVBPUlQsXG4gICAgSU5WVUxORVJBQkxFLFxuICAgIEZMWUlORyxcbiAgICBNQVlfRkxZLFxuICAgIElOU1RBQlVJTEQsXG4gICAgTElHSFROSU5HLFxuICAgIEZMWV9TUEVFRCxcbiAgICBXQUxLX1NQRUVELFxuICAgIE1VVEVELFxuICAgIFdPUkxEX0JVSUxERVIsXG4gICAgTk9fQ0xJUCxcbiAgICBQUklWSUxFR0VEX0JVSUxERVJcbn1cblxuZXhwb3J0IGNsYXNzIEFiaWxpdHlMYXllciB7XG4gICAgcHVibGljIGxheWVyVHlwZSE6IEFiaWxpdHlMYXllclR5cGU7XG4gICAgcHVibGljIGxheWVyRmxhZ3MhOiBNYXA8QWJpbGl0eUxheWVyRmxhZywgYm9vbGVhbj47XG5cbiAgICBwdWJsaWMgZmx5U3BlZWQhOiBudW1iZXI7XG4gICAgcHVibGljIHdhbGtTcGVlZCE6IG51bWJlcjtcblxuICAgIHB1YmxpYyBnZXRFbmNvZGVkRmxhZ3MoKTogeyBmbGFnc0hhc2g6IG51bWJlcjsgdmFsdWVzSGFzaDogbnVtYmVyIH0ge1xuICAgICAgICBsZXQgW2ZsYWdzSGFzaCwgdmFsdWVzSGFzaF0gPSBbMCwgMF07XG4gICAgICAgIGZvciAoY29uc3QgW2ZsYWcsIHZhbHVlXSBvZiB0aGlzLmxheWVyRmxhZ3MuZW50cmllcygpKSB7XG4gICAgICAgICAgICBmbGFnc0hhc2ggfD0gMSA8PCBmbGFnO1xuICAgICAgICAgICAgLy8gVE9ETzogZmluZCBhIGJldHRlciBzb2x1dGlvbiwgbWF5IHdvcmsgZm9yIG5vdyBidXQgaSBkb24ndCBsaWtlIHRoaXMgaGFja1xuICAgICAgICAgICAgaWYgKFtBYmlsaXR5TGF5ZXJGbGFnLldBTEtfU1BFRUQsIEFiaWxpdHlMYXllckZsYWcuRkxZX1NQRUVEXS5pbmNsdWRlcyhmbGFnKSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWVzSGFzaCB8PSB2YWx1ZSA/IDEgPDwgZmxhZyA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZmxhZ3NIYXNoLCB2YWx1ZXNIYXNoIH07XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVcGRhdGVBYmlsaXRpZXNQYWNrZXQgZXh0ZW5kcyBEYXRhUGFja2V0IHtcbiAgICBwdWJsaWMgc3RhdGljIE5ldElEID0gSWRlbnRpZmllcnMuVXBkYXRlQWJpbGl0aWVzUGFja2V0O1xuXG4gICAgcHVibGljIGNvbW1hbmRQZXJtaXNzaW9uITogUGVybWlzc2lvblR5cGU7XG4gICAgcHVibGljIHBsYXllclBlcm1pc3Npb24hOiBQbGF5ZXJQZXJtaXNzaW9uVHlwZTtcbiAgICBwdWJsaWMgdGFyZ2V0QWN0b3JVbmlxdWVJZCE6IGJpZ2ludDtcbiAgICBwdWJsaWMgYWJpbGl0eUxheWVycyE6IEFiaWxpdHlMYXllcltdO1xuXG4gICAgcHVibGljIGVuY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVMb25nTEUodGhpcy50YXJnZXRBY3RvclVuaXF1ZUlkKTtcbiAgICAgICAgdGhpcy53cml0ZUJ5dGUodGhpcy5wbGF5ZXJQZXJtaXNzaW9uKTtcbiAgICAgICAgdGhpcy53cml0ZUJ5dGUodGhpcy5jb21tYW5kUGVybWlzc2lvbik7XG5cbiAgICAgICAgdGhpcy53cml0ZUJ5dGUodGhpcy5hYmlsaXR5TGF5ZXJzLmxlbmd0aCk7XG4gICAgICAgIGZvciAoY29uc3QgYWJpbGl0eUxheWVyIG9mIHRoaXMuYWJpbGl0eUxheWVycykge1xuICAgICAgICAgICAgdGhpcy53cml0ZVNob3J0TEUoYWJpbGl0eUxheWVyLmxheWVyVHlwZSk7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVkRmxhZ3MgPSBhYmlsaXR5TGF5ZXIuZ2V0RW5jb2RlZEZsYWdzKCk7XG4gICAgICAgICAgICB0aGlzLndyaXRlSW50TEUoZW5jb2RlZEZsYWdzLmZsYWdzSGFzaCk7XG4gICAgICAgICAgICB0aGlzLndyaXRlSW50TEUoZW5jb2RlZEZsYWdzLnZhbHVlc0hhc2gpO1xuICAgICAgICAgICAgdGhpcy53cml0ZUZsb2F0TEUoYWJpbGl0eUxheWVyLmZseVNwZWVkKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVGbG9hdExFKGFiaWxpdHlMYXllci53YWxrU3BlZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFyZ2V0QWN0b3JVbmlxdWVJZCA9IHRoaXMucmVhZExvbmdMRSgpO1xuICAgICAgICB0aGlzLnBsYXllclBlcm1pc3Npb24gPSB0aGlzLnJlYWRCeXRlKCk7XG4gICAgICAgIHRoaXMuY29tbWFuZFBlcm1pc3Npb24gPSB0aGlzLnJlYWRCeXRlKCk7XG5cbiAgICAgICAgY29uc3QgbGVuID0gdGhpcy5yZWFkQnl0ZSgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBkZWNvZGUgYWJpbGl0aWVzXG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsSUFBWSxtQkFBTCx5QkFBQSxrQkFBQTtDQUNILGlCQUFBLGlCQUFBLFdBQUEsS0FBQTtDQUNBLGlCQUFBLGlCQUFBLFVBQUEsS0FBQTtDQUNBLGlCQUFBLGlCQUFBLGVBQUEsS0FBQTtDQUNBLGlCQUFBLGlCQUFBLGNBQUEsS0FBQTtDQUNBLGlCQUFBLGlCQUFBLFlBQUEsS0FBQTs7QUFDSixFQUFBLENBQUEsQ0FBQTtBQUVBLElBQVksbUJBQUwseUJBQUEsa0JBQUE7Q0FDSCxpQkFBQSxpQkFBQSxXQUFBLEtBQUE7Q0FDQSxpQkFBQSxpQkFBQSxVQUFBLEtBQUE7Q0FDQSxpQkFBQSxpQkFBQSx3QkFBQSxLQUFBO0NBQ0EsaUJBQUEsaUJBQUEscUJBQUEsS0FBQTtDQUNBLGlCQUFBLGlCQUFBLG9CQUFBLEtBQUE7Q0FDQSxpQkFBQSxpQkFBQSxpQkFBQSxLQUFBO0NBQ0EsaUJBQUEsaUJBQUEsdUJBQUEsS0FBQTtDQUNBLGlCQUFBLGlCQUFBLGNBQUEsS0FBQTtDQUNBLGlCQUFBLGlCQUFBLGtCQUFBLEtBQUE7Q0FDQSxpQkFBQSxpQkFBQSxZQUFBLEtBQUE7Q0FDQSxpQkFBQSxpQkFBQSxhQUFBLE1BQUE7Q0FDQSxpQkFBQSxpQkFBQSxnQkFBQSxNQUFBO0NBQ0EsaUJBQUEsaUJBQUEsZUFBQSxNQUFBO0NBQ0EsaUJBQUEsaUJBQUEsZUFBQSxNQUFBO0NBQ0EsaUJBQUEsaUJBQUEsZ0JBQUEsTUFBQTtDQUNBLGlCQUFBLGlCQUFBLFdBQUEsTUFBQTtDQUNBLGlCQUFBLGlCQUFBLG1CQUFBLE1BQUE7Q0FDQSxpQkFBQSxpQkFBQSxhQUFBLE1BQUE7Q0FDQSxpQkFBQSxpQkFBQSx3QkFBQSxNQUFBOztBQUNKLEVBQUEsQ0FBQSxDQUFBO0FBRUEsSUFBYSxlQUFiLE1BQTBCO0NBQ3RCO0NBQ0E7Q0FFQTtDQUNBO0NBRUEsa0JBQW9FO0VBQ2hFLElBQUksQ0FBQyxXQUFXLGNBQWMsQ0FBQyxHQUFHLENBQUM7RUFDbkMsS0FBSyxNQUFNLENBQUMsTUFBTSxVQUFVLEtBQUssV0FBVyxRQUFRLEdBQUc7R0FDbkQsYUFBYSxLQUFLO0dBRWxCLElBQUksQ0FBQSxJQUFBLEVBQXdELEVBQUUsU0FBUyxJQUFJLEdBQ3ZFO0dBRUosY0FBYyxRQUFRLEtBQUssT0FBTztFQUN0QztFQUNBLE9BQU87R0FBRTtHQUFXO0VBQVc7Q0FDbkM7QUFDSjtBQUVBLElBQXFCLHdCQUFyQixjQUFtRCxrQ0FBQSxRQUFXO0NBQzFELE9BQWMsUUFBUSw0QkFBQSxRQUFZO0NBRWxDO0NBQ0E7Q0FDQTtDQUNBO0NBRUEsZ0JBQTZCO0VBQ3pCLEtBQUssWUFBWSxLQUFLLG1CQUFtQjtFQUN6QyxLQUFLLFVBQVUsS0FBSyxnQkFBZ0I7RUFDcEMsS0FBSyxVQUFVLEtBQUssaUJBQWlCO0VBRXJDLEtBQUssVUFBVSxLQUFLLGNBQWMsTUFBTTtFQUN4QyxLQUFLLE1BQU0sZ0JBQWdCLEtBQUssZUFBZTtHQUMzQyxLQUFLLGFBQWEsYUFBYSxTQUFTO0dBQ3hDLE1BQU0sZUFBZSxhQUFhLGdCQUFnQjtHQUNsRCxLQUFLLFdBQVcsYUFBYSxTQUFTO0dBQ3RDLEtBQUssV0FBVyxhQUFhLFVBQVU7R0FDdkMsS0FBSyxhQUFhLGFBQWEsUUFBUTtHQUN2QyxLQUFLLGFBQWEsYUFBYSxTQUFTO0VBQzVDO0NBQ0o7Q0FFQSxnQkFBNkI7RUFDekIsS0FBSyxzQkFBc0IsS0FBSyxXQUFXO0VBQzNDLEtBQUssbUJBQW1CLEtBQUssU0FBUztFQUN0QyxLQUFLLG9CQUFvQixLQUFLLFNBQVM7RUFFdkMsTUFBTSxNQUFNLEtBQUssU0FBUztFQUMxQixLQUFLLElBQUksSUFBSSxHQUFHLElBQUksS0FBSztDQUc3QjtBQUNKIn0=