@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
24 lines (21 loc) • 2.67 kB
JavaScript
import { NetworkUtil } from '../NetworkUtil.es.js';
import Identifiers from '../Identifiers.es.js';
import DataPacket from './DataPacket.es.js';
class DisconnectPacket extends DataPacket {
static NetID = Identifiers.DisconnectPacket;
reason;
skipMessage;
message;
encodePayload() {
this.writeVarInt(this.reason);
this.writeBoolean(this.skipMessage);
if (!this.skipMessage) NetworkUtil.writeString(this, this.message);
}
decodePayload() {
this.reason = this.readVarInt();
this.skipMessage = this.readBoolean();
if (!this.skipMessage) this.message = NetworkUtil.readString(this);
}
}
export { DisconnectPacket as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzY29ubmVjdFBhY2tldC5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25ldHdvcmsvcGFja2V0L0Rpc2Nvbm5lY3RQYWNrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV0d29ya1V0aWwgfSBmcm9tICcuLi8uLi9uZXR3b3JrL05ldHdvcmtVdGlsJztcbmltcG9ydCBJZGVudGlmaWVycyBmcm9tICcuLi9JZGVudGlmaWVycyc7XG5pbXBvcnQgRGF0YVBhY2tldCBmcm9tICcuL0RhdGFQYWNrZXQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXNjb25uZWN0UGFja2V0IGV4dGVuZHMgRGF0YVBhY2tldCB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLkRpc2Nvbm5lY3RQYWNrZXQ7XG5cbiAgICBwdWJsaWMgcmVhc29uITogbnVtYmVyO1xuICAgIHB1YmxpYyBza2lwTWVzc2FnZSE6IGJvb2xlYW47XG4gICAgcHVibGljIG1lc3NhZ2UhOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVZhckludCh0aGlzLnJlYXNvbik7XG4gICAgICAgIHRoaXMud3JpdGVCb29sZWFuKHRoaXMuc2tpcE1lc3NhZ2UpO1xuXG4gICAgICAgIGlmICghdGhpcy5za2lwTWVzc2FnZSkgTmV0d29ya1V0aWwud3JpdGVTdHJpbmcodGhpcywgdGhpcy5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVjb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWFzb24gPSB0aGlzLnJlYWRWYXJJbnQoKTtcbiAgICAgICAgdGhpcy5za2lwTWVzc2FnZSA9IHRoaXMucmVhZEJvb2xlYW4oKTtcblxuICAgICAgICBpZiAoIXRoaXMuc2tpcE1lc3NhZ2UpIHRoaXMubWVzc2FnZSA9IE5ldHdvcmtVdGlsLnJlYWRTdHJpbmcodGhpcyk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxNQUFxQix5QkFBeUIsVUFBVyxDQUFBO0FBQUEsRUFDckQsT0FBYyxRQUFRLFdBQVksQ0FBQSxnQkFBQTtBQUFBLEVBRTNCLE1BQUE7QUFBQSxFQUNBLFdBQUE7QUFBQSxFQUNBLE9BQUE7QUFBQSxFQUVBLGFBQXNCLEdBQUE7QUFDekIsSUFBSyxJQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssTUFBTSxDQUFBO0FBQzVCLElBQUssSUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLFdBQVcsQ0FBQTtBQUVsQyxJQUFBLElBQUksQ0FBQyxJQUFLLENBQUEsV0FBQSxjQUF5QixXQUFZLENBQUEsSUFBQSxFQUFNLEtBQUssT0FBTyxDQUFBO0FBQUE7QUFDckUsRUFFTyxhQUFzQixHQUFBO0FBQ3pCLElBQUssSUFBQSxDQUFBLE1BQUEsR0FBUyxLQUFLLFVBQVcsRUFBQTtBQUM5QixJQUFLLElBQUEsQ0FBQSxXQUFBLEdBQWMsS0FBSyxXQUFZLEVBQUE7QUFFcEMsSUFBQSxJQUFJLENBQUMsSUFBSyxDQUFBLFdBQUEsT0FBa0IsT0FBVSxHQUFBLFdBQUEsQ0FBWSxXQUFXLElBQUksQ0FBQTtBQUFBO0FBRXpFOzs7OyJ9