UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

109 lines (104 loc) 11.6 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const network_NetworkUtil = require('../NetworkUtil.cjs.cjs'); const network_Identifiers = require('../Identifiers.cjs.cjs'); const network_packet_DataPacket = require('./DataPacket.cjs.cjs'); class PlayerListEntry { uuid; runtimeId; name; xuid; platformChatId; buildPlatform; skin; teacher; host; constructor({ uuid, runtimeId, name, xuid = "", platformChatId, buildPlatform, skin, isTeacher = true, isHost = true }) { this.uuid = uuid; this.runtimeId = runtimeId ?? null; this.name = name ?? null; this.xuid = xuid; this.platformChatId = platformChatId ?? null; this.buildPlatform = buildPlatform ?? null; this.skin = skin ?? null; this.teacher = isTeacher; this.host = isHost; } networkSerialize(stream) { stream.writeVarLong(this.getRuntimeId()); network_NetworkUtil.NetworkUtil.writeString(stream, this.getName()); network_NetworkUtil.NetworkUtil.writeString(stream, this.getXUID()); network_NetworkUtil.NetworkUtil.writeString(stream, this.getPlatformChatId()); stream.writeIntLE(this.getBuildPlatform()); this.getSkin().networkSerialize(stream); stream.writeBoolean(this.isTeacher()); stream.writeBoolean(this.isHost()); stream.writeBoolean(false); } getUUID() { return this.uuid; } getRuntimeId() { return this.runtimeId; } getName() { return this.name; } getXUID() { return this.xuid; } getPlatformChatId() { return this.platformChatId; } getBuildPlatform() { return this.buildPlatform; } getSkin() { return this.skin; } isTeacher() { return this.teacher; } isHost() { return this.host; } } var PlayerListAction = /* @__PURE__ */ ((PlayerListAction2) => { PlayerListAction2[PlayerListAction2["TYPE_ADD"] = 0] = "TYPE_ADD"; PlayerListAction2[PlayerListAction2["TYPE_REMOVE"] = 1] = "TYPE_REMOVE"; return PlayerListAction2; })(PlayerListAction || {}); class PlayerListPacket extends network_packet_DataPacket.default { static NetID = network_Identifiers.default.PlayerListPacket; entries = []; type; encodePayload() { this.writeByte(this.type); this.writeUnsignedVarInt(this.entries.length); for (const entry of this.entries) { entry.getUUID().networkSerialize(this); if (this.type === 0 /* TYPE_ADD */) { entry.networkSerialize(this); } } if (this.type === 0 /* TYPE_ADD */) { for (let i = 0; i < this.entries.length; i++) { this.writeBoolean(true); } } } } exports.PlayerListAction = PlayerListAction; exports.PlayerListEntry = PlayerListEntry; exports.default = PlayerListPacket; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWVyTGlzdFBhY2tldC5janMuY2pzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9wYWNrZXQvUGxheWVyTGlzdFBhY2tldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBCaW5hcnlTdHJlYW0gZnJvbSAnQGpzcHJpc21hcmluZS9qc2JpbmFyeXV0aWxzJztcbmltcG9ydCB7IE5ldHdvcmtVdGlsIH0gZnJvbSAnLi4vLi4vbmV0d29yay9OZXR3b3JrVXRpbCc7XG5pbXBvcnQgdHlwZSBVVUlEIGZyb20gJy4uLy4uL3V0aWxzL1VVSUQnO1xuaW1wb3J0IHR5cGUgU2tpbiBmcm9tICcuLi8uLi91dGlscy9za2luL1NraW4nO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCBEYXRhUGFja2V0IGZyb20gJy4vRGF0YVBhY2tldCc7XG5cbmludGVyZmFjZSBQbGF5ZXJMaXN0RGF0YSB7XG4gICAgdXVpZDogVVVJRDtcbiAgICBydW50aW1lSWQ/OiBiaWdpbnQgfCBudWxsO1xuICAgIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgIHh1aWQ/OiBzdHJpbmc7XG4gICAgcGxhdGZvcm1DaGF0SWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGJ1aWxkUGxhdGZvcm0/OiBudW1iZXIgfCBudWxsO1xuICAgIHNraW4/OiBTa2luIHwgbnVsbDtcbiAgICBpc1RlYWNoZXI/OiBib29sZWFuO1xuICAgIGlzSG9zdD86IGJvb2xlYW47XG4gICAgaXNTdWJDbGllbnQ/OiBib29sZWFuOyAvLyBUT0RPXG59XG5cbmV4cG9ydCBjbGFzcyBQbGF5ZXJMaXN0RW50cnkge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXVpZDogVVVJRDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJ1bnRpbWVJZDogYmlnaW50IHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSB4dWlkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUNoYXRJZDogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkUGxhdGZvcm06IG51bWJlciB8IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBza2luOiBTa2luIHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlYWNoZXI6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHtcbiAgICAgICAgdXVpZCxcbiAgICAgICAgcnVudGltZUlkLFxuICAgICAgICBuYW1lLFxuICAgICAgICB4dWlkID0gJycsXG4gICAgICAgIHBsYXRmb3JtQ2hhdElkLFxuICAgICAgICBidWlsZFBsYXRmb3JtLFxuICAgICAgICBza2luLFxuICAgICAgICBpc1RlYWNoZXIgPSB0cnVlLFxuICAgICAgICBpc0hvc3QgPSB0cnVlXG4gICAgfTogUGxheWVyTGlzdERhdGEpIHtcbiAgICAgICAgdGhpcy51dWlkID0gdXVpZDtcbiAgICAgICAgdGhpcy5ydW50aW1lSWQgPSBydW50aW1lSWQgPz8gbnVsbDtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZSA/PyBudWxsO1xuICAgICAgICB0aGlzLnh1aWQgPSB4dWlkO1xuICAgICAgICB0aGlzLnBsYXRmb3JtQ2hhdElkID0gcGxhdGZvcm1DaGF0SWQgPz8gbnVsbDtcbiAgICAgICAgdGhpcy5idWlsZFBsYXRmb3JtID0gYnVpbGRQbGF0Zm9ybSA/PyBudWxsO1xuICAgICAgICB0aGlzLnNraW4gPSBza2luID8/IG51bGw7XG4gICAgICAgIHRoaXMudGVhY2hlciA9IGlzVGVhY2hlcjtcbiAgICAgICAgdGhpcy5ob3N0ID0gaXNIb3N0O1xuICAgIH1cblxuICAgIHB1YmxpYyBuZXR3b3JrU2VyaWFsaXplKHN0cmVhbTogQmluYXJ5U3RyZWFtKTogdm9pZCB7XG4gICAgICAgIHN0cmVhbS53cml0ZVZhckxvbmcodGhpcy5nZXRSdW50aW1lSWQoKSEpO1xuICAgICAgICBOZXR3b3JrVXRpbC53cml0ZVN0cmluZyhzdHJlYW0sIHRoaXMuZ2V0TmFtZSgpISk7XG4gICAgICAgIE5ldHdvcmtVdGlsLndyaXRlU3RyaW5nKHN0cmVhbSwgdGhpcy5nZXRYVUlEKCkhKTtcbiAgICAgICAgTmV0d29ya1V0aWwud3JpdGVTdHJpbmcoc3RyZWFtLCB0aGlzLmdldFBsYXRmb3JtQ2hhdElkKCkhKTtcbiAgICAgICAgc3RyZWFtLndyaXRlSW50TEUodGhpcy5nZXRCdWlsZFBsYXRmb3JtKCkhKTtcbiAgICAgICAgdGhpcy5nZXRTa2luKCkhLm5ldHdvcmtTZXJpYWxpemUoc3RyZWFtKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmlzVGVhY2hlcigpKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbih0aGlzLmlzSG9zdCgpKTtcbiAgICAgICAgc3RyZWFtLndyaXRlQm9vbGVhbihmYWxzZSk7IC8vIGlzIHN1YiBjbGllbnRcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VVVJRCgpOiBVVUlEIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXVpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UnVudGltZUlkKCk6IGJpZ2ludCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5ydW50aW1lSWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFhVSUQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueHVpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGxhdGZvcm1DaGF0SWQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXRmb3JtQ2hhdElkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRCdWlsZFBsYXRmb3JtKCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZFBsYXRmb3JtO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTa2luKCk6IFNraW4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2tpbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUZWFjaGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50ZWFjaGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0hvc3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3Q7XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBQbGF5ZXJMaXN0QWN0aW9uIHtcbiAgICBUWVBFX0FERCxcbiAgICBUWVBFX1JFTU9WRVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQbGF5ZXJMaXN0UGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLlBsYXllckxpc3RQYWNrZXQ7XG5cbiAgICBwdWJsaWMgZW50cmllczogUGxheWVyTGlzdEVudHJ5W10gPSBbXTtcbiAgICBwdWJsaWMgdHlwZSE6IG51bWJlcjtcblxuICAgIHB1YmxpYyBlbmNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlQnl0ZSh0aGlzLnR5cGUpO1xuICAgICAgICB0aGlzLndyaXRlVW5zaWduZWRWYXJJbnQodGhpcy5lbnRyaWVzLmxlbmd0aCk7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgdGhpcy5lbnRyaWVzKSB7XG4gICAgICAgICAgICBlbnRyeS5nZXRVVUlEKCkubmV0d29ya1NlcmlhbGl6ZSh0aGlzKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gUGxheWVyTGlzdEFjdGlvbi5UWVBFX0FERCkge1xuICAgICAgICAgICAgICAgIGVudHJ5Lm5ldHdvcmtTZXJpYWxpemUodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSBQbGF5ZXJMaXN0QWN0aW9uLlRZUEVfQUREKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZW50cmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCb29sZWFuKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIk5ldHdvcmtVdGlsIiwiUGxheWVyTGlzdEFjdGlvbiIsIkRhdGFQYWNrZXQiLCJJZGVudGlmaWVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQk8sTUFBTSxlQUFnQixDQUFBO0FBQUEsRUFDUixJQUFBO0FBQUEsRUFDQSxTQUFBO0FBQUEsRUFDQSxJQUFBO0FBQUEsRUFDQSxJQUFBO0FBQUEsRUFDQSxjQUFBO0FBQUEsRUFDQSxhQUFBO0FBQUEsRUFDQSxJQUFBO0FBQUEsRUFDQSxPQUFBO0FBQUEsRUFDQSxJQUFBO0FBQUEsRUFFVixXQUFZLENBQUE7QUFBQSxJQUNmLElBQUE7QUFBQSxJQUNBLFNBQUE7QUFBQSxJQUNBLElBQUE7QUFBQSxJQUNBLElBQU8sR0FBQSxFQUFBO0FBQUEsSUFDUCxjQUFBO0FBQUEsSUFDQSxhQUFBO0FBQUEsSUFDQSxJQUFBO0FBQUEsSUFDQSxTQUFZLEdBQUEsSUFBQTtBQUFBLElBQ1osTUFBUyxHQUFBO0FBQUEsR0FDTSxFQUFBO0FBQ2YsSUFBQSxJQUFBLENBQUssSUFBTyxHQUFBLElBQUE7QUFDWixJQUFBLElBQUEsQ0FBSyxZQUFZLFNBQWEsSUFBQSxJQUFBO0FBQzlCLElBQUEsSUFBQSxDQUFLLE9BQU8sSUFBUSxJQUFBLElBQUE7QUFDcEIsSUFBQSxJQUFBLENBQUssSUFBTyxHQUFBLElBQUE7QUFDWixJQUFBLElBQUEsQ0FBSyxpQkFBaUIsY0FBa0IsSUFBQSxJQUFBO0FBQ3hDLElBQUEsSUFBQSxDQUFLLGdCQUFnQixhQUFpQixJQUFBLElB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