UNPKG

craftping

Version:

A universal ping/query library for Minecraft servers.

51 lines (44 loc) 1.08 kB
import ModernJavaPacket from "./ModernJavaPacket.js"; import JsonStatus from "../../../JavaPing/Status/JsonStatus/JsonStatus.js"; import ProtocolError from "../../../Error/ProtocolError.js"; export default class StatusResponse extends ModernJavaPacket { /** @type {JsonStatus} */ status; /** * @return {JsonStatus} */ getStatus() { return this.status; } /** * @param {JsonStatus} status * @return {this} */ setStatus(status) { this.status = status; return this; } /** * @inheritDoc */ getPacketId() { return 0; } /** * @inheritDoc */ readPayload(data) { let string = this.readString(data, 0)[0]; try { this.status = JsonStatus.fromJson(JSON.parse(string)); } catch (e) { throw new ProtocolError("Failed to parse JSON status: " + e.message); } return this; } /** * @inheritDoc */ writePayload() { return this.encodeString(JSON.stringify(this.status)); } }