@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
109 lines (104 loc) • 11.6 kB
JavaScript
'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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